@huynh
2016-06-19T06:38:04.000000Z
字数 3805
阅读 2259
ftp vsftpd
核心配置文件: /etc/vsftpd/vsftpd.conf
vsftp用户分为三种:本地用户(Linux用户)、匿名用户(无需用户名和密码)、vsftp专有用户(虚拟用户)
# vim ftpusers (第一行写 用户名,第二行写 密码,保存退出)user1user1pwduser2user2pwd
# db_load -T -t hash -f ftpusers /etc/vsftpd/vsftpd_login.db (生成认证文件)# chmod 600 /etc/vsftpd/vsftpd_login.db (赋权)
# vim /etc/pam.d/vsftpd (加入下面内容,其他全部注释。)auth required pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount required pam_userdb.so db=/etc/vsftpd/vsftpd_login
# useradd -d /ftp -s /sbin/nologin virtual# chmod 755 /ftp/
guest_enable=YESguest_username=virtual
# mkdir /etc/vsftpd/vsftpd_user_conf# vim /etc/vsftpd/vsftpd_user_conf/user1 (建立用户单独配置文件,文件名就是用户名)local_root=/home/ftp/user1 #这里的虚拟用户目录可以根据实际情况修改write_enable=YESvirtual_use_local_privs=YES #虚拟用户具有写权限(上传、下载、删除、重命名)
user_config_dir=/etc/vsftpd/vsftpd_user_conf
将需要禁锢的用户名写入“vsftpd.chroot_list”文件# vim /etc/vsftpd.chroot_listuser1user2在 vsftpd.conf 添加以下参数配置项:chroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_list
########################### 核心设置 ##################### 允许本地用户登录local_enable=YES# 本地用户的写权限write_enable=YES# 使用FTP的本地文件权限,默认为077,掩码,使用666-umask得到上传的文件权限# 一般设置为022(设置为000则放开所有权限)local_umask=022# 切换目录时# 是否显示目录下.message的内容dirmessage_enable=YESdirlist_enable = NO#验证方式#pam_service_name=vsftpd# 启用FTP数据端口的数据连接connect_from_port_20=YES# 以独立的FTP服务运行listen=yes# 修改连接端口#listen_port=2121########################### 匿名登录设置 ##################### 允许匿名登录anonymous_enable=NO# 如果允许匿名登录# 是否开启匿名上传权限#anon_upload_enable=YES# 如果允许匿名登录# 是否允许匿名建立文件夹并在文件夹内上传文件#anon_mkdir_write_enable=YES# 如果允许匿名登录# 匿名帐号可以有删除的权限#anon_other_write_enable=yes# 如果允许匿名登录# 匿名的下载权限# 匿名为Other,可设置目录/文件属性控制#anon_world_readable_only=no# 如果允许匿名登录# 限制匿名用户传输速率,单位bite#anon_max_rate=30000# 匿名用户目录anon_root=/ftp# 匿名帐号可以有删除的权限# anon_other_write_enable=YES# 限制匿名用户传输速率,单位bite# anon_max_rate=30000# 匿名用户下载权限anon_world_readable_only=YES# 默认anonymous上传的文件权限为-rw-rw-rw,当设置为077时,传到主机的文件权限为-rw------# 设置为000后,上传文件为666anon_umask=000# 修改匿名用户上传文件的拥有者chown_uploads=YES# 将anonymous用户上传文件的拥有者改为xxXchown_username=vsftpd########################### 虚拟用户设置 ##################### 开启虚拟用户guest_enable=YES# 虚拟用户名guest_username=vsftpd# 虚拟用户配置目录user_config_dir=/etc/vsftpd/vsftpd_user_conf# 虚拟用户拥有本地用户权限virtual_use_local_privs=YES#pam_service_name=/etc/pam.d/vsftpd########################### 用户限制设置 ######################## 限制登录# 用userlist来限制用户访问#userlist_enable=yes# 名单中的人不允许访问#userlist_deny=no# 限制名单文件放置的路径#userlist_file=/etc/vsftpd/userlist_deny.chroot#### 限制目录# 限制所有用户都在家目录#chroot_local_user=yes# 调用限制在家目录的用户名单chroot_list_enable=YES# 限制在家目录的用户名单所在路径chroot_list_file=/etc/vsftpd/chroot_list########################### 日志设置 ##################### 日志文件路径设置xferlog_file=/var/log/vsftpd.log# 激活上传/下载的日志xferlog_enable=YES# 使用标准的日志格式#xferlog_std_format=YES**######### 安全设置 ###########**# 用户空闲超时,单位秒#idle_session_timeout=600# 数据连接空闲超时,单位秒#data_connection_timeout=120# 将客户端空闲1分钟后断开#accept_timeout=60# 中断1分钟后重新连接#connect_timeout=60# 本地用户传输速率,单位bite#local_max_rate=50000# FTP的最大连接数#max_clients=200# 每IP的最大连接数#max_per_ip=5########################### 被动模式设置 ##################### 是否开户被动模式pasv_enable=yes# 被动模式最小端口pasv_min_port=5000# 被动模式最大端口pasv_max_port=6000**######### 其他设置 ###########**# 欢迎信息ftpd_banner=Welcome to Ftp Server!
/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT/etc/rc.d/init.d/iptables save/etc/init.d/iptables restart
useradd -d /home/ftp -s /sbin/nologin ftpuser建用户:在root用户下:useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/testpasswd test //为test设置密码
配置文件位置: /etc/vsftpd/chroot_list
编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行
1.首先看/etc/sysconfig/iptables文件是否存在,如果不存在,随便写一条iptables命令配置个防火墙规则:如: iptables -P OUTPUT ACCEPT 。然后用命令:service iptables save进行保存,默认就保存到/etc/sysconfig/iptables文件里
/etc/init.d/vsftpd restart或者service vsftpd restart