su を使用して www-data でコマンドを実行することはできません。

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私の質問や質問がありますかwww-data?以前は効果がありました...

おそらくそうだからでしょう/usr/sbin/nologin。しかし、システムの他のサービスに影響を与えずにこのスクリプトを削除するにはどうすればよいですか(チームが正当な理由でこれを選択したとroot思います)。nologinDebian

ベストアンサー1

suこれを「ユーザー切り替え」に使用しています。もちろん、www-dataこれはログインに使用できないユーザーアカウントなので、機能しません。あなたはそれを言った:/usr/sbin/nologin

おそらくあなたが望むのは、sudo「他のユーザーとしてコマンドを実行する」ことです。

sudo -u www-data ./http-app.py

おすすめ記事