# su -l www-data ./http-app.py
This account is currently not available.
# su -l www-data -c ./http-app.py
This account is currently not available.
# su -c ./http-app.py www-data
This account is currently not available.
# su -lc ./http-app.py www-data
This account is currently not available.
# getent passwd www-data
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
# getent shadow www-data
www-data:*:16842:0:99999:7:::
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.6 (jessie)
Release: 8.6
Codename: jessie
Quel est le problème avec mon su
ou www-data
? Ça fonctionnait ...
Vraisemblablement, c'est à cause de la /usr/sbin/nologin
, mais comment puis-je abandonner root
pour ce script, sans compromettre d'autres services sur le système ( nologin
a été choisi par l' Debian
équipe pour une bonne raison, je veux le croire)?
/bin/sh
est utilisé par défaut et vous devez spécifier l'-s
option uniquement si vous souhaitez passer à/bin/bash
ou similaire.su www-data -s /bin/sh
pour revenir à la racine, tapez simplementsu
.Vous utilisez
su
ce qui est utilisé pour "changer d'utilisateur". Bien sûr, cela ne fonctionnera pas car ilwww-data
s'agit d'un compte utilisateur qui ne peut pas être utilisé pour se connecter. Vous l'avez dit:/usr/sbin/nologin
.Peut-être que ce que vous voulez est celui
sudo
qui est utilisé pour "exécuter une commande en tant qu’autre utilisateur".la source
su
à cette fin et cela fonctionnait toujours.sudo
est un package supplémentaire à installer, mais vous avez raison, je peux l'utiliser pour réaliser ce que je veux.Si vous voulez non seulement exécuter une commande, mais passer à
www-data
afin de tester certaines choses pour cet utilisateur, cela a fonctionné pour moi:C'est un peu plus court. Quittez la session avec [ctrl] + [d] ou
exit
la source
Avec ce genre de problème, j'ai utilisé l'option
-p
:-p: l'environnement est préservé. En particulier , il ne cherche pas à connecter avec le nouveau compte, si vous n'obtenez le message:
This account is currently not available.
.la source