# 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
su
내 질문이나 질문이 있나요 www-data
? 예전엔 효과가 있었는데...
아마도 그렇기 때문일 것입니다 /usr/sbin/nologin
. 하지만 시스템의 다른 서비스에 영향을 주지 않고 이 스크립트를 삭제하려면 어떻게 해야 합니까 (팀이 정당한 이유로 이를 선택했다고 root
믿고 싶습니다 )?nologin
Debian
답변1
su
이것을 "사용자 전환"에 사용하고 있습니다 . 물론 www-data
이것은 로그인에 사용할 수 없는 사용자 계정이므로 작동하지 않습니다. 당신은 그것을 말했습니다 : /usr/sbin/nologin
.
아마도 당신이 원하는 것은 sudo
"다른 사용자로 명령 실행"일 것입니다.
sudo -u www-data ./http-app.py
답변2
논쟁할 필요가 없습니다 su
. 명령줄에 sudo
추가해 보세요 . -s /bin/sh
(데비안 매뉴얼 페이지 웹 서버가 작동하지 않기 때문에 이 옵션이 jessie에 대해 작동하는지 확인할 수 없습니다.https://manpages.debian.org/)
답변3
www-data
명령을 실행할 뿐만 아니라 해당 사용자 로 전환하여 무언가를 테스트하고 싶다면 다음과 같이 하면 됩니다.
sudo -u www-data sh
조금 짧습니다. 세션을 종료하려면 [ctrl]+[d]를 사용하거나exit
답변4
또 다른 가능성이 있습니다(저에게는 Debian 10에서 작동합니다).
루트로 편집할 수 있습니다 /etc/passwd
. 셸을 ~ www-data
또는 원하는 대로 /usr/sbin/nologin
변경할 수 있습니다./bin/bash
www-data:x:33:33:www-data:/var/www:/bin/bash
www-data
비밀번호를 입력하는 것을 잊지 마세요
passwd www-data
www-data
그런 다음 일반 사용자로 로그인 할 수 있습니다 .