Les fichiers et répertoires Linux ont des informations de permission telles que "qui est autorisé à effectuer quel type d'opération", et cela s'appelle "permission".
Je savais que le fichier avait des permissions, mais je ne savais pas qu'il était également défini dans le répertoire, donc je vais le mettre ensemble.
Tout d'abord, utilisez ls -l / bin / cat pour afficher les informations de la commande cat.
$ ls -l /bin/cat
-rwxr-xr-x 1 root root 35064 Jan 18 2018 /bin/cat
Le «-» au début de la ligne indique le type de fichier.
| symbole | sens |
|---|---|
| - | Fichier normal |
| d | annuaire |
| l | Lien symbolique |
Les neuf caractères après le type de fichier (rwxr-xr-x) sont appelés modes de fichier, qui indiquent les autorisations du fichier.
Les 9 caractères sont «un bloc pour 3 caractères», et sont respectivement divisés en «propriétaire», «groupe» et «autres groupes».
| Propriétaire | groupe | その他のgroupe |
|---|---|---|
| rwx | r-x | r-x |
rwx signifie respectivement "lire", "écrire" et "exécuter".
| symbole | sens |
|---|---|
| r | en train de lire(read) |
| w | l'écriture(write) |
| x | Courir(excute) |
$ ls -l /bin/cat
-rwxr-xr-x 1 root root 35064 Jan 18 2018 /bin/cat
Le / bin / cat ci-dessus, mais l'écriture par quiconque autre que l'utilisateur root est interdite.
Quand j'ai essayé d'écrire, j'étais en colère de ne pas écraser l'option `` 'readonly' option is set (add! To override) `.
Vérifiez les autorisations du répertoire sujet.
Pour vérifier les autorisations de répertoire avec la commande ls, vous devez utiliser l'option -d, qui affiche des informations sur le répertoire lui-même, en plus de l'option -l.
$ ls -ld Code/
drwxrwxr-x 4 vagrant vagrant 4096 Apr 8 14:54 Code/
Les permissions de répertoire utilisent les symboles "r", "w" et "x" ainsi que les fichiers, mais ** la signification de chaque symbole peut différer de celle des fichiers (en particulier "x"). ~~ Il a une signification complètement différente. ~~ **
| symbole | sens |
|---|---|
| r | en train de lire(Obtenir une liste des fichiers contenus dans un répertoire) |
| w | l'écriture(Créer et supprimer des fichiers et des répertoires sous le répertoire) |
| x | Courir(Faire du répertoire le répertoire courant) |
Créez maintenant un fichier et testez-le.
$ mkdir permissionTest //Créez un répertoire appelé permissionTest
$ touch permissionTest/file1.txt //file1 sous permissionTest.Créez un fichier appelé txt
$ ls -ld permissionTest/ //Vérifiez le répertoire permissionTest
drwxrwxr-x 2 vagrant vagrant 4096 Apr 23 11:50 permissionTest/
$ ls -l permissionTest/ //Vérifiez les fichiers sous permission
-rw-rw-r-- 1 vagrant vagrant 0 Apr 23 11:50 file1.txt //Succès
Rendez les autorisations du répertoire permissionTest illisibles et essayez d'y accéder.
$ chmod a-r permissionTest/ //Protection en lecture pour tous les utilisateurs
$ ls -ld permissionTest/
d-wx-wx--x 2 vagrant vagrant 4096 Apr 23 11:50 permissionTest/ //Protégé en lecture.
$ ls permissionTest/
ls: cannot open directory 'permissionTest/': Permission denied
** Impossible d'accéder sans autorisation. ** **
Si write (w) est défini dans le répertoire, il peut être créé / supprimé même si les fichiers qu'il contient ont des restrictions d'écriture.
** Cela signifie que la suppression d'un fichier dépend des autorisations du répertoire, et non des autorisations du fichier. ** **
Essayez d'écrire des restrictions sur le fichier et voyez si le fichier peut être supprimé.
$ chmod a-w file1.txt //Supprimer l'autorisation d'écriture pour le fichier
$ ll file.txt //Vérifier les autorisations des fichiers
-r--r--r-- 1 vagrant vagrant 0 Apr 23 11:50 file1.txt //Confirmation de la suppression de l'autorisation d'écriture
$ rm file1.txt //Supprimer le fichier
rm: remove write-protected regular empty file 'file1.txt'?oui Voulez-vous le supprimer?
Bien sûr, vous pouvez le supprimer.
Assurez-vous que vous ne pouvez pas accéder aux répertoires qui ne sont pas configurés pour exécuter "x".
$ chmod a-x permissionTest/ //Restreindre l'autorisation d'exécution de permissionTest
$ ls -ld permissionTest/ //Vérifiez les autorisations de permissionTest
drw-rw-r-- 2 vagrant vagrant 4096 Apr 23 11:50 permissionTest/ //Vérification
v$ cd permissionTest/ //permissionTest/Accès
-bash: cd: permissionTest/: Permission denied //Ne peux pas.
| symbole | Pour les fichiers | Pour les répertoires |
|---|---|---|
| r | Lire le fichier | Obtenir une liste des fichiers contenus dans un répertoire |
| w | Écrire dans un fichier | Créer et supprimer des fichiers et des répertoires sous le répertoire |
| x | Exécution de fichier | Faire du répertoire le répertoire courant |
Nouveau manuel Linux
Recommended Posts