Odmowa zezwolenia, ale uprawnienia grupy wyglądają dobrze na redhat

11

Mam użytkownika ftpadmin:

-bash-3.2$ id ftpadmin
uid=10001(ftpadmin) gid=2525(fsg) groups=2525(fsg),10005(git)

Ważną grupą do odnotowania jest „git”

Następnie mam moje repozytorium git:

ls -al
drwxrwxr-x   7 git      git          4096 Apr 20 14:17 fsg

Tak więc ftpadmin jest członkiem git, a git udzielił wszystkich uprawnień osobom w grupie. Dlaczego widzę to, gdy loguję się jako ftpadmin:

-bash-3.2$ ls -al /home/git/
ls: /home/git/fsg: Permission denied
...

Wygląda na to, że powinienem mieć pozwolenie ...

Aktualizacja Uprawnienia na / home / git to

drwxrw-rw-   6 git      git          4096 Apr 26 09:20 git

nadal wygląda dobrze ...

Zaktualizuj Nowe uprawnienia w katalogu / home / git to:

drwxrwxrw-   6 git      git          4096 Apr 26 09:20 git

Uprawnienia do / home / git / fsg to:

drwxrwxr-x   7 git      git          4096 Apr 20 14:17 fsg

Jednak nadal dostaję

ls: /home/git/fsg: Permission denied
ls: /home/git/fsg: Permission denied
Tony
źródło
1
Jakie są uprawnienia /home/git?
Zoredache,
drwxrw-rw- 6 git git 4096 26 kwietnia 09:20 git
Tony
powinno być, drwxrwxr-xjeśli chcesz, aby był tylko do odczytu dla członków spoza grupy, ale może być zmieniany przez członków grupy; powinno być, drwxrwx---jeśli chcesz, aby w niej byli tylko członkowie grupy.
Avery Payne
4
Potrzebny jest bit „x” grupy w katalogu, aby umożliwić wyszukiwanie grup . Uprawnienia „rw-” zezwalają na otwieranie pliku o nazwie jego (r) lub tworzenie pliku (w), ale nie na liście ani przeszukiwaniu plików (x).
mpez0
nie działało zobacz moją najnowszą aktualizację
Tony

Odpowiedzi:

9

Chciał dać mpez0 +1, za swoją odpowiedź: „Aby ustawić wyszukiwanie grup, musisz ustawić bit grupy„ x ”. Uprawnienia„ rw- ”pozwalają na otwarcie pliku o nazwie (r) lub utworzenie pliku (w), ale nie wyświetla listy ani nie wyszukuje plików (x). ”

Tak łatwo zapomnieć, a jego rozwiązanie jest zakopane w środku. Jest to z pewnością problem dla nowych użytkowników Linuksa w odniesieniu do uprawnień do plików / katalogów dla użytkowników i grup.

Wszystko, co powiedziała Avery, dotyczyło pieniędzy, znowu chciałbym dać ci +1.

Zrozum, że inny bardziej szczegółowy przykład może pomóc nowym użytkownikom Linuksa ( nie szukając żadnego kredytu, po prostu dając inny przykład dla przejrzystości ). Na własnym komputerze chciałem utworzyć dodatkowego użytkownika dla konkretnego projektu programistycznego. Testowałem niektóre problemy SSH, SFTP między moim komputerem a serwerem znajdującym się w sieci w Internecie. Otrzymałem ten sam błąd „Odmowa zezwolenia” po skonfigurowaniu wszystkiego ... i tak, wyglądało to poprawnie, z wyjątkiem problemu wyszukiwania opartego na uprawnieniach innych wskazanych przez mpez0.

Uwaga: W przypadku nowych użytkowników systemu Linux uprawnienia to odpowiednio użytkownik, grupa, inny lub rwx, rwx, rwx i będą wyglądać następująco

drwxr-xr--   

user has read + write + execute, rwx 
group has only read and execute, r-x
other has only read acces r--

W przypadku „innych” przypomniano nam, że NIE wystarcza, aby znaleźć / wyszukać katalog, a tym samym komunikat o błędzie.

Oto, co zrobiłem (napotkałem komunikat o błędzie w kroku 6)

1) utworzył użytkownika, hoiuser (aby zobaczyć informacje o użytkowniku, możesz użyć finger cmd, „finger hoiuser” lub przeczytać plik „cat / etc / passwd”)

2) utworzył grupę, hoidevs (dodał użytkownika „hoiuser” do grupy)

root@zareason-breeze:/etc# cat group | grep hoidevs 
hoidevs:x:1010:userz,hoiuser 

Pamiętaj, że musisz się wylogować i zalogować ponownie, aby nowe uprawnienia „grupowe” zostały powiązane z identyfikatorem konta.

3) chgrp hoidevs dla katalogu / home / userz / data / Sites / hoi i utworzył miejsce na pliki

hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x  4 userz hoidevs  4096 2012-02-27 13:34 ./
drwxr-xr-x  2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

4) Otworzył okno terminala, użytkownik userz był aktywny

5) su - hoiuser (przełączony na hoiuser użytkownika)

6) Próbowano wykonać cd / home / userz / data / Sites

hoiuser@zareason-breeze:/home/userz/data$ cd Sites
-su: cd: Sites: Permission denied    (voila, the problem)


userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr--  11 userz userz  4096 2012-02-24 16:20 ./
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/

7) Zmieniono uprawnienia do witryn

userz@zareason-breeze:~/data/Sites$ chmod 755 .
userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr-x  11 userz userz  4096 2012-02-24 16:20 ./

I problem z voila naprawiony ... oto dowód

hoiuser@zareason-breeze:/home/userz/data$ id
uid=1009(hoiuser) gid=1009(hoiuser) groups=1009(hoiuser),1010(hoidevs)

hoiuser@zareason-breeze:/home/userz/data$ cd Sites        (<- yea no error message)
hoiuser@zareason-breeze:/home/userz/data/Sites$ cd hoi
hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x  4 userz hoidevs  4096 2012-02-27 13:34 ./
drwxr-xr-x 11 userz userz 4096 2012-02-24 16:20 ../
drwxr-xr-x  2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

Nawet my doświadczeni użytkownicy Linuksa / Unixa potrzebują od czasu do czasu przypomnienia.

Jak już wspomniano, nie wystarczy po prostu nadać odpowiednie uprawnienia do katalogu, w którym znajdują się pliki, należy również upewnić się, że wszystkie katalogi prowadzące do tego katalogu mają odpowiednie uprawnienia, zwłaszcza możliwość „innych” do „szukaj” i poszukaj katalogu i plików. Mało intuicyjne, gdy x oznacza wykonanie, prawda.

Moja struktura podkatalogów to: / home / userz / data / Sites / hoi / html /

Zaczynając od domu

userz@zareason-breeze:~$ pwd
/home

To była moja struktura katalogów PRZED chmod

drwxr-xr-x  13 root root     4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz    20480 2012-02-26 16:08 data/
drwxr-xr--  11 userz userz     4096 2012-02-24 16:20 Sites/    (<-- Do you see it, other is r--)
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

To była moja struktura katalogów PO chmod

drwxr-xr-x  13 root root     4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz    20480 2012-02-26 16:08 data/
drwxr-xr-x  11 userz userz     4096 2012-02-24 16:20 Sites/      (<-- Fixed by the chmod > 755 ., now r-x)
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

Zauważ, że jedyną zmianą były uprawnienia rx dla „innych” dla katalogu „Witryny”. Mam nadzieję, że to pomaga innym, było to dla mnie dobre odświeżenie.

CBPHP
źródło
3
Miałem podobny problem na FreeBSD i OpenBSD. Kluczem była dla mnie ta część: pamiętaj, że musisz się wylogować i zalogować ponownie, aby nowe uprawnienia „grupy” zostały powiązane z identyfikatorem konta. Rzeczywiście, dokumentacja FreeBSD stwierdza: `-G grouplist ... zmiany członkostwa w grupach nie obowiązują dla bieżących sesji logowania użytkownika, wymagając od nich zmiany połączenia.
iboisver
6

Aby uzyskać dostęp do pliku, musisz mieć uprawnienia do katalogu zawierającego plik. Jakie są uprawnienia na / home / git? (tak, Zoredache, dałem ci +1 za wskazanie tego)


Kontynuacja: Musisz ustawić bit wykonawczy (x) dla grupy, aby ta grupa mogła wejść do katalogu. Potraktuj to jako przybliżony analogiczny do ustawienia „Traverse Directory” systemu Windows. Bez niego dostęp zostanie zablokowany dla grupy. Jeśli jesteś zdesperowany, możesz:

chmod g+x /home/git
chmod g+x /home/git/fsg

Spróbuj wykonać następujące czynności i opublikować wiadomość od każdego z nich:

cd /home
cd /home/git
cd /home/git/fsg

Każdy z nich powinien być dostępny przez ftpadmin. Jeśli któryś z nich nie jest , powstrzyma cię przed wejściem /home/git/fsg.

Avery Payne
źródło
drwxrw-rw- 6 git git 4096 26 kwietnia 09:20 git
Tony
ma sens, wciąż dostaję odmowę zgody na / home / git / fsg, którą jest drwxrwxr-x 7 git git 4096 20 kwietnia 14:17 fsg
Tony
i czy na tym ostatnim „odmowie zezwolenia” ustawiony jest bit wykonywany przez grupę? Nie ma znaczenia, czy masz pozwolenie na dziecko, jeśli rodzic również nie ma pozwolenia.
Avery Payne
Sprawdź moją najnowszą aktualizację. Umieszczam tam uprawnienia i ustawiony jest bit grupy-exec
Tony
Widzę, że masz wyników dla /home/gita /home/git/fsgjednak jakie były wyniki dla /home?
Avery Payne
4

Po zmianie grup użytkownika X poprzez dostęp roota, musisz się wylogować i zalogować ponownie z tym użytkownikiem X, w przeciwnym razie nowe grupy nie będą brane pod uwagę

Marco Marsala
źródło
3

Spróbuj zalogować się ponownie lub uruchomić, su - ftpadminaby zalogować się w bieżącej powłoce. Ponieważ grupy są ustawiane podczas logowania, może być tak, że dodałeś taki a taki do grupy, ale stare ustawienia grupy są nadal używane.

erjiang
źródło