# nagly problem z logowaniem jako zwykly user

## yemu

witam

mam problem - nie moge zalogowac sie jako zwykly uzytkownik...dostaje komunikat, ze nie mam wlasnego katalogu /home/yemu... katalog oczywiscie istnieje, i jako root widze go bez problemowo - nie zmienialem tez nic w prawach dostepu do partycji home ani mojego katalogu. problem pojawil sie nagle - wygladalo to tak, ze nagle gnome zawiesil sie - znikly wszystkie ikony z guzikow i nie dalo sie nic zrobic ani go wylaczyc, a po restarcie nie moglem sie juz zalogowac. nie wiem czy to ma jakis zwiazek, ale nie jestem rowniez w stanie uruchomic gdm - po wystartowaniu go jako root dostaje blad, ze /var/gdm nie istnieje, co oczywiscie nie jest prawda...

partycje sprawdzilem fsck obie (/ i /home) sa bezbłędów. moge jeszcze dodac ze problem wystepuja na roznych wersjach jadra.

bede wdzieczny za pomoc, bo jesli nie zaradze czegos na ten problem to czeka mnie reinstalacja systemu, a tego chcialbym uniknac

pozdrawiam

y

----------

## yonami

Możesz zalogować się w konsoli na swojego usera?

Pytam bo nie można wywnioskować czy robisz to w konsoli czy z braku laku nie odpalasz przypadkiem kdm'a czy xdm'a.

----------

## yemu

sorki moze niedokladnie sie wyslowilem  :Smile:  nie moge sie zalogowac w konsoli tekstowej - nie odpalam aktualnie X'ow, gdm'a ani nic takiego. 

problem wydaje sie byc spowodowany jakimis problemami z uprawnieniami do odpalenia /bin/bash przy starcie. np gdy jako root dam 

```
su yemu
```

 to dostaje /bin/bash permission denied - uprawnienia pliku /bin/bash sa oczywiscie w porzadku...nic z tego nie rozumiem...

help!

y

----------

## yonami

Dostęp do Basha mają tylko Ci którzy są w grupie users.

Sprawdź jakich grup jesteś członkiem. Może Ci się usunęło.

Zrób nowego użytkownika i spróbuj się na niego zalogować - powiesz nam wtedy czy to problem z kontem czy systemem  :Razz: 

Dopóki ktoś kto zna taki przypadek się nie zjawi to krok po kroku pozbieramy informacje. 

Na koniec słowotok

 *Quote:*   

> 
> 
> Inna sprawa, jakie masz uprawnienia na /bin/bash? Kiedyś mi się zastąpiły w jakiś sposób cyferki na początku i tylko root miał uprawnienia do pożądanej przeze mnie gałęzi /opt. Reszta widziała katalogi i pliki jako x-oxcet-stream.
> 
> Ponadto coś w kernelu jest nie ten tego chyba, bo mi czasem też sie dziwne jaja dzieją. Czasem jak odpalasz program jako root, to zadamawia sesię w Twoim home. Zdarzyło mi się w Gentoo 2 razy. Czyli to baaaardzo rzadki błąd. Ale potem sie nie zalogujesz bez przywracania uprawnień.
> ...

 

Edit by Poe

ort x2!  

----------

## Aktyn

Był kiedyś człowiek co sie pół dnia upierał że prawa ma OK (sie okazało że nie bardzo), ale zakładam że są OK. W pliku z grupami też.

A co zrobi coś takiego jeżeli  masz tam sh u siebie:

```
su -s /bin/sh - yemu
```

albo potem

```
su -s /bin/bash - yemu
```

----------

## yemu

 *Aktyn wrote:*   

