本文共 2336 字,大约阅读时间需要 7 分钟。
说明:vsftp为系统自带的,可以直接yum安装
1. 直接启动
说明:自动生成启动脚本 /etc/init.d/vsftpd;启动前需查看21端口是否被占用
命令 /etc/init.d/vsftpd start
2. 服务端系统用户家目录下创建目录和文件
说明:vsftp配置文件默认允许系统用户登录,如user3
命令 mkdir /home/user3/aabb
命令 touch /home/user3/1122.txt
3. 客户端登录
说明:以服务端user3的用户和密码身份登录,可以查看上传下载共享目录下的文件,需yum安装lftp工具
命令 lftp user3@192.168.11.160
注:客户端登录之后,除了访问user3的家目录外,默认也可以访问服务端的其它系统目录!!!
4. 编辑vsftp配置文件
说明:限定只能访问登录用户的家目录;配置文件/etc/vsftpd/vsftpd.conf
找到 #chroot_local_user=YES,去掉注释#
注:也可设置chroot_list列表,限定某些目录
给vsftpd映射一个虚拟用户
1.创建虚拟用户
说明:密码库文件记录登录用户和密码
命令 useradd virftp -s /sbin/nologin
2. 为虚拟用户创建密码库文件,授权600、生成二进制库文件
2.1密码库文件
命令 vim /etc/vsftpd/vsftpd_login //奇数行为用户名,偶数行为密码
test1
111222aaa
test2
aaa111ddd
2.2 只允许root可以查看密码库文件
命令 chmod 600 /etc/vsftpd/vsftpd_login
2.3 生成二进制库文件
说明:vsftp只能识别二进制库文件
命令 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
注:选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让Vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用这个选项。指定了选项-T,那么一定要追加子选项-t;子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型。-f 参数后面接包含用户名和密码的文本文件,文件的内容是:奇数行用户名、偶数行密码hash就是使用hash码加密
3. 为密码库文件中的用户创建配置文件、家目录的权限映射为虚拟用户
3.1 配置文件,以登录用户名命名
命令 mkdir /etc/vsftpd/vsftpd_user_conf ;vim /etc/vsftpd/vsftpd_user_conf/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
3.2 创建家目录,权限为映射的虚拟用户
命令 mkdir /home/virftp/test1 ;chown -R virftp:virftp /home/virftp/test1
4. 用户登录时,指定二进制密码库文件信息
说明:用到pam_userdb.so模块,需填写系统中正确的路径
vim /etc/pam.d/vsftpd
添加内容:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5. 编辑vsftp主配置文件/etc/vsftpd/vsftpd.conf
说明:禁用关于匿名用户的权限内容,启用指定虚拟来宾用户
修改内容:
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
//加入内容:
guest_enable=YES # 允许来宾用户
guest_username=virftp # 指定来宾用户名
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf # 指定来宾用户的配置文件
注:配置文件不能有多余的空格,否则会报错!!!
6. 客户端登录
说明:修改了配置文件需重启,在家目录/home/virftp/test1创建文件和目录,客户端登录可以看到
命令 /etc/init.d/vsftpd restart
linux登录方式 lftp test1@192.168.11.160
windows登录方式 ftp://192.168.11.160/