linux搭建ftp服务器
Linux安装启动FTP服务
vsftpd作为FTP服务器,在Linux系统中是非常常用的;下面就说如何在centos 6.5系统上安装vsftp。
1.查看是否安装vsftpd
rpm -qa|grep vsftpd
如下代表有
2.执行以下安装命令
yum install vsftpd
3.设置开机启动服务
chkconfig vsftpd on
4.启动服务
service vsftpd start
5.配置防火墙(我没弄)
打开/etc/sysconfig/iptables文件
- vi /etc/sysconfig/iptables
在REJECT行之前添加如下代码
- -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存和关闭文件,重启防火墙
- service iptables start
6.配置vsftpd服务器
默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。
- vi /etc/vsftpd/vsftpd.conf
7.添加ftp用户
下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。
a、修改/etc/vsftpd/vsftpd.conf
96 chroot_local_user=YES --改为YES chroot_local_user=YES将所有用户限定在主目录内 97 chroot_list_enable=YES --注释放开 98 # (default follows) 99 chroot_list_file=/etc/vsftpd/chroot_list --注释放开 chroot_list_file这时列出的是那些“不会被限制在主目录下”的用户。 userlist_deny=NO --新增 userlist_enable=YES --默认是YES
b、增加用户ziyouwu,指向目录/home/wwwroot/ziyouwu,禁止登录SSH权限。
- useradd -d /ftp -g ftp -s /sbin/nologin ftpuser
c、设置用户口令
- passwd ftpuser
d、编辑文件chroot_list:
配置/etc/vsftpd/chroot_list
-
增加ftp_test1 代表 这个用户不被限制主目录内
vi /etc/vsftpd/chroot_list
ftp_test1
-
配置允许访问的用户
vi /etc/vsftpd/user_list
增加允许访问的用户ftp_test1
e、重新启动vsftpd
- service vsftpd restart
出现的错误(我没出现)
1、500 OOPS: cannot change directory
解决方法:
在终端输入命令:
- setsebool -P ftpd_disable_trans 1
- service vsftpd restart
或者

解释一:
vsftpd.ftpusers:位于/etc/vsftpd目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。 如果想要root 登录 则注释里面的root
vsftpd.user_list:位于/etc/vsftpd目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,
仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。默认是YES,代表这个配置文件生效
我们在这里 如果只想让这里面的用户登录到FTP 需要添加 userlist_deny=NO 参数这个参数=NO 代表 这个配置信息的用户可以访问FTP
解释二,ftpuser文件与user_list 的文件
当ftpuser文件配置了用户,代表这些用户不允许访问,即使当user_list添加了这个用户也不允许访问

浙公网安备 33010602011771号