> Był kiedyś człowiek co sie pół dnia upierał że prawa ma OK (sie okazało że nie bardzo), ale zakładam że są OK. W pliku z grupami też.
> 
> A co zrobi coś takiego jeżeli  masz tam sh u siebie:
> 
> ```
> ...

 

jak wykonam ktoras z powyzszych komend to w zasadzie nie dzieje sie nic...nie wywala zadnego bledu, nie zmienia sie znak zachety a id pokazuje, ze ciagle jestem zalogowany jako root (z tym ze w nowej powloce, jak dam exit to wracam do poprzedniej sesji).

prawa do /bin/bash sa ustawione na --rwxr-xr-x

co do userow, to nie dziala dla wszystkich zwyklych uzytkownikow. nie dziala tez dla nowo utworzonego (login: no shell - permissions denied). nie pomaga takze zemergowanie basha

nie jest to tez problem z partycja /home, bo jak odmontuje ja i utworze katalog /home/yemu na partycji / to tez nie dziala

y

----------

## yonami

Możesz podać te same uprawnienia ale w liczbach?

Bo spotkałem się (jak wspomniałem wcześniej) z sytuacją, kiedy uprawnienia literkowe były identyczne jak wszędzie, a cyferkowe zaczynały się bodajrze od 61. A winny od 12. Przerabiałem to MC, bo jakoś chmodem nie chciało ruszyć - pewnie parametry jakieś trza było dodać. Po ustawieniu pierwszy cyferek na 12 userzy mogli dostać się do katalogów i plików.

----------

## yemu

 *yonami wrote:*   

> Możesz podać te same uprawnienia ale w liczbach?
> 
> Bo spotkałem się (jak wspomniałem wcześniej) z sytuacją, kiedy uprawnienia literkowe były identyczne jak wszędzie, a cyferkowe zaczynały się bodajrze od 61. A winny od 12. Przerabiałem to MC, bo jakoś chmodem nie chciało ruszyć - pewnie parametry jakieś trza było dodać. Po ustawieniu pierwszy cyferek na 12 userzy mogli dostać się do katalogów i plików.

 

niestety w zwiazku z tym ze nie dziala mi gentoo siedze w windows  :Sad: , ale z tego co pamietam to cyferkowo uprawnienia sa 100755 (do wszystkich plikow w /bin i /usr/bin)

----------

## Aktyn

 *yemu wrote:*   

> jak wykonam ktoras z powyzszych komend to w zasadzie nie dzieje sie nic...nie wywala zadnego bledu, nie zmienia sie znak zachety a id pokazuje, ze ciagle jestem zalogowany jako root (z tym ze w nowej powloce, jak dam exit to wracam do poprzedniej sesji).

 

Skoro jesteś w nowej powłoce, czyli prawa pliku bash oraz sh, mogą nie mieć znaczenia.

Problemem wydaje się samo logowanie. Bądź problem z właściwym plikiem /etc/passwd

może przeemerguj sys-apps/shadow

Robiłeś jakieś updaty? Co pokazuje ls -l /bin/su? jakiego używasz systemu plików? Prawa w katalogach /bin?

Może zmień ręcznie na jakieś inne, przywróć potem poprawne, trzeba szukać.

----------

## qermit

 *Aktyn wrote:*   

> może przeemerguj sys-apps/shadow

 czy sys-apps/shadow nie zostało przypadkiem zastąpione przez sys-apps/pam-login.

może coś zmieniałeś w katalogach, albo nie zmieniłeś - etc-update:

- /etc/pam.d/

- /etc/security/

a może masz jakiegoś selinux'a

----------

## Aktyn

 *yonami wrote:*   

> Dostęp do Basha mają tylko Ci którzy są w grupie users.

 

Sprawdzałeś? u mnie user który nie należy do żadnej grupy, może używać programów z /bin, nie tylko basha

 *qermit wrote:*   

> czy sys-apps/shadow nie zostało przypadkiem zastąpione przez sys-apps/pam-login. 

 

W sumie mam obydwa, ale przyszło mi to do głowy, jak już neta nie miałem

Z czego su należy do shadow, a login do pam-login, szczegółow dokładniejszych nie znam.

@yemu:

a możesz zrobić 

```
login -p yemu
```

pewnie nie   :Question: 

----------

## yemu

dzieki wszystkim za pomoc i sugestie - niestety nic nie wskórałem - ciagle jest do d...

sprawdzilem rzeczy w etc-update, rzeczywiscie w /etc/pam.d byl plik nie odswiezony. niestety zastapnienie go nowa wersja nie pomoglo

login -p yemu moge zrobic, ale nie moge wpisac hasla bo prawie od razu przeskakuje mi na wprowadzanie uzytkownika i potem znowu hasla

zaobserwowalem, ze dla roota tez nie jest wszystko dobrze - nie laduja sie aliasy ktore mam zdefiniowane dla basha, zaczynaja dzialac dopiero jak jako root wykonam bash

zemergowalem nowe wersje bash, pam-login i shadow, niestety to rowniez nie pomaga... ciagle "/bin/bash permission denied". dodalem nawet nowego usera do grupy root, ale to tez nic nie dalo.

zaczynam coraz mocniej podejrzewac ze bede musial zrobic reinstalke systemu i troche mnie to lamie

----------

## waltharius

To ja tak strzele zupełnie na chama:

plik /etc/passwd jest ok?

To już takie ostatnie co mi do głowy przyszło pomijając to wszsytko co już było wcześniej.

----------

## yemu

pytanie co to znaczy w porzadku...wyglada dobrze, uprawnienia ok, linia mojego usera wyglada tak: 

```
yemu:x:1000:100::/home/yemu:/bin/bash
```

----------

## qermit

możesz zalogować się na inną powłokę, np.: zsh ?

----------

## yemu

 *qermit wrote:*   

> możesz zalogować się na inną powłokę, np.: zsh ?

 

sorki za glupie pytanie, ale jak to mam zrobic? znaczy sie jak wybrac inna powloke?

----------

## KeyBi

Spotkałem się kiedyś z takim problemem napisz jakie masz uprawnienia do /home/ ... Najlepiej da wynik polecenia 

```
ls -l /
```

----------

## psycepa

 *yemu wrote:*   

>  *qermit wrote:*   możesz zalogować się na inną powłokę, np.: zsh ? 
> 
> sorki za glupie pytanie, ale jak to mam zrobic? znaczy sie jak wybrac inna powloke?

 

w lini komend wpisz 

```

