Ubuntu: domyślny tryb dostępu (uprawnienia) dla katalogu domowego użytkowników (/ home / user)


15

Jaki jest domyślny tryb dostępu (np. 0755) dla katalogów domowych użytkowników w Ubuntu (np. Co jest wyjściem ls -ld /home/*)? W innych głównych dystrybucjach Linuksa (Debian, RedHat, Gentoo, Arch)?

Jak mogę zmienić to ustawienie domyślne?

PS: Przepraszam, ale nie mogę teraz znaleźć Ubuntu i sam go przetestować.


Nie pytam o umask, ale o skelihome-dirs
— osgx

Nie dodawaj nowych informacji w komentarzach, ale
— dołącz

to nie jest nowa informacja, to komentarze na temat złego zrozumienia mojego pytania
— osgx,

Odpowiedzi:


15

Podczas tworzenia użytkownika za pomocą useradd --create-home username, katalog szkieletowy (zwykle /etc/skel) jest kopiowany, wraz z jego uprawnieniami.

Katalog domowy ( /home/username) podlega UMASKustawieniu w /etc/login.defs. 022Domyślnie jest to ustawione , więc uprawnienia dla /home/usernamestają się 755.

Odpowiedni fragment strony podręcznika Ubuntuuseradd :

Następujące zmienne konfiguracyjne w /etc/login.defs zmieniają zachowanie tego narzędzia:
[..]
UMASK (liczba)

Maska tworzenia trybu pliku jest inicjowana na tę wartość. Jeśli nie zostanie określony, maska ​​zostanie zainicjowana na 022.

useradd i newusers używają tej maski do ustawiania trybu tworzonego katalogu domowego


Co z redhat / debian?
— osgx

AFAIK to standardowa rzecz useradd, jeśli byłaby specyficzna dla Ubuntu, powinna była zostać wspomniana na stronie podręcznika. Strona podręcznika redhat: linux.die.net/man/8/useradd
— Lekensteyn

10

Domyślne pozwolenie użytkownika domu może być kontrolowane w następujących miejscach.

  • Opcja katalogu szkieletu ( -k, --skel SKEL_DIR) z useradd.
  • SKELwartość, /etc/adduser.confktóra określa domyślny katalog szkieletowy.
  • DIR_MODEwartość, /etc/adduser.confktóra określa domyślne uprawnienia.

Katalog domowy nowych użytkowników jest tworzony za /etc/skelpomocą szablonu (zachowanie domyślne).
Domyślne zezwolenie /etc/skelto 0755 (drwxr-xr-x).
Użycie niestandardowego katalogu szkieletowego z prawidłowymi uprawnieniami pozwoli nowym katalogom domowym uzyskać pożądane uprawnienia.

Domyślne wartości dla addusersą zdefiniowane w /etc/adduser.conf.
Domyślna wartość DIR_MODEin /etc/adduser.confto 0755.
Zmiana DIR_MODEpoprawnych uprawnień ( DIR_MODE=0750lub podobnych) pozwoli nowym katalogom domowym mieć pożądane uprawnienia.
Według dokumentacji Ubuntu jest to najlepsza opcja.

Istniejące katalogi domowe użytkowników będą musiały zostać ręcznie zmienione.

sudo chmod 0750 /home/username

Dlatego dobrym pomysłem jest zmiana /etc/adduser.confzaraz po instalacji, aby uniknąć uzyskiwania przez nowych użytkowników 0755 (drwxr-xr-x)uprawnień do typu.
Nadal pierwszy użytkownik utworzony podczas instalacji 0755ustawi swój katalog osobisty, który należy zmienić ręcznie.

UMASKin /etc/login.defsto ogólne ustawienie dla plików / katalogów / etc tworzonych przez użytkowników (nie tylko w ich katalogach domowych). i może się zmieniać w zależności od USERGROUPS_ENABw /etc/login.defs.

Oficjalne wyjaśnienie: Zarządzanie użytkownikami - Bezpieczeństwo profilu użytkownika
Sprawdź także inne sekcje Zarządzania użytkownikami.

Powiązane: /ubuntu/46501/why-can-other-users-see-the-files-in-my-home-folder


3
Odpowiedzi tylko dla linków są „nie-nie” z powodu możliwej zgnilizny linków w przyszłości. Podaj w swoich odpowiedziach istotne informacje.
— ᴇcʜιᴇ007

@ techie007 Wiem. Użyłbym komentarza, gdybym miał wystarczającą liczbę powtórzeń.
— Sithsu,

1
@ techie007 Dodano więcej treści do odpowiedzi
— Sithsu,

Ustawienie DIR_MODEw /etc/adduser.confto na pewno właściwa droga.
— user1338062,

2

Uwaga: Nie zmieniaj wartości UMASK w /etc/login.defs, jeśli chcesz zmienić tylko uprawnienia do katalogu domowego. Bo zmiana UMASK wpłynie na wszystko.

Kiedyś postępowałem tak samo, a kiedy instalowałem paczki z systemem za pomocą pip, nie było to dostępne dla innych użytkowników i ciągle odmawiałem zgody. Ponieważ domyślny UMASK wpłynął na uprawnienia wszystkich katalogów pakietów utworzonych po zastosowaniu zmian.

Poprawnym sposobem jest zmodyfikowanie DIR_MODE w /etc/adduser.conf . Ponieważ plik /etc/adduser.conf jest używany w większości dystrybucji Linuksa, to rozwiązanie działa dla większości.


1

Domyślne uprawnienia dla / home w Ubuntu to rwxr-xr-x lub 755. W przypadku / home / user jest to również rwxr-xr-x lub 755. Przynajmniej jest to moja instalacja.

Aby zmienić uprawnienia do plików katalogu domowego, otwórz terminal i uruchom coś takiego:

chmod 700 /home/user

Pamiętaj, aby zmienić 700 na wartość chmod, którą faktycznie chcesz ustawić.

Jeśli nie jesteś właścicielem katalogu, potrzebujesz uprawnień roota, aby zmienić uprawnienia. Ubuntu używa sudodo tego:

sudo chmod 700 /home/user

Po uruchomieniu tego polecenia pojawi się pytanie o hasło administratora.


2
Druga część jest niepoprawna, katalog domowy jest twoją własnością, więc nie potrzebujesz do tego odpowiedniego administratora.
— Lekensteyn

Zakładasz, że chce tylko zmienić prawa we własnym domu, reż. Powiedziałem „Jeśli nie jesteś właścicielem katalogu”. Mój kod będzie działał na katalogu domowym dowolnego użytkownika.
— Rincewind42

Zredagowałem twój post, aby był bardziej poprawny (mam nadzieję, że ci się podoba), twój oryginalny post w ogóle tego nie zawierał: superuser.com/revisions/303995/1
— Lekensteyn 30.06.11

0

Sprawdź stronę podręcznika umask .

Domyślne ustawienie umask to

0022

Umożliwia groupi othersodczytuje i wykonuje dostęp.


Nie, moje pytanie nie dotyczy umask, ale domyślnych uprawnień do samego folderu użytkownika (zaraz po autworzeniu użytkownika , co będzie wynikiem ls -ld /home/a)
— osgx
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.