Vi modifie le propriétaire d'un fichier
espkh2
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
espkh2 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
espkh2 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je m’interroge sur le fonctionnement lié au « propriétaire » d’un fichier.
Voilà la petite manipulation que j’ai réalisée (Mandrake et CentOS):
Créer un répertoire avec full accès :
[essai@PC / ]$ ls -ld /directory
drwxrwxrwx 9 root root 4096 nov 13 10:14 directory/
Un utilisateur (essai) crée un fichier dans ce répertoire :
[essai@PC /]$ cd / directory
[essai@PC directory]$ touch fichier_essai
[essai@PC directory]$ ls -l
-rw-rw-r-- 1 essai essai 0 nov 13 10:21 fichier_essai
Un autre utilisateur (test) modifie le fichier avec vi
[test@PC directory]$ vi fichier_essai
Modification du fichier
Vi dit que le fichier est protégé en écriture, mais en forçant la modification ( :wq !) ça passe
Il en résulte que le propriétaire du fichier a changé.
[test@PC directory]$ ls –l
-rw-rw-r-- 1 test test 6 nov 13 10:23 fichier_ essai
-rw-r--r-- 1 test test 0 nov 13 10:21 fichier_ essai ~
En principe, l’utilisateur test ne devrait rien pouvoir modifier du fichier fichier_essai car les permissions sont rw-rw-r--.
Je comprends que l’utilisateur puisse effacer le fichier fichier_essai du répertoire car le répertoire est en rwx pour tout le monde, donc il est possible à l’utilisateur de modifier le contenu du répertoire, donc d’effacer le nom du fichier de la liste des fichiers contenu dans le répertoire.
Par contre, je ne comprends pas par quel mécanisme le propriétaire a pu être modifié.
Quelqu’un a une idée ?
P.S. Je sais que ce n’est pas une bonne idée de placer des répertoires en rwx rwx rwx, on peut jouer sur les groupes, le sticky bit, etc.
Je m’interroge sur le fonctionnement lié au « propriétaire » d’un fichier.
Voilà la petite manipulation que j’ai réalisée (Mandrake et CentOS):
Créer un répertoire avec full accès :
[essai@PC / ]$ ls -ld /directory
drwxrwxrwx 9 root root 4096 nov 13 10:14 directory/
Un utilisateur (essai) crée un fichier dans ce répertoire :
[essai@PC /]$ cd / directory
[essai@PC directory]$ touch fichier_essai
[essai@PC directory]$ ls -l
-rw-rw-r-- 1 essai essai 0 nov 13 10:21 fichier_essai
Un autre utilisateur (test) modifie le fichier avec vi
[test@PC directory]$ vi fichier_essai
Modification du fichier
Vi dit que le fichier est protégé en écriture, mais en forçant la modification ( :wq !) ça passe
Il en résulte que le propriétaire du fichier a changé.
[test@PC directory]$ ls –l
-rw-rw-r-- 1 test test 6 nov 13 10:23 fichier_ essai
-rw-r--r-- 1 test test 0 nov 13 10:21 fichier_ essai ~
En principe, l’utilisateur test ne devrait rien pouvoir modifier du fichier fichier_essai car les permissions sont rw-rw-r--.
Je comprends que l’utilisateur puisse effacer le fichier fichier_essai du répertoire car le répertoire est en rwx pour tout le monde, donc il est possible à l’utilisateur de modifier le contenu du répertoire, donc d’effacer le nom du fichier de la liste des fichiers contenu dans le répertoire.
Par contre, je ne comprends pas par quel mécanisme le propriétaire a pu être modifié.
Quelqu’un a une idée ?
P.S. Je sais que ce n’est pas une bonne idée de placer des répertoires en rwx rwx rwx, on peut jouer sur les groupes, le sticky bit, etc.
A voir également:
- Vi modifie le propriétaire d'un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
6 réponses
Salut,
Je n'y avais pas pensé sur le coup, mais non. Pas le même UID, ils ne sont pas non plus membres du même groupe
egrep 'test|essai' /etc/passwd /etc/group
/etc/passwd:essai:x:502:502::/home/essai:/bin/bash
/etc/passwd:test:x:503:503::/home/test:/bin/bash
/etc/group:essai:x:502:
/etc/group:test:x:503:
Merci, ça élimine déjà une possibilité.
Je n'y avais pas pensé sur le coup, mais non. Pas le même UID, ils ne sont pas non plus membres du même groupe
egrep 'test|essai' /etc/passwd /etc/group
/etc/passwd:essai:x:502:502::/home/essai:/bin/bash
/etc/passwd:test:x:503:503::/home/test:/bin/bash
/etc/group:essai:x:502:
/etc/group:test:x:503:
Merci, ça élimine déjà une possibilité.
extrait de la doc vim
:w[rite]! Like ":write", but forcefully write when 'readonly' is
set or there is another reason why writing was
refused.
Note: This may change the permission and ownership of
the file and break (symbolic) links. Add the 'W' flag
to 'cpoptions' to avoid this.
https://www.vim.org/htmldoc.php/editing.html#write-quit
:w[rite]! Like ":write", but forcefully write when 'readonly' is
set or there is another reason why writing was
refused.
Note: This may change the permission and ownership of
the file and break (symbolic) links. Add the 'W' flag
to 'cpoptions' to avoid this.
https://www.vim.org/htmldoc.php/editing.html#write-quit
Grand merci pour l'info. Désolé pour le dérangement, j'aurais du lire la man page à fond.
Du coup j'ai testé les cpoptions :
Pour voir quelles sont les cpoptions utilisées par vi, il faut utiliser, la commande “:se”. Par exemple :
$ vi monfichier
:se cpo
Le système affiche alors les options par défaut renseignée dans la man page.
cpoptions=aABceFs
pour ajouter l’option W (il y a peut être plus simple):
:se cpo=aABceFsW
:se cpo
aABceFsW
Par contre, si je quitte le fichier, lorsque je le réouvre l'option W a disparu. Du coup je ne peux pas tester l'option cpo-W. Je n'ai plus le temps aujourd'hui, je m'y remet demain
Encore merci
Du coup j'ai testé les cpoptions :
Pour voir quelles sont les cpoptions utilisées par vi, il faut utiliser, la commande “:se”. Par exemple :
$ vi monfichier
:se cpo
Le système affiche alors les options par défaut renseignée dans la man page.
cpoptions=aABceFs
pour ajouter l’option W (il y a peut être plus simple):
:se cpo=aABceFsW
:se cpo
aABceFsW
Par contre, si je quitte le fichier, lorsque je le réouvre l'option W a disparu. Du coup je ne peux pas tester l'option cpo-W. Je n'ai plus le temps aujourd'hui, je m'y remet demain
Encore merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question