ACL bir dizinden nasıl çıkarılır ve normal erişim kontrolüne geri dönülür?


29

Süper kullanıcı olma yetkisine sahip olmadığımız FreeBSD 10.3 hosting sunucusunu kullanıyoruz. Sunucuyu, şirketimizin web sayfalarında apache2'yi çalıştırmak için kullanıyoruz. Web sayfalarımızın önceki yöneticisi bir dizine bir ACL izni koymuş gibi görünüyordu, ancak kaldırmak istiyoruz. Dizinin çağrıldığını söyleyelim foobar.

Şimdi sonucu ls -al foobarşöyle:

drwxrwxr-x+   2 myuser  another_user   512 Nov 20  2013 foobar

Ve izin şu şekilde:

[myuser@hosting_server]$ getfacl foobar
# file: foobar/
# owner: myuser
# group: another_user
user::rwx
group::rwx
mask::rwx
other::r-x

Burada, izin listesinin sonundaki ACL iznini ve artı işaretini kaldırmak istiyoruz. Bu nedenle, yaptık

setfacl -b foobar

ACL tarafından yönetilen özel izni ortadan kaldırdı, ancak artı işaretini silmemişti +.

+Sorumuz, 'ls -al foobar' ile gösterilen izin listesindeki artı işaretini nasıl silebiliriz ?


getfaclACL olmadığını gösterir. Ancak lsa gösteriyor +. Her seferinde aynı dosyaya baktığınızdan emin misiniz? (bu genellikle benim için neden)
ctrl-alt-delor

@ richard evet, kesinlikle aynı dosya.
Taiki Bessho

Yanıtlar:


28

Sorunumuz aşağıdakiler kullanılarak çözüldü:

setfacl -bn foobar

Önemli olan da bir seçenek -n ile dizinden aclMask kaldırmak zorunda kaldı ... adamı sayfası setfaclaşağıdaki gibi diyor ki:

 -n      Do not recalculate the permissions associated with the ACL mask
         entry.  This option is not applicable to NFSv4 ACLs.

Bu seçeneğin neden işe yaradığından emin değiliz, fakat yaptı ...


d?????????Yukarıdaki çözümden sonra izin almanız durumunda , chmod -R a+rXaşağıda yorumlanmış iki olarak deneyin .


Bu benim dosyalarıma yaptı: d?????????bu garip
JREAM,

1
Güncelleme: Bu sorun chmod -R a+rXX
JREAM

@JREAM Hangi Linux sistemini kullanıyorsunuz?
Taiki Bessho

Aynı d anladım ?????? Ubuntu 16 ile bir şey. Yukarıdaki chmod ile düzeltildi. Tuhaf.
TonyG

3

Garip ... çoğaltamıyor:

ls -l | grep foobar
drwxr-xr-x+ 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

setfacl -b foobar/
ls -l | grep foobar
drwxr-xr-x 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

Ne yazık ki şu anda test etmek için BSD'ye erişimim yok.


Sistem bilgisi:

Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:    8.7
Codename:   jessie

Gerçekten, 16.04.1 Ubuntu sunucusunda çoğalamıyorum ...
Taiki Bessho

Sonunda artı işaretini silebildim setfacl -bn foobarama nseçeneğin neden böyle çalıştığını bilmiyorum .
Taiki Bessho
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.