vsftpdをインストールした後、私のシステムにftpユーザーができました。このアカウントにパスワードを割り当てました。ただし、まだftpユーザーとしてログインすることはできません(コマンドラインではftpプロトコルは関係ありません)。
su - ftp
password:
... still the previous user is logged on
人々は私がなぜこれをするのか疑問に思うでしょう。まあ、FTP経由でファイルシステム全体を公開したいと思います。人々はこうしてはいけないということです。
答え1
ftp
その理由は、アカウントにデフォルトのシェルがあるか/bin/false
類似しているためです。
$ getent passwd ftp
ftp:x:116:127:ftp daemon,,,:/srv/ftp:/bin/false
これはセキュリティの面では良い考えではありませんが、ユーザーシェルを有効な値に設定するには、chsh
次のように使用できます。
# chsh ftp /bin/bash
chsh ftp
Changing the login shell for ftp
Enter the new value, or press ENTER for the default
Login Shell [/bin/false]: /bin/bash