Non riesco ad accedere alla directory di cui sono membro del gruppo


9

Sul mio server web ho una directory 'www' che ha i permessi drwxrwxr--e user: group in root:www-datamodo che Apache possa accedervi.

Ora ho aggiunto il mio account al gruppo www-data con

sudo usermod -g www-data myuser

e se lo faccio groupsallora www-dataè tra questi, ma quando provo semplicemente a inserirlo in esso ottengo "Autorizzazione negata".

Se cambio l'utente su "mioutente" o imposto il gruppo su un altro gruppo di cui sono membro, posso entrare.

Mi sto perdendo qualcosa?

Risposte:


14

Il processo ha un elenco di gruppi impostato al momento dell'accesso, quindi è necessario accedere nuovamente per rendere effettive le modifiche.

Suggerirei inoltre di aggiungere www-datacome gruppo supplementare anziché quello principale (che è impostato su un gruppo di cui solo tu sei membro. Dovresti essere in grado di farlo con i seguenti comandi:

# Reset to your original primary group
sudo usermod -g myuser myuser
# Add an extra supplementary group
sudo usermod --append -G www-data group

Se vuoi che i file che crei siano leggibili dagli altri membri del www-datagruppo, regola di conseguenza la tua umask:

umask 002

Poiché l'appartenenza al gruppo principale è un gruppo personale, ciò non dovrebbe influire sulla sicurezza dei file creati.

Vale anche la pena impostare il setgidbit sulle directory in cui creerai i file: questo farà sì che i file ereditino la proprietà del gruppo della directory padre:

chmod g+s www/

1
accedi di nuovo ha fatto il trucco, così stupido. Molto utile anche serverfault.com/questions/6895/…
dazz,

Grazie per aver detto che Dazz. Non ho mai capito perché non funzionasse per me xD. Ora posso riposare in pace.
f4der,

0

Per me è stata una cosa diversa con questo errore

stesso nome utente con due UID diversi

Ho utente "apache" configurato localmente con UID = 123 e nella directory NIS con lo stesso nome ("apache") ma UID diverso = 456. A seconda dell'ordine di avvio e della dipendenza dal servizio, l'utente locale potrebbe essere utilizzato prima che l'utente NIS sia disponibile. Ciò significa anche che, quando visualizzi i nomi utente, questo sarà confuso, entrambi appariranno come "apache". Solo quando guardi gli UID numerici (ad esempio ls -ln, vedrai la differenza. Esempio: [root@mymachine]# ls -l drwxr-x--- 4 apache ggg1 88 May 31 17:12 file1 drwxr-x--- 4 apache ppp2 88 May 31 17:12 file2 vedi l'UID è diverso per file2 (456 anziché 123): [root@mymachine]# ls -ln drwxr-x--- 4 123 48 88 May 31 17:12 file1 drwxr-x--- 4 456 48 88 May 31 17:12 file2

gruppo diverso definito nella configurazione di Apache

Un altro problema che ho riscontrato con la mancata corrispondenza dell'utente e il conseguente errore di autorizzazione era quando limitavo l'accesso ai file utilizzando il gruppo "httpd". Questo era il gruppo principale dell'utente "apache" (che veniva visualizzato usando ido getent) Apache inizia come root, quindi passa all'utente configurato e rilascia l'autorizzazione. L'utente a cui passa viene definito /etc/httpd/conf/httpd.confdal Userparametro. Ecco il problema però: il gruppo (GID) su cui verrà eseguito il processo NON è il gruppo primario di quell'utente. Il gruppo è definito nello stesso file di configurazione per Groupparametro.

Quindi nel mio caso era ( /etc/httpd/conf/httpd.conf ): User apache Group apache

E alla directory è stato concesso l'accesso in questo modo: drwxr-x--- 4 someuser httpd 88 May 31 17:12 mydir

Perché httpd (GID = 444) era il gruppo principale di quell'utente: [root@somemachine]# id apache uid=48(apache) gid=444(httpd) groups=444(httpd)

Il risultato è stato un po 'di tempo dedicato al debug fino a quando ho capito che Groupnel file di configurazione era "apache" e non "httpd".

Errore da / var / log / httpd / error_log : [Fri May 31 17:13:40.070343 2019] [authz_core:debug] [pid 2527] mod_authz_core.c(809): [client 11.22.32.21:53824] AH01626: authorization result of Require all granted: granted [Fri May 31 17:13:40.070367 2019] [authz_core:debug] [pid 2527] mod_authz_core.c(809): [client 11.22.32.21:53824] AH01626: authorization result of <RequireAny>: granted [Fri May 31 17:13:40.070396 2019] [core:error] [pid 2527] (13)Permission denied: [client 11.22.32.21:53824] AH00132: file permissions deny server access: /var/www/html/somedir/otherdir/css/file1.txt

Spero che questo possa essere d'aiuto.

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.