Dizine erişemiyorum Grup üyesiyim


11

Web sunucumda , Apache'nin erişebilmesi için izin drwxrwxr--ve user: grubuna sahip bir 'www' root:www-datadizinim var.

Şimdi hesabımı www-data grubuna ekledim

sudo usermod -g www-data myuser

ve eğer groupso www-datazaman onlar arasındaysa, ama içine cd koymaya çalıştığımda 'İzin reddedildi' alırım.

Kullanıcıyı 'kullanıcım' olarak değiştirir veya grubu üyesi olduğum başka bir gruba ayarlarsam, içeri girebilirim.

Bir şey mi kaçırıyorum?

Yanıtlar:


14

İşleminizin oturum açma zamanında grup listesi ayarlandığından, değişikliğin geçerli olması için tekrar giriş yapmanız gerekir.

Ben de www-databirincil grubundan ziyade tamamlayıcı bir grup olarak eklemenizi öneririm (bu sadece üyesi olduğunuz bir gruba ayarlanır. Bunu aşağıdaki komutlarla yapabilmeniz gerekir:

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

Oluşturduğunuz dosyaların www-datagrubun diğer üyeleri tarafından okunmasını istiyorsanız , umask'ınızı buna göre ayarlayın:

umask 002

Birincil grup üyeliğiniz kişisel bir grup olduğundan, bu, oluşturduğunuz dosyaların güvenliğini etkilememelidir.

Ayrıca, setgiddosyalar oluşturacağınız dizinlerde biti ayarlamaya değer : bu, dosyaların üst dizinin grup sahipliğini devralmasına neden olur:

chmod g+s www/

1
giriş tekrar hile yaptı, çok aptalca. Ayrıca çok yararlı serverfault.com/questions/6895/…
dazz

Dazz'dan bahsettiğiniz için teşekkürler. Neden benim için işe yaramadığını anlamadım xD. Şimdi huzur içinde dinlenebiliyorum.
f4der

0

Benim için bu hatayla sonuçlanan farklı bir şeydi

iki farklı kullanıcı kimliği ile aynı kullanıcı adı

Kullanıcı "apache" yerel olarak UID = 123 ve aynı adı ("apache") ama farklı UID = 456 ile NIS dizininde yapılandırılmış var. Başlangıç ​​sırasına ve hizmet bağımlılığına bağlı olarak, NIS kullanıcısı kullanılabilir olmadan önce yerel kullanıcı kullanılabilir. Bu ayrıca, kullanıcı adlarını görüntülediğinizde, kafa karıştırıcı olacağı, her ikisinin de "apache" olarak görüneceği anlamına gelir. Yalnızca sayısal UID'lere baktığınızda (örneğin yaparak ls -lnfarkı göreceksiniz. Örnek: [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 bkz. UID dosya2 için farklıdır (123 yerine 456): [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

Apache config'te tanımlanan farklı grup

Kullanıcı uyumsuzluğu ve sonuç izin hatası ile ilgili bir başka sorun, "httpd" grubunu kullanarak dosyalara erişimi kısıtlarken oldu. Bu, "apache" kullanıcısının ( idveya kullanılarak görüntülenen getent) birincil grubuydu Apache kök olarak başlar, ardından yapılandırılmış kullanıcıya geçer ve izin verilmez. Kullanıcı bu tanımlanır geçer /etc/httpd/conf/httpd.confgöre Userparametre. İşte sorun - işlemin çalışacağı grup (GID) o kullanıcının birincil grubu DEĞİLDİR . Grup, aynı yapılandırma dosyasında Groupparametreye göre tanımlanır.

Yani benim durumumda ( /etc/httpd/conf/httpd.conf ): User apache Group apache

Ve dizine şu şekilde erişim izni verildi: drwxr-x--- 4 someuser httpd 88 May 31 17:12 mydir

Httpd (GID = 444) bu kullanıcının birincil grubu olduğu için: [root@somemachine]# id apache uid=48(apache) gid=444(httpd) groups=444(httpd)

Ben Groupyapılandırma dosyasında "httpd" değil "apache" olduğunu fark edene kadar hata ayıklama bir süre ile sonuçlandı .

/ Var / log / httpd / error_log hatası : [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

Umarım bu yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.