Je me demande pourquoi par défaut mon répertoire /home/<user>/
a des autorisations définies sur 755
. Cela permet à d'autres utilisateurs d'entrer dans des répertoires et de lire des fichiers chez moi. Y a-t-il une raison légitime à cela?
Puis-je définir les autorisations 700
pour ma maison et tous les sous-répertoires, par exemple:
chmod -R o-xw /home/<user>/
chmod -R g-xw /home/<user>/
sans rien casser?
En outre, est-il possible de définir les autorisations sur ma maison, de sorte que tous les nouveaux fichiers créés aient des 600
répertoires 700
?
permissions
files
chmod
Martin Vegter
la source
la source
public_html
permettent au serveur Web d'accéder au répertoire. Bien qu'il soit très pratique pour les utilisateurs, je n'en suis pas un grand fan.Réponses:
Si votre répertoire personnel est privé, personne d'autre ne peut accéder à aucun de vos fichiers. Pour accéder à un fichier, un processus doit avoir l'autorisation d'exécution sur tous les répertoires du chemin d'accès dans l'arborescence à partir du répertoire racine. Par exemple, pour permettre à d' autres utilisateurs de lire
/home/martin/public/readme
, les répertoires/
,/home
,/home/martin
et/home/martin/public
tous besoin d'avoir les autorisationsd??x??x??x
(il peut êtredrwxr-xr-x
, oudrwx--x--x
ou une autre combinaison), et en plus le fichierreadme
doit être lisible par (-r??r??r??
).Il est courant d'avoir des répertoires personnels avec le mode
drwxr-xr-x
(755) ou au moinsdrwx--x--x
(711). Le mode 711 (autorisation d'exécution uniquement) sur un répertoire permet aux autres d'accéder à un fichier dans ce répertoire s'ils connaissent son nom, mais pas de répertorier le contenu du répertoire. Sous ce répertoire personnel, créez des sous-répertoires publics et privés comme vous le souhaitez.Si vous ne voulez jamais que d'autres personnes lisent l'un de vos fichiers, vous pouvez créer votre répertoire personnel
drwx------
(700). Si vous faites cela, vous n'avez pas besoin de protéger vos fichiers individuellement. Cela ne cassera rien d'autre que la capacité d'autres personnes à lire votre fichier.Une chose courante qui peut casser, car c'est une instance d'autres personnes lisant vos fichiers, est si vous avez un répertoire tel que
~/public_html
ou~/www
qui contient votre page Web. Selon la configuration du serveur Web, ce répertoire peut devoir être lisible par tout le monde.Vous pouvez modifier les autorisations par défaut pour les fichiers que vous créez en définissant la valeur umask dans votre
.profile
. L'umask est le complément des autorisations maximales d'un fichier. Les valeurs courantes incluent 022 (accessible en écriture uniquement par le propriétaire, lisible et exécutable par tout le monde), 077 (accès uniquement par le propriétaire) et 002 (comme 022, mais également accessible en groupe). Ce sont des autorisations maximales: les applications peuvent définir des autorisations plus restrictives, par exemple la plupart des fichiers finissent par être non exécutables car l'application qui les a créés n'a pas défini les bits d'autorisation d'exécution lors de la création du fichier.la source
~/public_html
. Y a-t-il d'autres programmes communs autres qu'Apache, qui pourraient avoir besoin d'accéder à ma maison? Qu'en est-ilpostfix
, par exemple..forward
doivent être lisibles par un système de messagerie fonctionnant en tant qu'utilisateur système. Postfix est cependant très bien avec un privé.forward
.Si vous archivez dans RHEL / CentOS 5.x, l'autorisation par défaut est 700, mais dans Ubuntu, elle est 755.
Selon un membre du personnel d'Ubuntuforms.org , il s'agit de faciliter le partage de fichiers entre de nouveaux utilisateurs. Vous pouvez modifier l'autorisation à 700 ou 750 si vous ne voulez pas que les fichiers soient lisibles et exécutables par d'autres.
Vous pouvez définir
umask 0077
pour celaCela fonctionnera comme:
L'autorisation par défaut pour le répertoire est
0777
, donc lorsque vous définissez umask,0077
le nouveau répertoire sera créé avec l'autorisation,(0777-0077)
c'est-0700
à- dire comme vous le souhaitez.la source
umask
s'applique aux fichiers aussi bien? Cela ne semble avoir d'effet que lorsque je crée de nouveaux répertoires.umask 0077
et créer un fichier, dir et vérifier l'autorisationstat filename
Oui, il y a une raison très légitime. Notez que d'autres utilisateurs peuvent lire mais pas écrire dans vos fichiers. C'est très utile dans les réseaux professionnels car vous pouvez facilement partager vos fichiers avec vos collègues.
Par exemple, dans le laboratoire dans lequel je travaillais auparavant, nous avions tous accès aux
$HOME
répertoires les uns des autres afin de pouvoir facilement partager nos données ou nos scripts les uns avec les autres. Si mon amie Alice avait un joli script pour faire X, je le lancerais simplement:Comme d'autres l'ont mentionné, pour changer cela, vous devrez définir umask. Par exemple, pour rendre les nouveaux fichiers et dossiers lisibles uniquement par vous, ajoutez ceci à votre
~/.bashrc
:la source
Vous devez changer le umask, pour changer la façon dont les nouveaux fichiers sont créés dans votre dossier personnel. Cela se fait généralement en éditant votre script de démarrage du shell, il y a un assez bon aperçu ici
En ce qui concerne la modification de toutes les autorisations de votre dossier de départ en 700, je me demande comment cela affecterait les services exécutés sous des comptes de service qui ont besoin d'informations de configuration à partir de votre dossier de départ ... Vous pourriez finir par empêcher ces services de lire les fichiers de configuration dont ils ont besoin .
la source