[code]whoami
root
useradd -u 2000 -g 100 -m -s /bin/bash test
chmod 700 /home/test
cd /home
ls -al
drwxr-x–x 6 root users 4096 2011-06-01 11:41 .
drwxr-xr-x 25 root root 4096 2011-05-30 15:03 …
drwx------ 2 test users 4096 2011-06-01 11:41 test
cd test
echo “Essai” > Truc
ls -al
drwx------ 2 test users 4096 2011-06-01 11:44 ./
drwxr-x–x 6 root users 4096 2011-06-01 11:41 …/
-rw-r–r-- 1 test users 220 2010-04-19 04:15 .bash_logout
-rw-r–r-- 1 test users 3103 2010-04-19 04:15 .bashrc
-rw-r–r-- 1 test users 675 2010-04-19 04:15 .profile
-rw-r–r-- 1 root root 6 2011-06-01 11:42 Truc
su - test
whoami
test
pwd
/home/test
ls -al
drwx------ 2 test users 4096 2011-06-01 11:44 .
drwxr-x–x 6 root users 4096 2011-06-01 11:41 …
-rw-r–r-- 1 test users 220 2010-04-19 04:15 .bash_logout
-rw-r–r-- 1 test users 3103 2010-04-19 04:15 .bashrc
-rw-r–r-- 1 test users 675 2010-04-19 04:15 .profile
-rw-r–r-- 1 root root 6 2011-06-01 11:42 Truc
cat Truc
Essai
rm Truc
rm : supprimer fichier standard (protégé en écriture) «Truc» ? o
ls -al
drwx------ 2 test users 4096 2011-06-01 11:46 .
drwxr-x–x 6 root users 4096 2011-06-01 11:41 …
-rw-r–r-- 1 test users 220 2010-04-19 04:15 .bash_logout
-rw-r–r-- 1 test users 3103 2010-04-19 04:15 .bashrc
-rw-r–r-- 1 test users 675 2010-04-19 04:15 .profile
^D
userdel -r test
[/code]
Ben non, tu vois, mon utilisateur test peut parfaitement supprimer un fichier appartenant à root qui se trouve dans son répertoire.
Si tu veux parvenir à tes fins, il faut procéder de la sorte :
[code]whoami
root
useradd -u 2000 -m -s /bin/bash test
chown root:test /home/test
chmod 1770 /home/test
cd /home
ls -al
drwxr-x–x 6 root users 4096 2011-06-01 12:12 .
drwxr-xr-x 25 root root 4096 2011-05-30 15:03 …
drwxrwx–T 2 root test 4096 2011-06-01 12:12 test
cd test
ls -al
drwxrwx–T 2 root test 4096 2011-06-01 12:12 .
drwxr-x–x 6 root users 4096 2011-06-01 12:12 …
-rw-r–r-- 1 test test 220 2010-04-19 04:15 .bash_logout
-rw-r–r-- 1 test test 3103 2010-04-19 04:15 .bashrc
-rw-r–r-- 1 test test 675 2010-04-19 04:15 .profile
echo “Essai” > Truc
ls -al
-rw-r–r-- 1 test test 220 2010-04-19 04:15 .bash_logout
-rw-r–r-- 1 test test 3103 2010-04-19 04:15 .bashrc
-rw-r–r-- 1 test test 675 2010-04-19 04:15 .profile
-rw-r–r-- 1 root root 6 2011-06-01 12:15 Truc
su - test
whoami
test
pwd
/home/test
ls -al
drwxrwx–T 2 root test 4096 2011-06-01 12:15 .
drwxr-x–x 6 root users 4096 2011-06-01 12:12 …
-rw-r–r-- 1 test test 220 2010-04-19 04:15 .bash_logout
-rw-r–r-- 1 test test 3103 2010-04-19 04:15 .bashrc
-rw-r–r-- 1 test test 675 2010-04-19 04:15 .profile
-rw-r–r-- 1 root root 6 2011-06-01 12:15 Truc
cat Truc
Essai
rm Truc
rm : supprimer fichier standard (protégé en écriture) «Truc» ? o
rm: impossible de supprimer «Truc»: Opération non permise
ls -al
drwxrwx–T 2 root test 4096 2011-06-01 12:15 .
drwxr-x–x 6 root users 4096 2011-06-01 12:12 …
-rw-r–r-- 1 test test 220 2010-04-19 04:15 .bash_logout
-rw-r–r-- 1 test test 3103 2010-04-19 04:15 .bashrc
-rw-r–r-- 1 test test 675 2010-04-19 04:15 .profile
-rw-r–r-- 1 root root 6 2011-06-01 12:15 Truc
echo “Le fichier de Test” > Machin
ls -al
drwxrwx–T 2 root test 4096 2011-06-01 12:17 .
drwxr-x–x 6 root users 4096 2011-06-01 12:12 …
-rw-r–r-- 1 test test 220 2010-04-19 04:15 .bash_logout
-rw-r–r-- 1 test test 3103 2010-04-19 04:15 .bashrc
-rw-r–r-- 1 test test 12 2011-06-01 12:17 Machin
-rw-r–r-- 1 test test 675 2010-04-19 04:15 .profile
-rw-r–r-- 1 root root 6 2011-06-01 12:15 Truc
[/code]
En fait, le répertoire /home/test n’appartient pas à test, mais à root. On place les droits d’écriture sur le groupe ‘test’ (Qui est créé automatiquement lorsque qu’on omet de spécifier un groupe principal lors de la commande useradd) ainsi que le sticky bit, pour que les fichiers créés dans ce répertoire ne soient modifiables et supprimables QUE par celui qui les à créés.
Toutefois, cela peut poser problème pour certaines commandes qui vérifient que le $HOME appartient bien à l’utilisateur :
[code]whoami
root
userdel -r test
userdel : /home/test n’appartient pas à test, non supprimé
ls -al /home
drwxr-x–x 6 root users 4096 2011-06-01 12:26 .
drwxr-xr-x 25 root root 4096 2011-05-30 15:03 …
drwxrwx–T 2 root 2000 4096 2011-06-01 12:26 test
rm -Rf /home/test
[/code]
Il faut, de plus, faire bien attention à ce que chaque utilisateur ait son propre groupe, car comme cette solution travaille sur les droits de groupe plutôt que sur les droits de l’utilisateur, sinon toutes les personnes d’un même groupe auront le droit d’ajouter des fichiers et de lire dans le /home d’un autre utilisateur. Le pire, c’est qu’un fichier ‘Test2’ ajouté par l’utilisateur ‘test2’ dans le répertoire /home/test ne sera pas supprimable par l’utilisateur ‘test’. Cela peut aussi entrainer d’énormes problèmes de sécurité (Création par exemple d’un .profile, plaçant le path comme ceci : export PATH=/home/test2/bin:$PATH). Dans ce cas, lorsque test voudra par exemple exécuter une commande (passwd ?), si test2 à créé /home/test2/bin/passwd, celui ci sera exécuté AVANT l’utilitaire système se trouvant dans /sbin/passwd. Test2 peut alors récupérer sans problème le passwd de l’utilisateur ‘test’.
PS : [quote]@ Noop :
pas d’accord.[/quote]
Ce n’est pas une histoire d’être d’accord où pas avec moi, ce n’est pas moi qui à défini les droits Unix, j’étais pas encore tout à fait né fin des années 60 lors de la création d’Unix… 
fr.wikipedia.org/wiki/UNIX
fr.wikipedia.org/wiki/Permissions_Unix
Bonne lecture.