zsh

```

powinienes dostac prompt zsh

----------

## Radioaktywny

 *yemu wrote:*   

> sorki za glupie pytanie, ale jak to mam zrobic? znaczy sie jak wybrac inna powloke?

 

Sorry za łopatologiczne wyjaśnieni:

1. Zainstaluj nową powłokę

```
emerge zsh
```

2a. Albo tworzysz nowego użytkownika z nową powłoka - zweryfikuj składnie pisze z pamięci 

```
useradd -s zsh uzytkownik
```

2b. Albo zmieniasz powłokę dla yemu 

```
chsh -s zsh yemu
```

Dla pewności przeładuj kompa aby mieć pewność, że zalogujesz się tylko pod nową powłokę.

----------

## yemu

@KeyBi

uprawnienia do /home mam 40755 czyli drwxr-xr-x

@Radioaktywny

niestety, zsh nie dziala, gdy jako root robie 

```

# su yemu

cannot execute /bin/zsh
```

aha, zauwazylem ze sytuacja zmienia sie w zaleznosci od tego czy katalogi /home i /home/yemu maja ustawione uprawnienia na 40666 czy 40755, czyli czy ustawiona jest flaga wykonywalnosci. jesli jest ustawiona do dostaje tylko "permission denied", jesli nie (40666) to nie widzi mojego katalogu i dodatkowo jeszcze czepia sie 

```
No directory, logging in with HOME=/
```

zaczynam powoli popadac w depresje, z gentoo mam do czynienia od paru lat (na poziomie uzytkownika desktopu + apache,sh,nx i pare innych rzeczy do wlasnej dyspozycji) i nigdy nie mialem takich akcji, a na paru komputerach juz w zyciu gentoo zainstalowalem (moze z 10 by sie zebralo).

chlopaki (i dziewczyny jesli jakies czytaja ten watek  :Smile: , ratujcie!

----------

## Aktyn

weź ustaw prawa do katalogu /bin na zero a potem przywróć te co były, ja mam 755, albo na próbe  :Wink:  daj 777.

Ja mam dwa podejżenia,

1 problem z prawami do plików, moze faktycznie jak sugerują co niektórzy, cos dziwnego jest czego nie widać.

2. problem z login sugeruje ze może to być też wina błędnych odczytów z /etc/shadow, login mimo wszystko powinien pobrać hasło od logującego sie usera, z jakiejś przyczyny tego nie robi, chyba że program login sprawdza sobie możliwość wykonania z /bin wcześniej i hasło już mu nie potrzebne.

albo cos skopane w plikach pam, ale nie wiem

https://forums.gentoo.org/viewtopic-p-3277479.html#3277479

Jak coś sprawdze, to jeszcze rzuce tu na forum. Ale nie bawiłem sie jeszcze niuansami tego typu wiec zobacze, czy będzie czym rzucać

 ++Uwaga rzucam

to jest plik np. user.c

```
#include <stdlib.h> 

