|
ftp除了前面的pure_ftp外,还有linux自带的vsftp,
当然vsftp是默认是可以让系统账号登入,并且可以目录随便进入的,非常不安全。所以这里来讲一个怎么用虚拟的账号登入,并且限制系统账户登入。
- 首先下载。
yum install -y vsftp db4-utils (db4-utils在生成库文件需要)
- 建立虚拟的账号相关联的系统账号,并限制其登入。
uaseradd virftp -s /sbin/nologin
- 建立虚拟账户相关的文件
vim /etc/vsftpd/vsftpd_login
test1
123456
test2
abcde
- 更改权限
chmod 600 /etc/vsftp/vsftpd_login
- 生成库文件
db_locad -T -t -hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
- 创建虚拟机账号相关的目录以及配置文件
mkdir /etc/vsftpd/vsftpd_user_conf
cd !$
- vim test1
local_root=/home/virftp/test1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
注:local_root为该账号的家目录,anonymous_enable用来限制是否允许匿名账号登入。这里为NO表示不允许匿名登录。write_enable=YES表示可写。anon_upload_enable=NO表示允许匿名账号上传文件。等,其余参数不说。
- 创建该虚拟账号的家目录
mkdir /home/virftp/test1
- chown virftp:virftp /home/virftp
- 编辑文件使用上面的库文件
vim /etc/pam.d/vsftpd
auth suffcient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account suffcient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注:这里要注意的是,当linux是32位系统所库文件的路径是/lib/security/pam_userdb.so
当linux是64位系统所库文件的路径是/lib64/security/pam_userdb.so
- 好饿了虚拟账号 的设置设置完了,不要以为这样就可以了,我们还要在全局的vsftp的配置文件修改一些东西
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO (把YES改成NO)
anon_upload_enable=NO (把YES改成NO)
anon_mkdir_write_enable=NO (把YES改成NO)
然后再文件的末尾增加这些
guest_enable=YES (来宾账号可写)
guest_username=virftp (自己创建系统账号,可以叫来宾账号)
virtual_use_local_privs=YES
user_config_dir= /etc/vsftpd/vsftpd_user_conf (前面自己创建的)
- 重启
|
|
|
|
|
|
|