Debian
無法使用 su 作為 www-data 執行命令
# 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
or有什麼問題www-data
?它曾經工作…大概這是因為
/usr/sbin/nologin
,但是我如何放棄root
這個腳本,而不損害系統上的其他服務(團隊nologin
選擇Debian
了一個很好的理由,我想相信)?
無需辯論
su
,sudo
您可以嘗試添加-s /bin/sh
到命令行。(我無法驗證此選項是否可用於 jessie,因為 Debian 聯機幫助頁網路伺服器無法正常工作:https ://manpages.debian.org/ )
您正在使用
su
哪個用於“切換使用者”。當然它不會起作用,因為它www-data
是一個不能用於登錄的使用者帳戶。你已經告訴它了:/usr/sbin/nologin
。也許您想要的
sudo
是用於“以另一個使用者身份執行命令”。sudo -u www-data ./http-app.py