#include <stdio.h>

#include <unistd.h>

int main ( int argc, char *argv[] )

{

setgid ( 100 );

setuid ( 1000 );

system ( "/bin/bash" );

printf ( "koniec shella\n" );

exit (0);

}
```

weż skompiluj gcc -o user user.c

po odpaleniu z roota, zobacz czy sie uruchomi shell z nowym userem. Jeśli sie uruchomi to prawa w plikach dostepowych są OK.

Możesz tam dać inna powłoka, możesz tesz dostać brzydki komunmikat o dostępie do pliku konfiguracyjnego basha. Wyjście oczywiście przez exit. Nie jest to użytkowy program tylko do testów, nie ustawia środowiska itp.

----------

## yonami

No to cofam, że tylko użytkownicy w grupie "users" mogą używać basha. Złe źródło informacji   :Very Happy: 

Ja Wam powiem, że na 100% jstem pewien, że prawa powinny być 120755 dla /bin, /home itd.

Z tym, że oczywiście $HOME na prawach 120750 z chownem na usera.

Sprawdź czy tak masz. 

Jak pisałem kiedyś te pierwsze cyferki w uprawnieniach (te niewidoczne normalnie) mi zrobiły wała. Nie wiem jak sie same zmienyły  :Razz: 

----------

## qermit

sprawdź wszystkie zmienne systemowe (a raczej szelowe) i tak dalej.

Ostatnio nie mogłem zalogować się przez kdm.

Sprawdzałeś logi systmowe? Za każdym razem powinno się coś logować.

----------

## yemu

@Aktyn

dzieki za super proga. niestety jedyne co on robi to wyswietla "koniec shella"

przestawienie praw na 0 i z powrotem na 755 tez nic nie pomaga. zeby troche rozweselic watek powiem ze bylem w pewnym momencie tak madry zeby zapodac 

```
chmod -Rv 0 /bin
```

. potem oczywiscie livecd bylo grane  :Smile: 

@yonami

jak niby mam przestawic prawa na 120755? przy probie chmod 120755 /home dostaje komunikat ze takie uprawnienia sa zle

@qermit

jakie zmienne powinienem sprawdzic i czy mozna je latwo wszystkie wylistowac (wrzucil bym tutaj).

w /var/log/syslog nic sie nie pojawia - czy mam patrzec gdzies indziej?

----------

## milu

 *yemu wrote:*   

> 
> 
> jakie zmienne powinienem sprawdzic i czy mozna je latwo wszystkie wylistowac (wrzucil bym tutaj).
> 
> w /var/log/syslog nic sie nie pojawia - czy mam patrzec gdzies indziej?

 

Wylistować można za pomocą

```
set
```

 lub 

```
export
```

Możesz jeszcze pokusić się o użycie programu strace.

Pokrótce: strace -o plik_z_logiem.txt nazwa_programu i przeglądasz loga  :Wink: 

----------

## yonami

No właśnie za pomocą chmod ustawić tego sie chyba nie da (przynajmniej bez jakiś parametrów). 

Naprawdę zielonego pojęcia nie mam jak ja to ustawiałem. Teraz patrzyłem i tylko nautilus podaje uprawnienia w ten sposób.

Może mi ktoś to wyjaśnić? 

Pliki w /home mam na 1600755 (teraz spisuje z okienka)

Pliki w /bin mam na 1200755 (teraz spisuje z okienka)

I kompletnie nie wiem jak zmienić 16 na 12 - tak dla przykładu   :Rolling Eyes: 

----------

## Aktyn

 *yemu wrote:*   

> @Aktyn
> 
> dzieki za super proga. niestety jedyne co on robi to wyswietla "koniec shella"
> 
> przestawienie praw na 0 i z powrotem na 755 tez nic nie pomaga.

 

W sumie mogłem jeszcze kody błedu dorobić to by cos może jeszcze dało, ale wygląda faktycznie na jakieś braki

Może nowy dir ?, takie coś z live_cd robisz:

```
mv bin/ bin_2/

