/ home / <user> / üzerinde 755 izinleri


15

Neden varsayılan olarak dizinimin /home/<user>/izinleri ayarlanmış olduğunu merak ediyorum 755. Bu, diğer kullanıcıların dizinlerime girmesini ve evimdeki dosyaları okumasını sağlar. Bunun meşru bir nedeni var mı?

Evim 700ve tüm alt dizinler için izinleri ayarlayabilir miyim , örneğin:

chmod -R o-xw /home/<user>/ 
chmod -R g-xw /home/<user>/

hiçbir şey kırmadan?

Ayrıca, oluşturulan tüm yeni dosyaların 600ve dizinlerin olması için evimdeki izinleri ayarlamak mümkün 700mü?


1
RHEL / CentOS 5'te varsayılan değer 700'dür, ancak Ubuntu 755'te
Rahul Patil

2
public_htmlWeb sunucusunun dizine erişmesine izin vermek için kullanılan belirli kurulumlarda yaygındır . Kullanıcılar için çok uygun olmasına rağmen, bunun büyük bir hayranı değilim.
Marco

Yanıtlar:


18

Ana dizininiz özelse, başka hiç kimse dosyalarınıza erişemez. Bir dosyaya erişmek için, bir işlemin kök dizinden ağaçtaki yoldaki tüm dizinlere yürütme iznine sahip olması gerekir. Örneğin, diğer kullanıcıların okuyabileceği şekilde /home/martin/public/readme, dizinleri /, /home, /home/martinve /home/martin/publicizinlere sahip tüm ihtiyacı d??x??x??x(o olabilir drwxr-xr-x, ya da drwx--x--xveya başka bir kombinasyon) ve ayrıca dosya readmealenen okunabilir olmalıdır ( -r??r??r??).

Mod drwxr-xr-x(755) veya en azından drwx--x--x(711) modlu ev dizinlerine sahip olmak yaygındır . Bir dizindeki Mod 711 (yalnızca yürütme izni), başkalarının adını bildikleri takdirde dizindeki bir dosyaya erişmelerine izin verir, ancak dizinin içeriğini listelemelerini sağlar. Bu giriş dizini altında, istediğiniz şekilde genel ve özel alt dizinler oluşturun.

Asla, başkalarının dosyalarınızdan herhangi birini okumasını istemezseniz, ana dizininizi yapabilirsiniz drwx------(700). Bunu yaparsanız, dosyalarınızı tek tek korumanıza gerek yoktur. Bu, diğer kişilerin dosyanızı okuma yeteneğinden başka bir şeyi kırmaz.

Dosyalarınızı okuyan diğer kişilerin bir örneği olduğu için, kırılabilecek yaygın bir şey, web sayfanızı içeren ~/public_htmlveya ~/wwwiçeren bir dizininiz olmasıdır . Web sunucusunun yapılandırmasına bağlı olarak, bu dizinin dünya tarafından okunabilir olması gerekebilir.

Bilgisayarınızdaki umask değerini ayarlayarak oluşturduğunuz dosyaların varsayılan izinlerini değiştirebilirsiniz .profile. Umask, bir dosyanın maksimum izinlerinin tamamlayıcısıdır. Ortak değerler arasında 022 (yalnızca sahibi tarafından yazılabilir, herkes tarafından okunabilir ve yürütülebilir), 077 (yalnızca sahibi tarafından erişim) ve 002 (022 gibi, ancak grup tarafından yazılabilir) bulunur. Bunlar en yüksek izinlerdir: uygulamalar daha kısıtlayıcı izinler ayarlayabilir, örneğin onları oluşturan uygulama dosyayı oluştururken yürütme izni bitleri ayarlamadığı için çoğu dosya çalıştırılamaz olur.


Makinemde bir web sunucusu çalıştırmıyorum, bu yüzden erişime izin vermeme gerek yok ~/public_html. Apache dışında evime erişmesi gereken başka ortak programlar var mı? Ne yaklaşık postfixörneğin.
Martin Vegter

