linux安装ftp服务

vsftpd

网上很多匿名FTP配置的教程都是基于vsftpd系统安装目录/var/ftp,但是实际应用中我们需要设置的目录很多情况下不是这个目录,经过自己的琢磨,来看看自定义目录的匿名可写入配置。

一、系统安全放行配置

(1)开放21端口

# service iptables stop //关闭iptables
# iptables -A INPUT -p tcp –dport 21 -j ACCEPT

(2)防火墙配置VSFTPD 被动端口开放:

# iptables -A INPUT -p tcp –dport 30000:30100 -j ACCEPT 
//端口30000-30100只是举例,可以根据实际情况自定义

# service iptables save 
//保存iptables配置

# service iptables restart 
//重启防火墙

(3)SELINUX永久开启FTP支持

# setsebool -P ftp_home_dir on
# setsebool -P allow_ftpd_full_access on
# setsebool -P allow_anon_write_enable on
亦可立刻关闭 SELINUX:# /usr/sbin/setenforce 0

二、vsftpd的安装和配置

# rpm -q vsftpd 
//查看是否已经安装vsftpd如果没有安装

# yum install vsftpd -y

# cp /etc/vsftpd/conf /etc/vsftpd/vsftpd.conf.bak 
//备份 etc/vsftpd/vsftpd.conf

编辑vsftpd.config文件
# vi /etc/vsftpd/vsftpd.confanonymous_enable=YES 

设定允许匿名用户访问
anon_upload_enable=yes   

设置允许匿名用户上传文件
anon_mkdir_write_enable=yes    

设置允许匿名用户创建文件夹
anon_other_write_enable=yes   

允许匿名用户对文件和文件夹进行删除等操作

为了让FLASHFXP之类的软件更好的连接服务器,得让VSFTPD支持被动模式才行,上面已经开通相应端口防火墙,在末尾加入:pasv_enable=YESpasv_max_port=30100pasv_min_port=30000(上面的30000–30100端口号可以自定义,在此举例)

三、FTP用户和目录配置

# mkdir /tmp/test  
 //  创建ftp主目录

# mkdir /tmp/test/public    
 //  创建匿名可写入目录
# adduser -m -d /tmp/test -g ftp -s /sbin/nologin test        
// -s /sbin/nologin是让其不能登陆系统,
-d 是指定用户目录为/tmp/test ,即该账户只能登陆ftp,却不能用做登陆系统用 ,
 -g 是指定为FTP用户组

#passwd test
 //设置用户test登录密码修改/tmp/test目录属性:

# chmod -R 755 /tmp/test
//递归地给此目录下所有文件和子目录的读、写、执行权限

# chown -R test:ftp   /tmp/test 
//递归地把此目录及该目录下所有文件和子目录的拥有者为test

注意:已挂载的根目录不能作为FTP的主目录。

修改test的安全上下文(重要):

chcon -R -t public_content_rw_t /tmp/test

chmod -R 755 /tmp/test    修改ftp主目录的修改权限

限制用户目录,不得改变目录到上级:修改/etc/vsftpd/vsftpd.conf将这两行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
注释去掉,修改为
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

# touch /etc/vsftpd/chroot_list 
//新增一个chroot_list文件

# echo ‘test’>>/etc/vsftpd/chroot_list 
//添加需要限制的用户名

# service vsftpd restart 
//重启vsftpd

四、开机启动vsftpd

# echo ‘service vsftpd start’>>/etc/rc.local
或者chkconfig –level 35 vsftpd on

五、测试匿名用户的上传、删除、创建文件夹等权限

你可能感兴趣的:(linux安装ftp服务)