uprawnienia 755 na / home / <użytkownik> /


15

Zastanawiam się, dlaczego domyślnie mój katalog /home/<user>/ma ustawione uprawnienia 755. Pozwala to innym użytkownikom wchodzić do katalogów i czytać pliki w moim domu. Czy jest to uzasadniony powód?

Czy mogę ustawić uprawnienia 700dla mojego domu i wszystkich podkatalogów, na przykład:

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

bez zepsucia czegokolwiek?

Czy możliwe jest również ustawienie uprawnień w moim domu, tak aby wszystkie utworzone nowe pliki miały 600katalogi 700?


1
w RHEL / CentOS 5 domyślnie jest 700, ale w Ubuntu 755
Rahul Patil

2
Jest to powszechne w niektórych konfiguracjach, które public_htmlpozwalają serwerowi internetowemu na dostęp do katalogu. Chociaż jest to bardzo wygodne dla użytkowników, nie jestem jego wielkim fanem.
Marco

Odpowiedzi:


18

Jeśli twój katalog domowy jest prywatny, nikt inny nie może uzyskać dostępu do żadnego z twoich plików. Aby uzyskać dostęp do pliku, proces musi mieć uprawnienia do wykonywania wszystkich katalogów na ścieżce w dół drzewa od katalogu głównego. Na przykład, aby umożliwić innym użytkownikom na odczyt /home/martin/public/readme, katalogi /, /home, /home/martini /home/martin/publicwszystko trzeba mieć uprawnienia d??x??x??x(może to być drwxr-xr-x, albo drwx--x--xczy jakaś inna kombinacja), a dodatkowo plik readmemusi być publicznie czytelny ( -r??r??r??).

Zwykle katalogi domowe mają tryb drwxr-xr-x(755) lub co najmniej drwx--x--x(711). Tryb 711 (tylko uprawnienie do wykonywania) w katalogu pozwala innym na dostęp do pliku w tym katalogu, jeśli znają jego nazwę, ale nie na liście zawartości katalogu. W tym katalogu osobistym utwórz podkatalogi publiczne i prywatne według potrzeb.

Jeśli nigdy, przenigdy nie chcesz, aby inni czytali twoje pliki, możesz utworzyć katalog domowy drwx------(700). Jeśli to zrobisz, nie musisz indywidualnie chronić plików. Nie wpłynie to na nic innego niż zdolność innych osób do odczytu Twojego pliku.

Jedną z powszechnych rzeczy, które mogą się zepsuć, ponieważ jest to przypadek innych osób czytających twoje pliki, jest to, że masz katalog taki jak ~/public_htmllub ~/wwwzawierający twoją stronę internetową. W zależności od konfiguracji serwera WWW katalog ten może wymagać odczytu z całego świata.

Możesz zmienić domyślne uprawnienia dla tworzonych plików, ustawiając wartość umask w swoim .profile. Umask jest uzupełnieniem maksymalnych uprawnień do pliku. Typowe wartości to 022 (zapis tylko dla właściciela, odczyt i wykonywanie przez wszystkich), 077 (dostęp tylko dla właściciela) i 002 (jak 022, ale także zapis dla grupy). Są to maksymalne uprawnienia: aplikacje mogą ustawić bardziej restrykcyjne uprawnienia, na przykład większość plików może nie zostać wykonana, ponieważ aplikacja, która je utworzyła, nie ustawiła bitów uprawnień do wykonywania podczas tworzenia pliku.


Nie uruchamiam serwera WWW na moim komputerze, więc nie muszę zezwalać na dostęp ~/public_html. Czy istnieją inne popularne programy poza Apache, które mogą wymagać dostępu do mojego domu? Co postfixna przykład.
Martin Vegter

1
@MartinVegter Dobra uwaga. Programy pocztowe zawsze działają jako użytkownik, gdy dostarczają pocztę, ale niektóre systemy .forwardmuszą być czytelne dla systemu pocztowego działającego jako użytkownik systemu. Postfix jest jednak w porządku z prywatnym .forward.
Gilles „SO- przestań być zły”

3

Jeśli zaznaczysz w RHEL / CentOS 5.x, domyślnym uprawnieniem jest 700, ale w Ubuntu 755.

Według członka personelu Ubuntuforms.org ma to ułatwić udostępnianie plików nowym użytkownikom. Możesz zmienić uprawnienie na 700 lub 750, jeśli nie chcesz, aby pliki były czytelne i mogły być wykonywane przez inne osoby.

Czy można również ustawić uprawnienia w moim domu, aby wszystkie utworzone nowe pliki miały 600, a katalogi 700?

Można ustawić umask 0077za to

Będzie działać jak:

Domyślne uprawnienia do katalogu to 0777, więc kiedy ustawisz umask, 0077nowy katalog utworzy się z uprawnieniami, (0777-0077) tzn 0700. Jak chcesz.


nie umaskstosuje się do plików, jak również? Wydaje się, że działa tylko wtedy, gdy tworzę nowe katalogi.
Martin Vegter

2
Tak ... możesz sprawdzić w swojej bieżącej powłoce, po prostu ustaw umask 0077i utwórz plik, katalog i sprawdź uprawnieniastat filename
Rahul Patil

3

Tak, istnieje bardzo uzasadniony powód. Pamiętaj, że inni użytkownicy mogą czytać, ale nie zapisywać plików. Jest to bardzo przydatne w profesjonalnych sieciach, ponieważ możesz łatwo udostępniać swoje pliki współpracownikom.

Na przykład w laboratorium, w którym kiedyś pracowałem, wszyscy mieliśmy dostęp do swoich $HOMEkatalogów, abyśmy mogli z łatwością udostępniać sobie nawzajem swoje dane lub skrypty. Gdyby moja przyjaciółka Alice miała fajny skrypt do robienia X, po prostu uruchomiłbym go:

~alice/bin/scriptX.pl mydata

Jak wspomniano inni, aby to zmienić, musisz ustawić umask. Na przykład, aby nowe pliki i foldery były czytelne tylko dla Ciebie, dodaj to do ~/.bashrc:

umask 0077

3
Trochę o używaniu skryptu Perla Alice jest przerażająca. Skopiuj skrypt do katalogu domowego, sprawdź go, a następnie użyj tylko swojej kopii.
AlexWebr

6
@AlexWebr przede wszystkim, najpierw przeczytałbym, druga Alice w tym przypadku to osoba siedząca obok mnie, która właśnie napisała fajny scenariusz. Możemy założyć, że ufam im tak samo, jak każdemu programistowi, którego pracę ślepo instalowałbym i wykonywał na moim komputerze. Bardziej niż większość. Było to także laboratorium, dlatego często pobieraliśmy kilka GB genomów i był to łatwy sposób na zapewnienie sobie dostępu do nich.
terdon

1

Musisz zmienić umask, aby zmienić sposób tworzenia nowych plików w folderze domowym. Odbywa się to zazwyczaj poprzez edycję skryptu startowego powłoki, jest to całkiem dobry przegląd tutaj

Jeśli chodzi o zmianę wszystkich uprawnień w folderze domowym na 700, zastanawiam się, w jaki sposób wpłynęłoby to na usługi działające na kontach usług, które wymagają informacji o konfiguracji z folderu domowego ... Może się zdarzyć, że te usługi nie będą mogły odczytać wymaganych plików konfiguracyjnych .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.