vsftp,vsftpd


1 yum install vsftpd -y
2 iptables -I INPUT 1 -p tcp --dport 20:21 -j ACCEPT
3 service iptables save

 1 vim /etc/vsftpd/vsftpd.conf 
 1 anonymous_enable=YES // 匿名帐户可登陆
 2 anon_root=/var/ftp/ // 匿名用户登录目录 默认为 /var/ftp/
 3 local_enable=YES // 本地帐户可以登陆
 4 write_enable=YES //用户通过ftp在服务器上是否有写权限
 5 local_umask=022 // 创建时默认权限。文件夹=777-umask,文件=666-umask
 6 anon_upload_enable=YES // 允许匿名帐户上传
 7 anon_mkdir_write_enable=YES // 允许匿名帐户创建文件夹
 8 dirmessage_enable=YES // 是否开启 .message 文件信息描述
 9 xferlog_enable=YES // 是否启用日志
10 connect_from_port_20=YES  // 默认值为YES,指定FTP数据传输连接使用20端口。若设置为NO,则进行数据连接时,所使用的端口由ftp_data_port指定。
11 ftp_data_port=20      //设置PORT方式下FTP数据连接所使用的端口,默认值为20。
12 chown_uploads=YES // 开启匿名帐户上传自动更改所属功能
13 chown_username=bob // 属主改为bob
14 xferlog_file=/var/log/xferlog // 日志存储位置
15 idle_session_timeout=600 //空闲会话超时时间
16 data_connection_timeout=120 // 设置ftp 连接超时时间
17 ascii_upload_enable=YES //以ASCII方式上传
18 ftpd_banner=Welcome to blah FTP service. //欢迎界面
19 chroot_list_enable=YES //开启用户更改根目录功能,默认为禁用更改根
20 chroot_list_file=/etc/vsftpd.chroot_list //该文件中所有用户启用chroot
21 anon_other_write_enable=YES // 允许匿名帐户删除、重命名
22 anon_root=/ftp // 更改匿名帐户根目录,默认为"/var/ftp"
23 local_root=/local // 更改本地帐户根目录为/local,默认为用户主目录
24 userlist_enable=YES // 开启用户列表功能
25 userlist_deny=YES // 用户列表文件中所有帐户全拒绝。NO时,只有列表中用户能登陆
26 deny_file={*.xxx} //限制用户上传的文件类型
27 userlist_file=/etc/vsftpd.user_list // 用户列表文件
28 anon_max_rate=0 // 匿名用户最大传输速率,0为无限
29 local_max_rate=0 // 本地用户最大传输速率,0为无限
30 max_clients=0 // 最大客户端连接数,0为无限
31 max_per_ip=5 //每个ip的最大客户端数目
32 pasv_max_port=0 // 客户端端口最大限制,0为无限制
33 pasv_min_port=0 // 客户端端口最小限制,0为无限制
34 connect_from_port20=YES //使用标准的20端口来连接ftp
35 listen_address=192.168.10.14 //绑定到某个ip,其它ip不能访问
36 anon_upload_enable=YES // 允许上传
37 anon_world_readable_only=YES //允许下载
38 anon_mkdir_write_enable=YES //允许新建目录
39 anon_other_write_enable=YES //拥有其它权限
40 local_root=/var/ftp/ziji //用户的文件夹

 

 
 
anon_world_readable_only         默认情况下,匿名用户所有上传下载,所使用的用户都是ftp用户的权限,若要上传文件,则需要ftp用户有写的权限,若要下载,则需要ftp用户有读的权限,也就是说一般情况下,ftp用户对文件有读权限就对文件有下载权限了   文件有三种权限,文件所有人,文件所有组,文件的其他人,这个anon_world_readable_only参数意思是,当他为YES时候,文件的其他人必须有读的权限才允许下载,单单所有人为ftp且有读权限是无法下载的,必须其他人也有读权限,才允许下载,这是为安全性的一方面考虑,若为NO则只要ftp用户对文件有读权限即可下载  
 
1.在linux centos6.5 中 允许本地用户登录后 却不能登录解决方法 方法一:将setenforce 设置为0 方法二:修改布尔值 setsebool -P ftp_home_dir on   2.上传文件的方式 bin模式 一般为一些不可编辑的文件 ascii 模式 一般为一些可以编辑的文件 上传命令 put 文件路径   使用匿名用户是登录到/var/ftp/ 这个文件夹的,因为对这个目录没有权限,所以不能上传文件。解决方法: mkdir /var/ftp/ceshi //创建一个目录 chown ftp:ftp ceshi //更改文件的所有人和所有组 然后修改布尔值: setsebool -P allow_ftpd_anon_write on setsebool -P allow_ftpd_full_access on   3.对本地用户进行chroot处理 当只启用 chroot_local_user=YES 时,则对所有用户进行chroot处理 当只启用 chroot_list_enable=YES 时,只对list文件用户进行chroot处理 当同时启用这两个文件时,则除了list文件用户外,剩下的进行chroot处理   4.限制用户登录方法: 启用pam_service_name=vsftpd userlist_enable=YES 方法一: echo 用户名 > ftpusers 方法二: echo 用户名 > user_list   5.添加虚拟用户 ① 添加虚拟用户口令文件: touch vsftpd_login.txt 文件里奇数行写用户名 偶数行 写密码 ② 生成vsftpd的认证文件:使用db_load命令生成认证文件,“-f”命令选项设置的值是虚拟用户的口令库文件,即vsftpd_login.txt,命令的参数设置为需要生成的认证文件名vsftpd_login.db,该文件必须和口令文件放在一个文件夹下。注意:db_load 在centos6.5中自带,centos5.5总必须安装db4_utils这个软件包才支持。最好对这个文件进行权限更改 ③建立虚拟用户所需的PAM配置文件:修改/etc/pam.d/vsftpd文件 将默认配置全部用“#”注释在最后添加 auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login (文件的路径可以到文件夹下面查看) ④建立虚拟用户所对应的本地账户:useradd -d /var/ftp/user1 user1 ⑤在配置文件里添加 user_config_dir=用户配置文件目录 在目录下建立虚拟用户文件 进行配置相应的权限,需要注意的是 需要启用本地用户的登录,这样虚拟用户才可以登录   6,基于ip的虚拟vsftp服务 ①添加ip地址: ip addr add 192.168.10.141/24 dev eth0 label eth0:1 ②配置文件 cp -p ifcfg-eth0 ifcfg-eth0:1 ③对配置文件修改 并重启网卡 ④cp -p vsftpd.conf vsftpd2.conf 在配置文件中添加listen_address=IP地址

相关内容