Autorizzazione negata ma le autorizzazioni di gruppo sembrano buone su Redhat


11

Ho un utente ftpadmin:

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

Il gruppo importante da notare è "git"

Quindi ho il mio repository git:

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

Quindi ftpadmin è membro di git e git ha concesso tutte le autorizzazioni alle persone del gruppo. Perché vedo questo quando accedo come ftpadmin:

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

Sembra che dovrei avere il permesso ...

Aggiorna Le autorizzazioni su / home / git sono

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

sembra ancora buono ...

Aggiorna Le nuove autorizzazioni su / home / git sono:

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

Le autorizzazioni su / home / git / fsg sono:

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

Tuttavia, ho ancora

ls: /home/git/fsg: Permission denied
ls: /home/git/fsg: Permission denied

1
Quali sono le autorizzazioni /home/git?
Zoredache,

drwxrw-rw- 6 git git 4096 26 apr 09:20 git
Tony

dovrebbe essere drwxrwxr-xse lo si desidera di sola lettura per i membri non di gruppo ma modificabile dai membri del gruppo; dovrebbe essere drwxrwx---se vuoi che solo i membri del gruppo siano presenti.
Avery Payne,

4
È necessario il bit di gruppo "x" impostato nella directory per consentire le ricerche di gruppo . Le autorizzazioni "rw-" consentono di aprire un file con il suo nome (r) o di creare un file (w), ma non di elencare o cercare i file (x).
mpez0,

non ha funzionato. vedi il mio ultimo aggiornamento
Tony,

Risposte:


9

Voleva dare a mpez0 un +1 in particolare, per la sua risposta "È necessario il bit di gruppo" x "impostato nella directory per consentire le ricerche di gruppo. Le autorizzazioni" rw- "consentono di aprire un file dato il suo nome (r) o di creare un file (w), ma non elencando o cercando i file (x). "

È così facile da dimenticare e la sua soluzione è sepolta nel mezzo. Questo è sicuramente un problema per i nuovi utenti Linux per quanto riguarda le autorizzazioni di file / directory per utenti e gruppi.

Tutto ciò che Avery ha detto era giusto sul denaro, vorrei ancora poterti dare un +1.

Figura un altro esempio più dettagliato potrebbe aiutare i nuovi utenti di Linux ( non cercare alcun credito, ma solo fornire un altro esempio per chiarezza ). Sul mio PC volevo creare un utente aggiuntivo per un progetto di sviluppo specifico. Stavo testando alcuni problemi SSH, SFTP tra la mia macchina e un server condiviso sul Web. Ho avuto lo stesso errore "Autorizzazione negata" dopo aver impostato tutto ... e sì, sembrava corretto tranne il problema di ricerca basato sulle autorizzazioni per altri che mpez0 ha sottolineato.

Nota: per i nuovi utenti Linux, le autorizzazioni sono rispettivamente utente, gruppo, altro o rwx, rwx, rwx e apparirebbero così

drwxr-xr--   

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

Per "altro" ci viene ricordato che NON è abbastanza per trovare / cercare la directory, quindi il messaggio di errore.

Ecco cosa ho fatto (ho riscontrato il messaggio di errore nel passaggio 6)

1) creato un utente, hoiuser (per visualizzare le informazioni sull'utente, è possibile utilizzare il dito cmd, "finger hoiuser" o leggere il file "cat / etc / passwd")

2) creato un gruppo, hoidevs (aggiunto l'utente "hoiuser" al gruppo)

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

Ricorda che devi disconnetterti e riconnetterti per le nuove autorizzazioni di "gruppo" da associare all'ID account.

3) chgrp hoidevs per directory / home / userz / data / Sites / hoi e creato un posto per i file

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) Ha aperto una finestra del terminale, l'utente userz era attivo

5) su - hoiuser (passato all'utente hoiuser)

6) Tentativo di 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) Modificate le autorizzazioni per i siti

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 ./

E il problema voilà risolto .... ecco la prova

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/

Anche noi esperti utenti Linux / Unix hanno bisogno di un promemoria di tanto in tanto.

Come è stato sottolineato, non è sufficiente fornire le autorizzazioni corrette alla directory in cui si trovano i file, è inoltre necessario assicurarsi che tutte le directory che conducono a quella directory abbiano le autorizzazioni corrette, in particolare la possibilità per "altro" di "cerca" e cerca la directory e i file. Difficilmente intuitivo quando x significa eseguire, giusto.

La mia struttura di sottodirectory era: / home / userz / data / Sites / hoi / html /

A partire da casa

userz@zareason-breeze:~$ pwd
/home

Questa era la mia struttura di directory PRIMA del 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/

Questa era la mia struttura di directory DOPO il 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/

Si noti che l'unica modifica sono state le autorizzazioni rx per "altro" per la directory "Siti". Spero che questo aiuti gli altri, è stato un buon aggiornamento per me.


3
Avevo un problema simile su FreeBSD e OpenBSD. La chiave per me era questa parte: ricorda che devi disconnetterti e riconnetterti per le nuove autorizzazioni di "gruppo" da associare all'ID account. Abbastanza sicuro, la documentazione di FreeBSD afferma: `-G grouplist ... le modifiche all'appartenenza al gruppo non hanno effetto per le sessioni di accesso dell'utente corrente, richiedendo che l'utente si riconnetta per essere influenzato dalle modifiche.
iboisver

6

È necessario disporre delle autorizzazioni per la directory che contiene il file per accedere al file. Quali sono le autorizzazioni su / home / git? (sì, Zoredache, ti ho dato un +1 per averlo sottolineato)


Follow-up: è necessario il bit di esecuzione (x) impostato per il gruppo affinché quel gruppo entri nella directory. Pensalo come un analogo approssimativo dell'impostazione "Traverse Directory" di Windows. Senza di essa, l'accesso verrà negato per il gruppo. Se sei disperato, puoi fare:

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

Prova quanto segue e pubblica il messaggio da ciascuno:

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

Ognuno di questi dovrebbe essere accessibile da ftpadmin. Se qualcuno di loro non lo è , allora ti impedirà di entrare /home/git/fsg.


drwxrw-rw- 6 git git 4096 26 apr 09:20 git
Tony

ha senso, ottengo ancora un'autorizzazione negata su / home / git / fsg che è drwxrwxr-x 7 git git 4096 20 aprile 14:17 fsg
Tony

e sull'ultimo "permesso negato", è impostato il bit di esecuzione del gruppo? Non importa se hai l'autorizzazione per il bambino se anche il genitore non ha l'autorizzazione.
Avery Payne,

Dai un'occhiata al mio ultimo aggiornamento. Ho messo le autorizzazioni lì e il bit del gruppo esecutivo è impostato
Tony,

Vedo che hai dei risultati per /home/gite /home/git/fsgma quali sono stati i risultati /home?
Avery Payne,

4

Dopo aver modificato i gruppi di un utente X tramite l'accesso root, è necessario disconnettersi e riconnettersi con tale utente X, altrimenti i nuovi gruppi non verranno presi in considerazione


3

Prova ad accedere di nuovo o su - ftpadminesegui l'accesso per accedere alla shell corrente. Poiché i gruppi vengono impostati al momento dell'accesso, è possibile che sia stato aggiunto così e così a un gruppo ma le vecchie impostazioni del gruppo vengono ancora utilizzate.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.