disons que sbin est l'endroit où on trouve les programmes système importants et /usr
/bin les autres et pis y a aussi /opt /usr/bin/local
en fait j avais lu /sbin pas /usr/sbin ( qui contient les programmes systèmes d importance seconde par exemple mount est sur sbin puisqu'il permet l'accès aux disques alors que sshd qui est un serveur sécurisé est sur /usr/sbin )
pour les autorisations : un chmod 777 est indispensable pour tes tests
ls -al pour voir les autorisations
chmod 777 fichier
chmod 777 répertoire
chmod -R 777 répertoire ( et ses sous rép )
sinon :
comprends bien que les programmes du démarrage sont des programmes de l'utilisateur root
donc si tu as créés tes programmes ( ou copiés ) sous ton utilisateur normal ils ne peuvent pas être exécutés par root sans ajout spécial
ou un changement d'utilisateur :
chown root.root [fichier|rép]
un petit man chmod et man chown peut être utile
d'un point de vue général, si tu places un programme dans un répertoire il doit avoir les mêmes droits que les autres programes du répertorie ça garde la logique et permet d'éviter les erreurs
par exempel dans /usr/sbin :
ls -al $(find /usr/sbin/ -type f)
tous les fichiers sont
-rwxr-xr-x 1 root root soit chown root.root et chmod 755 ( r=4,w=2,x=1)
sauf quelques uns qui sont
-rwsr-xr-x 1 root root soit chown root.root et chmod 4755 ( r=4,w=2,x=1)
le s signifie que le programme est excutable x ( sinon on aurait S ) et qu'il est toujours exécuté comme si c'était le propriétaire du programme qui le lancait
Ceci est très clair, merci pour le petit tuto.
J'aurais quand même une question supplémentaire : mon script doit s'exécuter avec des droits d'administrateur. Quand je le fais à la main, c'est avec sudo ou gksudo, mais je n'ai pas envie d'avoir un terminal qui me demande un mot de passe au démarrage du mon PC... Y a-t-il un moyen de lancer au démarrage un script en root ?
Xavier