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
したがって、たとえば、root
2人のユーザーがこのシステムのFTPサーバーにアクセスするのをブロックする必要がありますが、ssam
2人のユーザーにアクセスを許可する必要があります。
これで、クライアントシステム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]:~>
実際にログインできます禁止これはユーザー、 root
lftpプロンプトが表示されるためです。これでコマンドを実行しようとしています。
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 経由でログインするユーザーは許可されません。サービスを保存して再起動します。効果があったらと思います...