web-dev-qa-db-ja.com

ユーザーがUbuntuへのログイン権限を持っているかどうかを確認するにはどうすればよいですか?

ユーザーwww-dataを使用してシステム(Ubuntu Lucid)にログインできないようにしたい。どうすればわかりますか? -このユーザーに対して実行できるコマンドはありますか? (従来はApacheデーモンによって実行されていました)

3
morpheous

passwd -l www-data

2
Daenyth

必要な情報は/etc/passwdファイルにあります(これは誰でも読み取り可能です。パスワードのハッシュは実際には/etc/shadowに保持されます。

$ grep www-data /etc/passwd

の線に沿って何かを生成する必要があります

www-data:x:111:112::/home/www-data:/bin/false

(私はApacheをインストールしていないので、詳細はおそらく異なります)。重要な詳細は、ログインシェルである最後の:の後の部分です。この場合は/bin/falseです。これは、そのユーザーとしてログインできないことを意味します。ユーザー名に対応する行を見ると、/bin/bashであることがわかり、ログインできるようになっています。

Www-dataに有効なログインシェルがある場合は、/etc/passwdに移動して編集し、ログインシェルを/bin/falseに変更します。

8
Hamish Downer