设为首页 收藏本站
查看: 1009|回复: 0

[经验分享] centos vsftpd 安装配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-6-23 08:41:27 | 显示全部楼层 |阅读模式
1.查看是否安装vsftp
rpm –qa|grep vsftpd
如果出现     vsftpd-2.0.5-16.el5_5.1  说明已经安装 vsftp
安装vsftp
yum -y install vsftpd

2.测试 是否安装成功  (ip 改成自己啊,不要用俺的此次登录为匿名登录 user: anonymous 密码为空 如果成功登录会有下面内容  这说明vsftpd安装成功)
[iyunv@localhost ~]#service vsftpd start
为 vsftpd 启动 vsftpd:[确定]
[iyunv@localhost ~]#ftp 192.168.1.107
Connected to192.168.1.107.
220 (vsFTPd 2.0.5)
530 Please loginwith USER and PASS.
530 Please loginwith USER and PASS.
KERBEROS_V4 rejectedas an authentication type
Name(192.168.1.107:root): anonymous
331 Please specifythe password.
Password:
230 Loginsuccessful.
Remote system typeis UNIX.
Using binary mode totransfer files.
ftp> bye
221 Goodbye.
[iyunv@localhost ~]#


3.修改配置文件/etc/vsftpd/vsftpd.conf
[iyunv@localhost ~]#vi /etc/vsftpd/vsftpd.conf

取消下面内容前面的注释或添加
anonymous_enable=YES/NO  是否允许匿名用户访问
chroot_list_enable=YES   限定用户不可以离开主目录
chroot_list_file=/etc/vsftpd/chroot_list 
loca_enable=YES/NO 本地用户是否可以访问 注:如果为NO 则所有虚拟用户都将不能访问原因:虚拟用户访问在主机上其实是以本地用户访问的
pam_service_name=vsftpd  pam认证文件名 在/etc/pam.d/vsftpd
guest_enable=YES    启用虚拟用户功能
guest_username=ftp  指定虚拟用户的宿主用户 –centos 里面已经有内置的ftp用户了(注:此用户在chroot_list_file=/etc/vsftpd/chroot_list文件里所指定的用户)
user_config_dir=/etc/vsftpd/vuser_conf 设置虚拟用户个人vsftp的服务配置文件
(此文件后面不能出现空格)

4.查看是否安装 db4 db4-utils
[iyunv@localhost ~]#rpm -qa|grep db4  运行后出现下面内容 说明已经安装可以使用db_load命令(主要是 db4-utils)
db4-devel-4.3.29-10.el5_5.2
db4-4.3.29-10.el5_5.2
db4-devel-4.3.29-10.el5_5.2
db4-4.3.29-10.el5_5.2
db4-tcl-4.3.29-10.el5_5.2
db4-utils-4.3.29-10.el5_5.2
[iyunv@localhost ~]#

如果没安装则要安装db4-utils
4.1安装db4-utils
[iyunv@localhost ~]#yum -y install db4-utils

5. 创建 chroot_list_file=/etc/vsftpd/chroot_list文件
[iyunv@localhost ~]#vi /etc/vsftpd/chroot_list (编辑文件把 /etc/vsftpd/vsftpd.conf 中guest_username的值写到文件中本例中为 ftp)
或者直接按下面进行操作
[iyunv@localhost ~]#touch /etc/vsftpd/chroot_list
[iyunv@localhost ~]# echoftp >> /etc/vsftpd/chroot_list  (此处ftp 也要是/etc/vsftpd/vsftpd.conf中的guest_username的值)


6.创建虚拟用户目录(密码文本)
[iyunv@localhost ~]#vi /etc/vsftpd/vftpuser.txtx (奇数行为用户名 ,偶数行为密码)
本文中添加如下(用cat 命令查看)
[iyunv@localhost ~]#cat /etc/vsftpd/vftpuser.txtx
zz
aaaaa
ftp1
zzzzz
[iyunv@localhost ~]#

7.生成虚拟用户的db文件
[iyunv@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txtx /etc/vsftpd/vftpuser.db

8.生成虚拟用户的认证文件
[iyunv@localhostvsftpd]# vi /etc/pam.d/vsftpd

#%PAM-1.0
session    optional    pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=denyfile=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      system-auth
account    include     system-auth
session    include     system-auth
session    required    pam_loginuid.so

注释掉/etc/pam.d/vsftpd中所有的内容 反正已经不要本地用户的认证了
特别注意 以下区别
32位系统增加以下两句:
auth      required     pam_userdb.so db=/etc/vsftpd/vftpuser
account   required     pam_userdb.so db=/etc/vsftpd/vftpuser
64位系统增加以下两句:
auth   required    /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required    /lib64/security/pam_userdb.sodb=/etc/vsftpd/vftpuser

注:db=/etc/vsftpd/vftpuser 中的vftpuser 是你生成的虚拟用户的db文件

9.创建每个虚拟用户自己的配置文件,配置文件的路径是/etc/vsftpd/vsftpd.conf中的
user_config_dir=/etc/vsftpd/vuser_conf路径
在 /etc/vsftpd/vuser_conf/下面创建以用户名为名称的文件(名称是/etc/vsftpd/vftpuser.txtx 下面的奇数行)

[iyunv@localhostvsftpd]# cat /etc/vsftpd/vftpuser.txtx
zz
aaaaa
ftp1
zzzzz

[iyunv@localhostvsftpd]# mkdir vuser_conf
[iyunv@localhostvsftpd]# vi /etc/vsftpd/vuser_conf/zz

内容如下
local_root=/var/www(虚拟用户的根目录根据实际修改)
write_enable=YES (可写)
download_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022

10.给文夹权限(否则不能上传 权限可自定 本人给的是 777)
[iyunv@localhostvsftpd]# chmod 777 /var/www/

11.重启vsftpd
[iyunv@localhostvsftpd]# service vsftpd restart

到此安装配置完成 如果出现连接被 同位体重置 或其它错误 请查看SELinux的当前模式


12.登录测试
[iyunv@localhost vsftpd]# ftp192.168.1.107
Connected to 192.168.1.107.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as anauthentication type
Name (192.168.1.107:root): zz
331 Please specify the password.
Password:
500 OOPS: cannot changedirectory:/var/www
Login failed.
ftp>

查看方法
[iyunv@localhost vsftpd]# getenforce
Enforcing   如果出现(Enforcing )
关闭方法:[iyunv@localhost vsftpd]#setenforce 0       (0|1  开|关)

再次测试 登录成功
[iyunv@localhost vsftpd]# chmod 777/var/www/
[iyunv@localhost vsftpd]# ftp192.168.1.107
Connected to 192.168.1.107.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as anauthentication type
Name (192.168.1.107:root): zz
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

查看系统是多少位的命令
[iyunv@bogon ~]# getconf LONG_BIT


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-20899-1-1.html 上篇帖子: vsftpd: refusing to run with writable root inside chroot() 下篇帖子: Linux下FTP虚拟账户配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表