mkdir -p bin

cp bin_2/* bin/ 
```

Nie mam niestety programu do przekopywania uprawnień.

----------

## yemu

zarzucam moje zmienne, wynik "export"

```

declare -x CLASSPATH="."

declare -x CONFIG_PROTECT="/usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/kde/3.5/share/config /usr/kde/3.5/env /usr/kde/3.5/shutdown /usr/share/config"

declare -x CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/splash"

declare -x CVS_RSH="ssh"

declare -x DCCC_PATH="/usr/lib/distcc/bin"

declare -x DISTCC_LOG=""

declare -x DISTCC_VERBOSE="0"

declare -x EDITOR="/bin/nano"

declare -x GCC_SPECS=""

declare -x GDK_USE_XFT="1"

declare -x G_BROKEN_FILENAMES="1"

declare -x G_FILENAME_ENCODING="UTF-8"

declare -x HOME="/root"

declare -x HOSTNAME="satellite"

declare -x HUSHLOGIN="FALSE"

declare -x INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.15.92.0.2/info:/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/info"

declare -x JAVA_HOME="/opt/blackdown-jre-1.4.2.03"

declare -x JRE_HOME="/opt/blackdown-jre-1.4.2.03"

declare -x KDEDIRS="/usr"

declare -x LANG="pl_PL"

declare -x LC_ALL="pl_PL"

declare -x LESS="-R"

declare -x LESSOPEN="|lesspipe.sh %s"

declare -x LIBGL_DRIVERS_PATH=":/usr/lib/xorg/modules/dri"

declare -x LOGNAME="root"

declare -x MAIL="/var/mail/root"

declare -x MANPATH="/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.15.92.0.2/man:/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/man::/opt/blackdown-jre-1.4.2.03/man:/usr/qt/3/doc/man:/opt/vmware/workstation/man"

declare -x MOZILLA_FIVE_HOME="/usr/lib/mozilla"

declare -x OLDPWD

declare -x OPENGL_PROFILE="ati"

declare -x PAGER="/usr/bin/less"

declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130:/opt/ati/bin:/opt/blackdown-jre-1.4.2.03/bin:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/NX/bin:/opt/vmware/workstation/bin"

declare -x PRELINK_PATH=""

declare -x PRELINK_PATH_MASK="/usr/lib/gstreamer-0.10:/usr/lib/gstreamer-0.8:/lib/modules:/usr/lib/locale:/usr/lib/wine:/usr/lib/valgrind:*.la:*.png:*.py:*.pl:*.pm:*.sh:*.xml:*.xslt:*.a:*.js"

declare -x PWD="/root"

declare -x PYTHONPATH="/usr/lib/portage/pym"

declare -x QMAKESPEC="linux-g++"

declare -x QTDIR="/usr/qt/3"

declare -x SANE_CONFIG_DIR="/etc/sane.d"

declare -x SHELL="/bin/bash"

declare -x SHLVL="1"

declare -x TERM="linux"

declare -x USER="root"

```

oraz wynik strace -u yemu ls

```

execve("/usr/bin/ls", ["ls"], [/* 44 vars */]) = -1 EACCES (Permission denied)