1
@MartinVegter İyi bir nokta. E-posta programları her zaman posta teslim ederken kullanıcı olarak çalışır , ancak bazı sistemlerin .forwardsistem kullanıcısı olarak çalışan bir posta sistemi tarafından okunması gerekir . Ancak Postfix bir özel ile iyi .forward.
Gilles 'SO- kötü olmayı bırak

3

RHEL / CentOS 5.x'i işaretlerseniz, varsayılan İzin 700'dür, ancak Ubuntu'da 755'tir.

Bir Ubuntuforms.org personeline göre , dosyaları yeni kullanıcılar arasında paylaşmayı kolaylaştırmaktır. Dosyaların başkaları tarafından okunabilir ve yürütülebilir olmasını istemiyorsanız, izni 700 veya 750 olarak değiştirebilirsiniz.

Ayrıca, oluşturulan tüm yeni dosyaların 600 ve dizinleri 700 olacak şekilde evimdeki izinleri ayarlamak mümkün mü?

Sen ayarlayabilirsiniz umask 0077bunun için

Şöyle çalışır:

Dizin için varsayılan izin 0777, bu nedenle umask ayarladığınızda 0077yeni dizin izinle, (0777-0077) yani 0700istediğiniz gibi oluşturulur .


yok umaskyanı dosyalar için geçerli? Sadece yeni dizinler oluşturduğumda etkisi var gibi görünüyor.
Martin Vegter

2
Evet ... şu anki kabuğunuzu kontrol edebilir, sadece umask 0077dosya oluştur, dizin oluştur ve izin verstat filename
Rahul Patil

3

Evet, çok meşru bir sebep var. Diğer kullanıcıların dosyalarınızı okuyabileceğini ancak yazamayacağını unutmayın. Profesyonel ağlarda çok kullanışlıdır, çünkü dosyalarınızı iş arkadaşlarınızla kolayca paylaşabilirsiniz.

Örneğin, eskiden çalıştığım laboratuvarda, birbirimizin $HOMEdizinlerine erişebildik, böylece verilerimizi veya senaryolarımızı birbirimizle kolayca paylaşabildik. Arkadaşım Alice'in X yapmak için güzel bir senaryosu olsaydı, onu çalıştırırdım:

~alice/bin/scriptX.pl mydata

Diğerlerinin de belirttiği gibi, bunu değiştirmek için umask ayarlamanız gerekir. Örneğin, yeni dosya ve klasörleri yalnızca sizin tarafınızdan okunabilir hale getirmek için bunu aşağıdakilere ekleyin ~/.bashrc:

umask 0077

3
Alice'in Perl betiğini kullanmanın biraz ürkütücü. Komut dosyasını ana dizininize kopyalayın, denetleyin ve yalnızca kopyanızı kullanın.
AlexWebr

6
Her şeyden önce, ilk önce onu okurdum, ikinci Alice bu durumda yanımda oturan sadece güzel bir senaryo yazan kişidir. Çalışmalarına makineme körü körüne kuracağım ve çalıştıracağım herhangi bir geliştiriciye güvenebileceğimi varsayabiliriz. Aslında çoğundan daha fazla. Ayrıca, bu bir laboratuardı, bu yüzden genellikle birkaç GB genom indirdik ve birbirlerine erişebilmenin kolay bir yoluydu.
terdon

1

Giriş klasörünüzde yeni dosyaların oluşturulma biçimini değiştirmek için umask'i değiştirmeniz gerekir. Bu genellikle kabuk başlangıç ​​komut dosyanızı düzenleyerek yapılır, burada oldukça iyi bir genel bakış var

Giriş klasörünüzdeki tüm izinleri 700 olarak değiştirmeye gelince, bunun ana klasörünüzden yapılandırma bilgisine ihtiyaç duyan hizmet hesapları altında çalışan hizmetleri nasıl etkileyeceğini merak ediyorum ... Bu servislerin ihtiyaç duydukları yapılandırma dosyalarını okumasını engelleyebilirsiniz .

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.