linux环境下搭建FTP服务 ---谷营中西软件科技园

1.liunx:centos6.5
2. 检查vsftpd是否安装
先用rpm -qa| grep vsftpd命令检查是否已经安装,如果ftp没有安装,使用yum -y install vsftpd 安装,(ubuntu 下使用apt-get install vsftpd)
3编辑vsftpd的配置文件

# vi /etc/vsftpd/vsftpd.conf
清空(或者按照如下参数配置), 添加如下内容:
listen=YES
background=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to ftptest FTP servers
pam_service_name=vsftpd
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

4.创建账户

# touch /etc/vsftpd/vsftpd.chroot_list

5.启动vsftpd服务

# service vsftpd start Starting vsftpd for vsftpd: [ OK ] 一般启动正常 注意: 如果启动失败的话,用service vsftpd status查看下vsftpd的状态,如果服务开启,须先停止服务service vsftpd stop 然后在service vsftpd start 启动,或者直接 service vsftpd restart。 

6.创建ftp帐号
ftp用户我们来使用系统用户, 现在我们来添加用户ftptest, 指向目录/home/ftptest, 权限是nologin, 就是没给shell权限, 不影响ftp的

 # useradd test -d /home/nas_iec -s /sbin/nologin

设置帐号密码

 passwd test

如果显示:

useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

不用理会, 只是告诉你, 你指向的目录已经存在了, 这不影响
7.设置目录及其文件的属组, 你也可以使用别的分组方式

# chown -R test.test /home/ nas_iec

8.把用户test加到/etc/vsftpd/vsftpd.chroot_list里, 这样用户就可以正常登陆并且不能跳出自己的目录

# echo 'test' >> /etc/vsftpd/vsftpd.chroot_list

9.重启服务

# service vsftpd restart

10 . 检查开放端口21(这步很重要,影响访问)

# /sbin/iptables -I INPUT -p tcp --dport 21-j ACCEPT
或者在/etc/sysconfig/iptables中增加一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT

将更改进行保存
# /etc/rc.d/init.d/iptables save
重启防火墙以便改动生效:(或者直接重启系统)
# /etc/init.d/iptables restart

11.测试
直接用ftp://xxx.xx.xx.xx访问
输入用户名:test
密码: test
12. ftp用户连接时出现500 OOPS: cannot change directory: /home/ nas_iec报错 解决办法

默认下是没有开启FTP的支持,所以访问时都被阻止了。
解决:

1.   查看SELinux设置
          # getsebool -a | grep ftp
发现 ftpd_disable_trans –> off   或者      ftp_home_dir–>off

2.   使用setsebool命令开启
     # setsebool ftpd_disable_trans 1 或者 # setsebool ftp_home_dir 1

3.   查看当前状态是否是on的状态
       # getsebool -a|grep ftp
      此时  ftpd_disable_trans –> on     或者    ftp_home_dir–>on
4. 最后重启     # service vsftpd restart
   OK,问题解决了。
另外     setsebool 使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1

ok到此完事儿。

你可能感兴趣的:(centos,ftp,ftp服务器搭建,谷营中西,wanzuwodou)