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到此完事儿。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值