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 700
dla 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 600
katalogi 700
?
permissions
files
chmod
Martin Vegter
źródło
źródło
public_html
pozwalają serwerowi internetowemu na dostęp do katalogu. Chociaż jest to bardzo wygodne dla użytkowników, nie jestem jego wielkim fanem.Odpowiedzi:
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/martin
i/home/martin/public
wszystko trzeba mieć uprawnieniad??x??x??x
(może to byćdrwxr-xr-x
, albodrwx--x--x
czy jakaś inna kombinacja), a dodatkowo plikreadme
musi być publicznie czytelny (-r??r??r??
).Zwykle katalogi domowe mają tryb
drwxr-xr-x
(755) lub co najmniejdrwx--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_html
lub~/www
zawierają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.źródło
~/public_html
. Czy istnieją inne popularne programy poza Apache, które mogą wymagać dostępu do mojego domu? Copostfix
na przykład..forward
muszą być czytelne dla systemu pocztowego działającego jako użytkownik systemu. Postfix jest jednak w porządku z prywatnym.forward
.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.
Można ustawić
umask 0077
za toBędzie działać jak:
Domyślne uprawnienia do katalogu to
0777
, więc kiedy ustawisz umask,0077
nowy katalog utworzy się z uprawnieniami,(0777-0077)
tzn0700
. Jak chcesz.źródło
umask
stosuje się do plików, jak również? Wydaje się, że działa tylko wtedy, gdy tworzę nowe katalogi.umask 0077
i utwórz plik, katalog i sprawdź uprawnieniastat filename
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
$HOME
katalogó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: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
:źródło
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 .
źródło