Forum Linux.général useradd et shell

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
13
oct.
2023

dans le but de monter un serveur ftps (avec chiffrement tls) avec pure-ftpd
j'ai fait quelques découvertes
les commandes en console root

# groupadd ftpgroup

essai 1

# useradd -g ftpgroup -d /dev/null -s /usr/sbin/nologin ftpuser

essai 2

# useradd -g ftpgroup -d /dev/null -s /sbin/nologin ftpuser
(pas d'alerte,mais je n'ai pas nologin dans le dossier /sbin ou de lien)

essai 3

# useradd -g ftpgroup -d /dev/null -s /bin/false ftpuser
(pas d'alerte false se trouve dans /bin)

# mkdir /var/ftproot/

# chown ftpuser:ftpgroup /var/ftproot/

# chmod 770 /var/ftproot/

# ls -ld /var/ftproot/ 
drwxrwx--- 2 ftpuser ftpgroup 4096 13 oct.  15:33 /var/ftproot/

# grep ftpuser /etc/passwd
ftpuser:x:1004:1004::/dev/null:/bin/false

# grep ftpgroup /etc/group
ftpgroup:x:1004:

le constat :

les shells sont maintenant dans le dossier /bin
le chemin /sbin/nologin ne donne pas d'alerte
(j'ai corrigé l'erreur d'écriture)

une doc en français pour pure-ftp:
https://doc.ubuntu-fr.org/pure-ftp

os/linux/devuan/chimaera/mate

  • # essai 1

    Posté par  . Évalué à 3. Dernière modification le 13 octobre 2023 à 16:48.

    dans la commande à l'essai 1 il faut écrire /usr/sbin/nologin au lieu de usr/sbin/nologin (manque le / en début)

    • [^] # Re: essai 1

      Posté par  . Évalué à -7.

      vrai , essai 1 , il manquait le slash
      merci

  • # mauvais constats…

    Posté par  (site web personnel, Mastodon) . Évalué à 2.

    Le premier constat que tu fais…

    les shells sont maintenant dans le dossier /bin

    …est un peu faux.
    C’est juste qu’on s’attend (par habitude d’une convention non tacite) à trouver ces binaires dans /bin/ ; mais il n’y a jamais eu d’obligation que ce soit là…

    J’ai souvent croisé des shells à divers emplacement selon les distributions. (Solaris, AIX, MacOS X, etc.)
    Les distributions GNU/Linux ont de plus fusionné /bin et /sbin avec /usr/bin

    Bref, une des raisons pour laquelle les shebang #!/bin/foo sont déconseillés au profit de #!/usr/bin/env foo (mais c’est un autre débat.)

    Concernant le second constat…

    le chemin /sbin/nologin ne donne pas d'alerte

    Je pense qu’il n’y a pas d’alerte parce-que philosophie Unix : root sait toujours ce qu’il-ou-elle fait.
    Quand tu es un autre compte, avec chsh ou chpass, la vérification est faite que que tu choisis bien un shell autorisé/listé dans /etc/shells

    À noter que sur mon Mac par exemple, /sbin/nologin est le bon chemin. Comme quoi.

    “It is seldom that liberty of any kind is lost all at once.” ― David Hume

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.