Pouvez-vous expliquer brièvement les principaux concepts et outils de ligne de commande utilisés pour gérer les autorisations de fichiers?
command-line
permissions
chmod
guillermooo
la source
la source
chown guillermooo
cela ne devrait pas êtrechown guillermooo filename
?Autorisations de fichier
Ubuntu a hérité du concept d'autorisations d'Unix lorsque, pour les fichiers ou les répertoires, trois tâches peuvent être autorisées ou refusées:
( Parcourir un répertoire signifie essentiellement l’utiliser dans le cadre d’un nom de chemin. Voir https://unix.stackexchange.com/a/13891 ou https://unix.stackexchange.com/questions/21251 pour plus d’informations.)
De plus, nous avons trois cas pour lesquels nous accordons une permission:
Maintenant, pour obtenir la combinaison de ceux-ci triés, nous utilisons un système binaire où chaque bit définit une permission. Ceci peut être mieux montré dans le tableau suivant
Maintenant si on veut par exemple
a) le propriétaire d'un fichier (= utilisateur) a r ead, w rite, et e x ecute permission,
b) le groupe de fichier accordé r ead et e x autorisations ecute, et
c) tous les autres ne devraient avoir r accès ead.
Ensuite, l'autorisation de fichier résultante sera:
Pour obtenir cela dans les nombres octaux, par exemple. pour la
chmod
commande ou lorsque nous devons comprendre un message d'erreur, nous devons remplir le tableau ci-dessus comme suit:Chaque numéro d'autorisation doit être ajouté pour résumer pour un utilisateur (4 + 2 + 1 = 7), un groupe (4 + 0 + 1 = 5) et un autre (4 + 0 + 0 = 4). Le nombre résultant est alors:
Nous avons maintenant deux options pour changer les bits d'autorisation avec
chmod
:ou beaucoup plus simple avec
Les deux commandes feront la même chose.
Si nous voulons que les fichiers soient exécutables en tant que programmes, nous devrons changer cette permission.
Notez que nous devrons également modifier l’autorisation du répertoire dans lequel cet exécutable peut se trouver. Seulement si le bit exécutable du fichier et celui du répertoire sont définis, nous serons autorisés à exécuter ce fichier en tant que programme.
Lors de la copie d'un fichier chez nous, il perdra ses autorisations qui seront remplacées par nos propres autorisations par défaut (sauf si nous copions à l'aide d'options avancées, par exemple une option d'archivage).
Notez également que les fichiers peuvent hériter de leur autorisation de leur point de montage, resp. options de montage. Ceci est important lorsque vous montez des lecteurs formatés Windows qui ne prennent pas en charge les autorisations Unix.
Utilisateurs et groupes
Nous nous rendons vite compte que ce n’était que la moitié de l’histoire. Nous devons également trier les biens. Pour ce faire, chaque fichier ou dossier a un propriétaire défini et une appartenance à un groupe défini.
Chaque fois que nous créons un fichier, nous en sommes le propriétaire et le groupe du fichier sera également le nôtre. Avec,
ls -l
nous pouvons voir les autorisations, la propriété et le groupe, comme le montre l'exemple de sortie suivant:Si nous ne sommes pas le propriétaire du fichier, nous aurons une
Permission denied
erreur. Seul root peut changer cela pour tous les fichiers. C'est pourquoi nous devons utilisersudo
lors de l'édition de l'autorisation de fichiers qui ne sont pas les nôtres. Il existe deux commandes intégrées pour le fairechown
pour les utilisateurs etchgrp
pour les groupes.Pour changer la propriété d'un fichier de n'importe qui,
takkat
nous pouvons émettre cette commande:Pour changer le groupe d'un fichier en
takkat
nous émettonsLisez les pages de manuel des commandes pour plus de détails et d’options. Il y a aussi ce joli guide plus élaboré recommandé pour la lecture ultérieure:
Trouvez également quelques questions connexes ici:
la source