Gestion droits répertoire

Tags: #<Tag:0x00007fb9921cfa18>

Bonjour,

J’ai besoin d’une petite aide à propos des droits.

j’ai crée un répertoire Logiciel avec le compte root

Le groupe test a les droits en lecture et écriture sur ce répertoire, cependant lors que l’utilisateur test1 crée un fichier fichier.txt, l’utilisateur test2 n’a pas les droit de modifier ce fichier, je dois retaper la commande chmod -R 770 logiciel. Je souhaiterai que lorsqu’un utilisateur créé un fichier les droits du dossier s’appliquent automatiquement sur le fichier.

Merci pour votre aide

Les utilisateurs sont dans le même groupe

Bonjour

Tel que c’est écrit dans ton message, on ne peut pas en déduire grand chose,
il faudrait que l’on puisse voir dans un retour complet de commande
le chemin absolu de ce répertoire avec ses attributs complets,
comme par exemple :

michel@debbull:~$ ls -ld ~/Logiciel/
drwxr-xr-x 2 michel michel 4096 12 janv. 13:13 /home/michel/Logiciel/
michel@debbull:~$ 

Là non plus on ne peut pas en déduire grand chose,
si ce n’est que ce pas du tout une bonne idée de choisir un nom de commande (test) pour nommer un compte utilisateur
il faudrait que l’on puisse voir dans un retour complet de commande
l’UID et la liste des groupes dans lesquelles ce compte utilisateur est :

michel@debbull:~$ id michel
uid=1000(michel) gid=1000(michel) groupes=1000(michel),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),112(bluetooth),116(lpadmin),119(scanner),124(libvirt)
michel@debbull:~$ 

Même chose : Sans connaître l’UID de ce compte utilisateur
et la liste des groupes dans lesquelles ce compte utilisateur est
on ne pourras pas savoir quel accès il a et quels attributs auront les fichiers qu’il créé
Il nous faudrait le retour complet de la ligne de commande suivante :
comme par exemple :

root@debbull:~$ id michel
uid=1000(michel) gid=1000(michel) groupes=1000(michel),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),112(bluetooth),116(lpadmin),119(scanner),124(libvirt)
root@debbull:~$ 

et aussi le chemin absolu et tous les attributs du fichier nommé fichier1.txt qu’il a créé,
comme par exemple :

test@debbull:~$ ls -l /home/test/fichier1.txt
-rw-r--r-- 1 test test 0 12 janv. 13:28 /home/test/fichier1.txt
test@debbull:~$ 

Cette ligne de commande n’a pas dû fonctionner,
ou alors c’est qu’en plus d’avoir un répertoire nommé Logiciel
tu avais aussi un autre répertoire ou un fichier nommé logiciel


Quels droits voudrais-tu que le fichier créé ait
et de quel compte utilisateur de quel fichier et de quel répertoire s’agit-il ?


Peut-être que tu trouveras la réponse à ce que tu cherches à obtenir
dans cette page web

Bonjour,

merci pour la réponse.

Ma problématique est lorsque « test1 » a créé un fichier texte « test2 » n’a pas la possibilité de modifier ce même fichier.

Si je retape la commande chmod -R 770 /files/logiciels après la création du fichier alors « test2 » a la possibilité de modifier le fichier.

root@debian:/files/logiciels#  ls -ld
drwxrwx--- 2 root test 4096 12 janv. 17:07 .
root@debian:/files/logiciels# 
root@debian:/files/logiciels# id test1
uid=1001(test1) gid=1003(test) groupes=1003(test)
root@debian:/files/logiciels#
root@debian:/files/logiciels# id test2
uid=1002(test2) gid=1003(test) groupes=1003(test)
root@debian:/files/logiciels# 
root@debian:/files/logiciels# ls -l /files/logiciels/test1
-rw-r--r-- 1 test1 test 5 12 janv. 17:06 /files/logiciels/test1
root@debian:/files/logiciels# 

Le répertoire « logiciels » a été créé par root

Si je retape la commande chmod -R 770 /files/logiciels

Les droits sont OK

root@debian:/files/logiciels# ls -l /files/logiciels/test1
-rwxrwx--- 1 test1 test 5 12 janv. 17:06 /files/logiciels/test1
root@debian:/files/logiciels# 

Je souhaiterais lors de la création d’un fichier par « test1 » ou « test2 » que les droits « 770 » s’appliquent automatiquement sur le fichier qui a été créé.

Merci d’avance

Voir le paragraphe

BITS SETUID ET SETGID

dans

man chmod

Arrêtez d’être root pour de simples commandes ls -l et tentez

stat /files/logiciels
sudo chmod  g+s /files/logiciels

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

Femme qui pète et poule qui pond ne font que bruit dans la maison.
Les proverbes philosophiques du Professeur Choron

1 J'aime

Je pense que c’est un peu de ma faute, j’ai donné un mauvais exemple dans ma demande.

Ne sachant pas s’il utilisait sudo ou seulement su
j’avais donné un exemple dans lequel j’avais utilisé lancer la commande id pour visualiser la liste des uid gid et groupes d’un autre compte utilisateur.


@ littlejohn75
J’y étais arrivé en utilisant des ACL
mais c’est beaucoup plus simple en utilisant les Droit_SGID

Et ça fonctionne très bien :

michel@ubu20043lts:~$ id
uid=1000(michel) gid=1000(michel) groupes=1000(michel),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),132(lxd),133(sambashare),1002(azrtest)
michel@ubu20043lts:~$ 
michel@ubu20043lts:~$ sudo --login -u martine
martine@ubu20043lts:~$ 
martine@ubu20043lts:~$ id
uid=1001(martine) gid=1001(martine) groupes=1001(martine),27(sudo),1002(azrtest)
martine@ubu20043lts:~$ exit
déconnexion
michel@ubu20043lts:~$ 

michel@ubu20043lts:~$ sudo mkdir -p /files/logiciels
michel@ubu20043lts:~$ sudo chown root:azrtest /files/logiciels/
michel@ubu20043lts:~$ sudo chmod 770 /files/logiciels/
michel@ubu20043lts:~$ sudo chmod g+s /files/logiciels/
michel@ubu20043lts:~$ ls -ld /files/logiciels/
drwxrws--- 2 root azrtest 4096 janv. 12 20:38 /files/logiciels/
michel@ubu20043lts:~$ 

michel@ubu20043lts:~$ echo "écrit par michel" >> /files/logiciels/michFich.txt
michel@ubu20043lts:~$ 
michel@ubu20043lts:~$ sudo --login -u martine
martine@ubu20043lts:~$ 
martine@ubu20043lts:~$ echo "écrit par martine" >> /files/logiciels/martFich.txt
martine@ubu20043lts:~$ echo "écrit par martine" >> /files/logiciels/michFich.txt
martine@ubu20043lts:~$ exit
déconnexion
michel@ubu20043lts:~$ 

michel@ubu20043lts:~$ echo "écrit par michel" >> /files/logiciels/martFich.txt
michel@ubu20043lts:~$ cat /files/logiciels/martFich.txt
écrit par martine
écrit par michel
michel@ubu20043lts:~$ cat /files/logiciels/michFich.txt
écrit par michel
écrit par martine
michel@ubu20043lts:~$