linux-ftp-vsftp使用-傻瓜手册-阿里云centos
一、下载相应的安装包。
1.下载vsftp:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64)
2.下载依赖包libcap:http://mirror.centos.org/centos/7/os/x86_64/Packages/libcap-2.22-11.el7.x86_64.rpm
3.下载后安装,输入以下指令。注意文件放的地址,如放在/home下
rpm -ivh libcap-devel-2.22-11.e17.x86_64.rpm
rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
3.1./home下输入:
rpm -ivh /home/libcap-devel-2.22-11.e17.x86_64.rpm
rpm -ivh /home/vsftpd-3.0.2-22.el7.x86_64.rpm
4.检查是否安装成功
rpm -qa | grep vsftpd
出现版本号为安装成功:
5.首先备份vsftpd的配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.backup.conf
二、开始进入配置环节
1. 建立认证文件模板/etc/vsftpd/ftp_auth,写出虚拟用户的名称和密码,加密认证文件。ftp_auth为存放用户名和密码的文件。奇数行为用户名,偶数行为密码。
vim /etc/vsftpd/ftp_auth
例如:
3.填写用户名和密码
firAdmin01
123
firUser01
123
SecAdmin02
123
SecUser02
123
2.生成虚拟用户数据文件,注意:如果更新用户后,数据文件需要重新生成才能生效。
db_load -T -t hash -f /etc/vsftpd/ftp_auth.txt /etc/vsftpd/ftp_auth.db
3.在/etc/pam.d/ftp_auth认证策略文件中写出读取的规则,包括账户,配置一致才能通过原则,谁执行该操作,文件模板在哪里。
vim /etc/pam.d/ftp_auth
4.其他都删除,改成下面两行,注意空格用tab
account required pam_userdb.so db=/etc/vsftpd/ftp_auth
auth required pam_userdb.so db=/etc/vsftpd/ftp_auth
如图所示:
三、创建相应目录和映射系统用户
本例以两个权限不同的用户,根目录为同一文件夹,两个用户权限不同。
firAdmin01、firUser01对应文件夹First
secAdmin01、secUser01对应文件夹Second
主文件夹为:/newDir
用户对应文件夹分别为:/newDir/First、/newDir/Second
1.创建权限文件夹
mkdir -p /newDir/First
mkdir -p /newDir/Second
2.创建映射系统用户,本例命名为ftpadmin
useradd -s /sbin/nologin ftpadmin
设置ftpadmin密码
passwd ftpadmin
输入ftpadmin密码,需输入两次,自行记录即可,与上述ftp_auth密码没有关系。
3.给ftpadmin赋权限,使ftpadmin成为newDir文件夹的属组和属主。
Chown -R ftpadmin: ftpadmin /newDir
四、用户配置,子配置文件
1.创建文件夹存放子配置文件,user_conf为存放子配置文件地方
mkdir /etc/vsftpd/user_conf
2.修改子配置文件。
2.1针对firAdmin01用户
vim /etc/vsftpd/user_conf/firAdmin01
权限设置为:firAdmin01针对/newDir/First文件夹可读可写可下载可上传。
local_root=/newDir/First
guest_enable=YES
guest_username=ftpadmin
anon_world_readable_only=NO
write_enable=YES
download_enable=YES
anon_umask=022
2.2针对firUser01用户
vim /etc/vsftpd/user_conf/firUser01
权限设置为:firUser01针对/newDir/First文件夹可读可上传,不可下载和删除。
local_root=/newDir/First
guest_enable=YES
guest_username=ftpadmin
anon_world_readable_only=NO
write_enable=YES
download_enable=NO
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
2.3针对secAdmin01用户
vim /etc/vsftpd/user_conf/secAdmin01
权限设置为:secAdmin01针对/newDir/Second文件夹可创建和下载文件,不可上传或删除。
local_root=/newDir/Second
guest_enable=YES
guest_username=ftpadmin
anon_world_readable_only=NO
write_enable=YES
download_enable=YES
anon_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=YES
anon_other_write_enable=NO
2.4针对secUser02用户
vim /etc/vsftpd/user_conf/secUser02
权限设置为:secUser02针对/newDir/Second文件夹可删除和下载,不可上传或创建。
local_root=/newDir/Second
guest_enable=YES
guest_username=ftpadmin
anon_world_readable_only=NO
write_enable=YES
download_enable=NO
anon_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=YES
五、修改主配置文件
1.在/etc/vsftpd下新建chroot_list文件,空文件即可,必须有这一步否则会报错。
vim /etc/vsftpd/chroot_list
:wq
退出保存即可。
2.修改主配置文件:
vim /etc/vsftpd/vsftpd.conf
3.修改配置文件
anonymous_enable=NO
allow_writeable_chroot=YES
guest_service_name=ftp_auth
guest_enable=YES
guest_username=ftpadmin
userlist_enable=YES
user_config_dir=/etc/vsftpd/user_conf
allow_writeable_chroot=YES
4.运行以下命令,重启FTP服务。
systemctl restart vsftpd.service
可以使用配置好的ftp传文件啦~