1、vsftp安装linux
通常在CentOS上都自动安装了vsftd,若没有安装则可使用如下步骤进行安装shell
[root@lnmp yum.repos.d]# yum install vsftpd [root@lnmp ~]# chkconfig vsftpd on [root@lnmp ~]# service vsftpd start # 清空iptables,并关闭iptables和selinux [root@lnmp ~]# iptables -F # 清空iptables规则 [root@lnmp ~]# iptables -L -nv Chain INPUT (policy ACCEPT 40 packets, 3328 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 25 packets, 3208 bytes) pkts bytes target prot opt in out source destination [root@lnmp ~]# service iptables stop # 关闭防火墙 iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] [root@lnmp ~]# chkconfig iptables off # 设置iptables开机不启动 # 关闭selinux [root@lnmp ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux [root@lnmp ~]# shutdown -r now
2、匿名/系统用户配置测试vim
[root@lnmp ~]# useradd -s /sbin/nologin shaw [root@lnmp ~]# passwd shaw
默认,安装好vsftp,匿名用户(只可下载)和系统用户(彻底权限)就能够访问session
由于系统用户登陆ftp,即在本身家目录中,全部具有所有权限工具
更改系统帐号ftp主目录,对用户限速测试
[root@lnmp ~]# vim /etc/vsftpd/vsftpd.conf local_root=/var/ftp/pub # 更改系统用户主目录 local_max_rate=1024000 # 系统用户限速1MB(上传和下载) [root@lnmp ~]# service vsftpd restart [root@lnmp ~]# chmod o+w /var/ftp/pub # 加权限,能够上传和删除(ftp权限,由dir权限和ftp权限共同控制)
此时系统用户登陆ftp,就在‘/var/ftp/pub’目录下,须要什么样的权限,手工添加ui
3、vsftpd虚拟用户配置测试spa
1. 编辑配置文件vi /etc/vsftpd/vsftpd.confrest
[root@lnmp ~]# touch /var/log/vsftpd.log # 建立vsftp的日志文件 [root@lnmp ~]# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO #设定不容许匿名访问 local_enable=YES #设定本地用户能够访问 chroot_list_enable=YES #使用户不能离开主目录 xferlog_file=/var/log/vsftpd.log #设定vsftpd的服务日志 pam_service_name=vsftpd #PAM"认证文件"名,PAM将根据/etc/pam.d/vsftpd进行认证 # Vsftpd虚拟用户支持服务配置,默认vsftpd.conf中不包含这些设定项目,须要本身手动添加 guest_enable=YES #设定启用虚拟用户功能。 guest_username=ftp #指定虚拟用户的宿主用户。系统中已经有内置的"ftp"用户了 user_config_dir=/etc/vsftpd/vuser_conf #设定虚拟用户我的vsftp的配置文件存放路径。存放虚拟用户个性化的配置文件名,应和虚拟用户名相同
2. 建立chroot_list,将用户ftp加入其中日志
[root@lnmp ~]# touch /etc/vsftpd/chroot_list [root@lnmp ~]# echo ftp >> /etc/vsftpd/chroot_list
3. 进行虚拟用户认证配置
安装Berkeley DB工具,后面找不到db_load的问题就是没有安装这个软件包的缘由
[root@lnmp ~]# yum install db4 db4-utils
建立用户密码文件vuser_passwd.txt
[root@lnmp ~]# vi /etc/vsftpd/vuser_passwd.txt # #注意奇数行是用户名,偶数行是密码 ftpuser q.123456
生成虚拟用户认证的db文件
[root@lnmp ~]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
编辑认证文件/etc/pam.d/vsftpd,所有注释掉原来语句,并增长如下两行
[root@lnmp ~]# vi /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 auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
建立虚拟用户服务配置文件
[root@lnmp ~]# mkdir /etc/vsftpd/vuser_conf [root@lnmp ~]# vi /etc/vsftpd/vuser_conf/ftpuser # 配置文件名和用户名相同,每行配置最后,不能有空格,不然启动时报错 local_root=/var/ftp/pub # 虚拟用户的根目录(根据实际修改) write_enable=YES # 可写 anon_umask=022 # 掩码 anon_max_rate=1024000 # 限速1MB anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES [root@lnmp ~]# mkdir /var/ftp/ftpuser # 给刚创建的用户建立目录 [root@lnmp ~]# chown -R ftp /var/ftp/ftpuser # 设定目录权限
4.从新启动vsftp服务
[root@lnmp ~]# service vsftpd restart