作者:菜蕻的薇笑2602929033 | 来源:互联网 | 2023-07-09 05:07
安装sudoaptinstallvsftpd-y启动sudosystemctlstartvsftpd.service停止sudosystemctlstartvsftpd.
安装
sudo apt install vsftpd -y
启动
sudo systemctl start vsftpd.service
停止
sudo systemctl start vsftpd.service
设置为开机启动的服务
sudo systemctl enable vsftpd.service
进入etc目录
cd /etc
创建文件夹
mkdir vsftpd
创建文件
vim loguser.txt
将用户名、密码一行一行地填写,比如用户名为usera,密码为123456,那么,loguser.txt的内容是:
usera
123456
根据loguser.txt文件创建虚拟用户数据库:
db_load -T -t hash -f loguser.txt /etc/vsftpd/login.db
chmod 600 /etc/vsftpd_login.db
3.赋予虚拟用户数据库文件合适的权限:
$chmod 600 /etc/vsftpd_login.db
4.创建新的vsftpd认证配置文件:
$touch /etc/pam.d/vsftpd.vu
文件/etc/pam.d/vsftpd.vu的内容是
auth sufficient pam_userdb.so db=/etc/vsftpd_login
account sufficient pam_userdb.so db=/etc/vsftpd_login
5.创建用户vsftpd
$useradd vsftpd -d /home/vsftpd -s /bin/false
$chown vsftpd:vsftpd /home/vsftpd
6.修改vsftpd配置文件,内容如下:
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/user_conf
pam_service_name=vsftpd.vu
local_enable=YES
secure_chroot_dir=/var/run/vsftpd
local_max_rate=204800
7.创建虚拟用户配置目录,并为用户usera创建配置文件:
mkdir /etc/vsftpd/user_confcd /etc/vsftpd/user_conftouch usera文件/etc/vsftpd/user/conf/usera的内容是local_root=/home/vsftpd/usera
8.创建usera的工作目录:
-
$cd /home/vsftpd/
-
$mkdir usera
-
$touch test.txt
9.重启vsftpd:
$/etc/init.d/vsftpd restart
在企业里常越到这样的情况,需要创建一些FTP账户让他们管理ftp服务,而又不想让他们拥有系统账号。尽管可以设置让他们无法登陆系统,如果有一堆Ftp账号需要建议,创建那么多系统账号也感觉很不爽,而且不是很安全。下面的方法就是配置FTP的虚拟用户,他们只能登陆ftp,而不属于系统上的账号,爽吧yum -y install vsftpd一、建立Vsftpd虚拟用户:1、添加虚拟用户口令文件安装Vsftpd[root@localhost ~]#vi /etc/vsftpd/vftpuser.txt添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。ftp1 #用户名123456 #密码ftp2 #用户名123456 #密码2、生成虚拟用户口令认证文件将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。下面使用db_load命令生成虚拟用户口令认证文件。[root@localhost ~]# [root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt/etc/vsftpd/vftpuser.db3、编辑vsftpd的PAM认证文件在/etc/pam.d目录下,[root@localhost ~]#vi /etc/pam.d/vsftpd将里面其他的都注释掉,添加下面这两行:(64位操作系统)auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuseraccount required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser4、建立本地映射用户并设置宿主目录权限所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。[root@localhost ~]#useradd -d /home/vftpsite -s /sbin/nologin vftpuser[root@localhost ~]#chmod 755 /home/vftpsite //网上为700,设置为700后FTP用户无上传权限5、配置vsftpd.conf(设置虚拟用户配置项)[root@localhost ~]#vi /etc/vsftpd/vsftpd.confanonymous_enable=NOlocal_enable=YESlocal_umask=022#dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YES#xferlog_file=/var/log/vsftpd.logxferlog_std_format=YES#chroot_list_file=/etc/vsftpd/chroot_listlisten=YESwrite_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESone_process_model=NOchroot_local_user=YESftpd_banner=Welcome to blah FTP service.anon_world_readable_Only=NOguest_enable=YESguest_username=vftpuserpam_service_name=vsftpduser_config_dir=/etc/vsftpd/userconf多个虚拟用户区分不同的根目录,添加多个配置文件就OK vi userconf/xxxxx01 write_enable=YESanon_world_readable_Only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_root=/home/vftpsite/xxxxx01mkdir /home/vftpsite/xxxxx01chmod 700 /home/vftpsite/xxxxx01chown -R vftpuser:vftpuser /home/vftpsite/xxxxx01ll /home/vftpsitedrwx------ 2 vftpuser vftpuser 4096 7月 14 19:45 xxxxx01drwx------ 3 vftpuser vftpuser 4096 7月 14 19:48 xxxxx026、重启vsftpd服务[root@localhost ~]#service vsftpd restart7、测试虚拟用户登录FTP本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/1169912,如需转载请自行联系原作者