Comptes utilisateurs ? comment tous les utiliser ?

Hello,

Je vais vous poser une question qui va sembler stupide à beaucoup d’entre vous, mais étant donné que je n’ai jamais eu à le faire moi même (ce sont mes daemons qui gèrent ça)…

Si je fais un getent passwd :

[quote]root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
statd:x:102:65534::/var/lib/nfs:/bin/false
coldroom:x:1000:1000:julian,:/home/coldroom:/bin/bash
sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin
openldap:x:104:106:OpenLDAP Server Account,:/var/lib/ldap:/bin/false
fetchmail:x:105:65534::/var/lib/fetchmail:/bin/false[/quote]

Bon, de tout ça, manuellement j’en utilise que le root et mon compte user, voire nobody, le reste des comptes n’est utilisé automatiquement que par nos applis. J’avais déjà fait le test avant, mais si je fais un “su” suivi du nom d’un de la plupart de ces comptes (je ne les ai pas tous essayé), je n’arrive pas à me loguer, je retombe en root systématiquement. Pour régler un problème (cf autre post), j’ai besoin d’utiliser le compte openldap pour faire une manip, mais, en root, un “su openldap” ne change strictement rien, je reste root. Et quand j’essaye depuis un terminal vierge, j’ai le message “access denied”, sachant que de toute façon je ne connais pas le password de ce compte (ni des autres que j’ai voulu essayer).

Ça peut sembler élémentaire, voire être une base, de savoir ça, mais perso je n’ai jamais eu à vraiment m’en soucier avant aujourd’hui.

/edit : ah oui, et un truc que j’ai remarqué : est-ce que ça n’aurait pas un rapport avec le fait que leur shell par défaut soit /bin/false ?

Pour certains de ces comptes, tu ne peux pas te loguer avec car ils ont un /bin/false ou un /usr/sbin/nologin.

Normalement, tu ne dois jamais utiliser directement ces comptes. Ils sont utilisés par les démons pour se lancer, etc.
C’est généralement pour des questions de sécurité. Si quelqu’un par exemple parviens à “craquer” ton serveur web et que celui-ci a les droits root, il pourra faire ce qu’il veut sur ta machine. C’est pour cette raison que l’utilisateur apache est créé lors de l’installation de ton serveur web.
Bref, il n’est généralement pas nécessaire d’utiliser “manuellement” un de ces comptes.

Si pour une raison ou une autre tu dois vraiment te loguer en openldap, tu dois lui mettre un /bin/bash.
Pour ce qui est du mot de passe, il ne doit pas en avoir et de toute façon, si tu fais un “su - openldap” en tant que root, il ne sera pas demandé.

Salut,

[quote]
sudo su -s /bin/bash[/quote]

Parfait, tout marche très bien, encore une fois, merci pour votre aide et vos explications :slightly_smiling: