POSIX Erişim Kontrol Listelerinin, sistem yöneticisi olarak, normal kullanıcı-grubu-diğer dosya sistemi iznini geçersiz kılarak, çok önemli bir şeyi kırma şansı olmadan, kullanıcılarınızı kendi cehaletlerinden en kötü şekilde korumanıza izin verdiğini tespit ettim. .
Örneğin (fi) dünyanın erişilebilir olması için ev dizinlerine ihtiyaç duyuyorsanız özellikle faydalı olabilir, çünkü webcontent'in apache için erişilebilir olması gerekir ~/public_html/
. (Her ne kadar ACL'lerle şimdi tersini yapabilirsiniz, herkes için erişimi kaldırın ve apache kullanıcısı için belirli bir etkin ACL kullanın.)
Evet, bilgili bir kullanıcı bunları tekrar kaldırabilir / geçersiz kılabilir, bu durum beklenmeyen durumlardan oldukça nadir görülür ve normalde chmod -R 777 ~/
yine de uygun olan kullanıcılar olmayan kullanıcılar , değil mi?
Dosya sistemini acl
mount seçeneğiyle birlikte bağlamanız gerekir :
mount -o remount,acl /home
Birçok dağıtımda, varsayılan kullanıcı grupları oluşturmaktır, her kullanıcının birincil grubu vardır ve tüm kullanıcıları ikincil bir grupta tanımlanamayan adıyla ayarladım users
.
ACL'leri kullanmak, diğer kullanıcıların ev dizinlerine erişmesini önlemek için artık önemsizdir:
Önce:
chmod 0777 /home/user*
ls -l /home/user*
drwxrwxrwx. 2 user1 user1 4096 Jul 11 15:40 user1
drwxrwxrwx. 2 user2 user2 4096 Jul 11 15:24 user2
Şimdi users
grubun üyeleri için etkili dizin izinlerini 0
okuma, yazma veya erişime izin vermeyecek şekilde ayarlayın :
setfacl setfacl -m g:users:0 /home/user*
ls -l
drwxrwxrwx+ 2 user1 user1 4096 Jul 11 15:40 user1
drwxrwxrwx+ 2 user2 user2 4096 Jul 11 15:24 user2
+
İşareti var ACL ayarlarında varlığını gösterir. Ve getfacl
bunu doğrulayabilir:
getfacl /home/user1
getfacl: Removing leading '/' from absolute path names
# file: home/user1
# owner: user1
# group: user1
user::rwx
group::rwx
group:users:---
mask::rwx
other::rwx
group:users:---
Grup etkin olarak diğer varlık için düzenli izinleri rağmen erişim hakkına sahip olduğunu göstermekother::rwx
Ve user1 olarak test:
[user1@access ~]$ ls -la /home/user2
ls: cannot open directory /home/user2: Permission denied
Paylaşılan sistemlerdeki ikinci bir ortak çözüm, talep üzerine talep üzerine otomatik sayıcının ana dizinleri ve kabuk erişimine adanmış bir sunucuya sahip olmasıdır. Bu, aptalca bir kanıt olmaktan uzak, ancak tipik olarak yalnızca bir avuç kullanıcı oturum açacak ve aynı zamanda yalnızca bu kullanıcıların giriş dizinleri görünür ve erişilebilir durumda olacak.
chmod files 0777
kesinlikle gerekli olup olmadığını düşünürdüm , yani, bir başkasının dosyalarını okuyabilen bir semptom yerine, sorunun asıl nedenini ele alır. Çoğu zaman, tüm erişim önerisine izin ver, destek aramalarından kaçınmanın ya da izinleri doğru şekilde ayarlayabilmenin teknik cesaretinin bulunmamasının ucuz bir yoludur. Neredeyse hiçbir durumda talep ettiğimde dosyaları ayarlamak0777
ya da uygulamalara tam root erişimi vermek zorunda kalmamıştım . Kullanıcıların ve / veya satıcıların eğitimi burada büyük ölçüde yardımcı olur.