dup(2)                                  = 3

fcntl64(3, F_GETFL)                     = 0x8002 (flags O_RDWR|O_LARGEFILE)

fstat64(3, {st_mode=S_IFCHR|0600, st_rdev=makedev(4, 2), ...}) = 0

ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0

mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fc3000

_llseek(3, 0, 0xbf8f18a0, SEEK_CUR)     = -1 ESPIPE (Illegal seek)

write(3, "strace: exec: Permission denied\n", 32) = 32

close(3)                                = 0

munmap(0xb7fc3000, 4096)                = 0

exit_group(1)                           = ?

```

na moje niewprawne oko, to nie jestem w stanie jako yemu wykonac zadnego programu, w tym np. powyzej przedstawionego "ls", co oznacza ze problem raczej nie lezy w prawach do katalogu (choc niewiem, moze sie magicznie przestawily do wszystkich plikow wykonywalnych i juz).

a tak na pałe - czy moglbym sobie nadac prawa roota, tzn nadal byc yemu, ale moc wszystko co root? i ew. jak to zrobic?

ide sprawdzic jeszcze jak tam sprawa z nowym katalogiem /bin,moze to pomoze

----------

## Aktyn

sorry, coś mi sie dwa posty zrobiły

----------

## Aktyn

No prosze, ja wysilam myślenica, a strace robi co trzeba  :Smile: 

wyglada na to że do /usr/bin też nie masz dostępu, może ci sie partycja źle montuje?

Jakieś umask itp?

Masz jakies inne partycje? przekopiuj tam np. ls i zobacz czy strace -u yemy ./ls w katalogu zadziała.

Dziwne rzeczy mi po głowie chodzą   :Confused: 

Łapie to ktoś?

A do czego to służy?

```
ja@qx /etc $ ls -l /etc/ld.so.cache 

-rw-r--r--  1 root root 133873 Apr 24 23:34 ld.so.cache
```

@yemu:

jakie tam masz prawa?

----------

## yemu

dzieki wszystkim za pomoc, niestety nie bylem w stanie dojsc do tego co było przyczyna problemow, a niestety potrzebuje komputera dosc pilnie do spraw zwiazanych z praca. w zwiazku z tym sciagam juz 2006.0 i formatuje dysk.

jeszcze raz dzieki za wszystkie rady i porady - sporo sie mialem okazje nauczyc

pozdrawiam

y

----------

## Aktyn

W sumie nie podałeś jaki rodzaj parycji tam masz, tak jeszcze jestem ciekaw.

Troche szkoda że nie odpaliłes z innej prtycji tego ls. Ale nic. Komp w końcu potrzebny.

W sumie ja też sie troche nauczyłem przy okazji  :Smile: 

----------

## yemu

partycja to byl reiser. 

niestety zycie nie jest piekne i teraz dla odmiany nie moge sobie poradzic z najprostszym problemem, czyli grubem, ktory zawiesza sie bez zadnego komunikatu po wybraniu opcji bootowania z menu  :Sad:  wyglada jakby znajdowal plik kernela (nie wyswietla bledu ze go nie ma), ale potem zwiecha.

y

----------

