「/etc/pam.d/vsftpd」でブロックされたユーザーは、まだ「lftp」としてログインできます。

「/etc/pam.d/vsftpd」でブロックされたユーザーは、まだ「lftp」としてログインできます。

192.168.122.50 コンピューターで FTP サーバーを実行しています。

以下は、/etc/vsftpd/vsftpd.conf ファイルの最後の 3 つのディレクティブです。

pam_service_name=vsftpd
#userlist_enable=YES
#userlist_deny=YES

以下は、/etc/pam.d/vsftpd ファイルの内容です。

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

以下は、/etc/vsftpd/ftpusers ファイルの内容です。

#This is the list of blocked users as per the following line /etc/pam.d/vsftpd
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

したがって、たとえば、root2人のユーザーがこのシステムのFTPサーバーにアクセスするのをブロックする必要がありますが、ssam2人のユーザーにアクセスを許可する必要があります。

これで、クライアントシステム192.168.0.2でこれを試しました。

am@centos ~]$ ftp 192.168.122.50
Connected to 192.168.122.50 (192.168.122.50).
220 (vsFTPd 2.2.2)
Name (192.168.122.50:ssam): ssam    
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> exit
221 Goodbye.
[ssam@centos ~]$ ftp 192.168.122.50
Connected to 192.168.122.50 (192.168.122.50).
220 (vsFTPd 2.2.2)
Name (192.168.122.50:ssam): root
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> bye
221 Goodbye.

に出力パムssamユーザーを許可し、rootユーザーをブロックするように設定します。

これで、rootユーザーとしてサーバーに接続するためにクライアント側でlftpコマンドを試しました。

[ssam@centos ~]$ lftp [email protected]
Password: 
lftp [email protected]:~>

実際にログインできます禁止これはユーザー、 rootlftpプロンプトが表示されるためです。これでコマンドを実行しようとしています。

lftp [email protected]:~>
ls: Login failed: 530 Login incorrect.

今、私はサーバーが気をつけているようだから、もう何もできないと言っています。ただし、プラグイン認証モジュールは、ユーザーがroot最初からサーバーに入るのを防ぐ必要があります。

誰かが私にこれを説明できますか?

答え1

IMO、これはクライアントが機能する1つの方法ですlftp。ログファイル/var/log/secure(RHEL / CentOS上)または同様のイベントを確認してください。

pam_listfile(vsftpd:auth): Refused user root for service vsftpd

FTPトラフィック(RHEL 6.x、vsftpd 2.2.2、lftp 4.0.9)をスニッフィングしてこの動作を確認しました。 FTP接続は、lsユーザー名とパスワードを入力したときに設定される有効なFTPコマンド(とも呼ばれる)を入力した後にのみ確立されます。

答え2

vim /etc/vsftpd/vsftpd.conf 

2行目に来てください...userlist_enable="NO"

保存して後で

# vim /etc/vsftpd/ftpusers

このファイルの...から「root」ユーザーを削除します。

FTP 経由でログインするユーザーは許可されません。サービスを保存して再起動します。効果があったらと思います...

関連情報