您的位置:首页 > 运维架构 > Linux

CentOS开启FTP及配置用户

2014-05-23 10:42 513 查看


安装vsftpd

1、以管理员(root)身份执行以下命令

yum install vsftpd

2、设置开机启动vsftpd ftp服务

chkconfig vsftpd on

3、启动vsftpd服务

service vsftpd start

管理vsftpd相关命令:

停止vsftpd:  service vsftpd stop

重启vsftpd:  service vsftpd restart


配置防火墙

打开/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


配置vsftpd服务器

默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。

vi /etc/vsftpd/vsftpd.conf


添加ftp用户

下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。

1、修改/etc/vsftpd/vsftpd.conf


将底下三行

#chroot_list_enable=YES

# (default follows)

#chroot_list_file=/etc/vsftpd.chroot_list

改为

chroot_list_enable=YES

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

3、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。

useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser

4、设置用户口令

passwd ftpuser

5、编辑文件chroot_list:


vi /etc/vsftpd/chroot_list

就是限制用户目录,不得改变目录到上级内容。为ftp用户名,每个用户占一行,如:

ftpuser

john

6、重新启动vsftpd

service vsftpd restart

另外,如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:

http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users


出现的错误

1、500 OOPS: cannot change directory

解决方法:

在终端输入命令:

setsebool -P ftpd_disable_trans 1

service vsftpd restart

或者

查看 SELinux状态及关闭SELinux(转)

查看SELinux状态:

1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

SELinux status:                 enabled

2、getenforce                 ##也可以用这个命令检查

关闭SELinux:

1、临时关闭(不用重启机器):

setenforce 0                  ##设置SELinux 成为permissive模式   ##setenforce 1 设置SELinux 成为enforcing模式

就OK了!

原因:这是因为服务器开启了selinux,这限制了FTP的登录。

上传出现错误的时候

gpasswd -a 用户 用户组 //给用户组

例子 gpasswd -a ftpuser www

还要设置权限

chmod 拥有者权限/拥有者组权限/其他人权限 -R

例子: chmod 775 -R wwwroot

这样目录就可以读写了。如果ftp目录只作一般用途,不受其它用户影响,就直

接把目录的权限给ftp用户

chown -R testftp 目录 && chmod 755 -R 目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: