Ubuntu: mode d'accès par défaut (autorisations) pour les utilisateurs home dir (/ home / user)

15

Qu'est-ce qu'un mode d'accès par défaut (par exemple 0755) pour les répertoires personnels des utilisateurs dans Ubuntu (par exemple, qu'est-ce qui est produit ls -ld /home/*)? Dans d'autres distributions Linux majeures (Debian, RedHat, Gentoo, Arch)?

Comment puis-je changer cette valeur par défaut?

PS: Désolé, mais je ne trouve pas d'ubuntu maintenant et je le teste moi-même.

osgx
la source
Je ne pose pas de questions sur umask, mais sur skelethome-dirs
osgx
Veuillez ne pas ajouter de nouvelles informations dans les commentaires, mais les inclure dans la question d'origine
bbaja42
ce n'est pas une nouvelle info, ce sont des commentaires sur une mauvaise compréhension de ma question
osgx

Réponses:

15

Lors de la création d'un utilisateur à l'aide useradd --create-home username, le répertoire squelette (généralement /etc/skel) est copié, y compris ses autorisations.

Le répertoire personnel ( /home/username) est soumis au UMASKparamétrage de /etc/login.defs. Ceci est défini 022par défaut, donc les autorisations pour /home/usernamedevient 755.

Extrait pertinent de la page de manuel Ubuntu deuseradd :

Les variables de configuration suivantes dans /etc/login.defs modifient le comportement de cet outil:
[..]
UMASK (nombre)

Le masque de création du mode fichier est initialisé à cette valeur. S'il n'est pas spécifié, le masque sera initialisé à 022.

useradd et newusers utilisent ce masque pour définir le mode du répertoire personnel qu'ils créent

Lekensteyn
la source
Qu'en est-il de redhat / debian?
osgx
AFAIK, c'est une chose standard useradd, si elle était spécifique à Ubuntu, elle aurait dû être mentionnée dans la page de manuel. Une page de manuel redhat: linux.die.net/man/8/useradd
Lekensteyn
10

L'autorisation par défaut du domicile de l'utilisateur peut être contrôlée aux endroits suivants.

  • L'option de répertoire squelette ( -k, --skel SKEL_DIR) de useradd.
  • SKELvaleur /etc/adduser.confqui définit le répertoire squelette par défaut.
  • DIR_MODEvaleur /etc/adduser.confqui définissent les autorisations par défaut.

Le répertoire personnel des nouveaux utilisateurs est créé en utilisant /etc/skelcomme modèle (comportement par défaut).
L'autorisation par défaut de /etc/skelest 0755 (drwxr-xr-x).
L'utilisation d'un répertoire squelette personnalisé avec les autorisations correctes permettra aux nouveaux répertoires personnels d'avoir les autorisations souhaitées.

Les valeurs par défaut pour addusersont définies dans /etc/adduser.conf.
La valeur par défaut de DIR_MODEin /etc/adduser.confest 0755.
La modification DIR_MODEdes autorisations correctes ( DIR_MODE=0750ou similaires) permettra aux nouveaux répertoires personnels d'avoir les autorisations souhaitées.
Selon la documentation d'Ubuntu, cela semble être la meilleure option.

Les répertoires personnels des utilisateurs déjà existants devront être modifiés manuellement.

sudo chmod 0750 /home/username

C'est donc une bonne idée de changer /etc/adduser.confjuste après l'installation pour éviter que de nouveaux utilisateurs obtiennent 0755 (drwxr-xr-x)des autorisations de type.
Le tout premier utilisateur créé lors de l'installation aura toujours 0755défini son répertoire personnel, qui doit être modifié manuellement.

UMASKin /etc/login.defsest un paramètre général pour les fichiers / répertoires / etc créé par les utilisateurs (pas seulement dans leurs répertoires personnels). et pourrait être changé en fonction USERGROUPS_ENABde /etc/login.defs.

L'explication officielle: Gestion des utilisateurs - Sécurité du profil utilisateur
Vérifiez également les autres sections de la gestion des utilisateurs.

En relation: /ubuntu/46501/why-can-other-users-see-the-files-in-my-home-folder

Sithsu
la source
3
Les réponses de lien uniquement sont un non-non en raison d'une éventuelle pourriture de lien future. Veuillez inclure des informations pertinentes dans vos réponses.
Ƭᴇcʜιᴇ007
@ techie007 je sais. Aurait utilisé un commentaire si j'avais assez de représentants.
Sithsu
1
@ techie007 Ajout de plus de contenu à la réponse
Sithsu
Réglage DIR_MODEen /etc/adduser.confest certainement la bonne façon de procéder.
user1338062
2

Remarque: Ne modifiez pas la valeur UMASK dans /etc/login.defs si vous souhaitez modifier uniquement les autorisations du répertoire de base. Parce que changer l'UMASK affectera tout.

Une fois, j'ai suivi la même chose et lorsque j'ai installé un système de package à l'aide de pip, il n'était pas accessible aux autres utilisateurs et refusait constamment l'autorisation. Étant donné que l' UMASK par défaut a affecté l'autorisation de tous les répertoires de packages créés après l'application des modifications.

La bonne façon est de modifier DIR_MODE dans /etc/adduser.conf . Étant donné que /etc/adduser.conf est utilisé dans la plupart des distributions Linux, cette solution fonctionne pour la plupart.

Abhishek Meena
la source
1

Les autorisations par défaut pour / home dans ubuntu sont rwxr-xr-x ou 755. Pour / home / user, il s'agit également de rwxr-xr-x ou 755. Au moins, c'est sur mon installation.

Pour modifier les autorisations de fichier du répertoire personnel, ouvrez un terminal et exécutez quelque chose comme:

chmod 700 /home/user

N'oubliez pas de changer le 700 à la valeur chmod que vous souhaitez réellement définir.

Si vous ne possédez pas le répertoire, vous devez disposer des privilèges root pour modifier les autorisations. Ubuntu utilise sudopour cela:

sudo chmod 700 /home/user

Lorsque vous exécutez cette commande, il vous demandera le mot de passe administrateur.

Rincewind42
la source
2
Votre deuxième partie est incorrecte, le répertoire personnel vous appartient, vous n'aurez donc pas besoin d'un superutilisateur pour cela.
Lekensteyn
Vous supposez qu'il ne veut changer les droits que sur son propre domicile. J'ai dit "Si vous ne possédez pas le répertoire". Mon code fonctionnera sur le répertoire personnel de tout utilisateur.
Rincewind42
J'ai édité votre message pour le rendre plus correct (j'espère que vous l'aimez), votre message d'origine ne comportait pas du tout cela: superuser.com/revisions/303995/1
Lekensteyn
0

Consultez la page de manuel umask .

Le paramètre umask par défaut est

0022

Autorise groupet otherslit et exécute l'accès.

nik
la source
Non, ma question ne concerne pas un umask, mais les autorisations par défaut du dossier de l'utilisateur lui-même (juste après la acréation de l' utilisateur , quelle sera la sortie de ls -ld /home/a)
osgx