linux 安装 ftp 实现文件共享

转载:http://blog.sina.com.cn/s/blog_165e646820102xe1q.htmlhtml

参考:
一、http://www.cnblogs.com/mrcln/p/6179673.html
二、http://www.cnblogs.com/orzlin/p/5600529.html
三、linux下ftp配置文件详解:http://www.cnblogs.com/mrcln/p/6189665.html

linux

1.切换到root用户vim

2.查看是否安装vsftp,我这个是已经安装的。centos

[root@localhost vsftpd]# rpm -qa |grep vsftpd
vsftpd-3.0.2-11.el7_2.x86_64

3.若是没有发现,则安装。安全

yum install vsftpd* -y

4.启动vsftpd服务,以及重启命令(centos7.0以上版本)服务器

[root@localhost vsftpd]# /bin/systemctl start vsftpd.service
[root@localhost vsftpd]# /bin/systemctl restart vsftpd.service

低版本试一下这些命令:tcp

/etc/init.d/vsftpd restart
启动ftp命令  #service vsftpd start

中止ftp命令  #service vsftpd stop

重启ftp命令  #service vsftpd restart

设置自启:chkconfig vsftpd on工具

5.测试一下可否登陆FTP了,先安装一个ftp客户端组件。post

yum -y install ftp 

尝试登陆一下测试

ftp localhost 

输入用户名ftp,密码随便(由于默认是容许匿名的)

登陆成功,就表明ftp服务可用了。

可是,外网是访问不了的,因此还要继续配置。

6.取消匿名登陆

vi /etc/vsftpd/vsftpd.conf

把第一行的 anonymous_enable=YES ,改成NO

重启

[root@localhost vsftpd]# /bin/systemctl restart vsftpd.service

7.建立一个组,用于存放ftp用户

groupadd ftpgroups

8.建立ftp用户,并加入ftpgroups组,/home/ftp是本身建的目录,不存在就本身建立一个

useradd -d /home/ftp/ftptest -g ftpgroups ftptest

设置密码

passwd ftptest

设置不容许用于用户登陆

usermod -s /sbin/nologin ftptest

 

能够看到已经建好了

[root@localhost vsftpd]# ls /home/ftp
ftpn  ftptest

这时候重启一下vsftpd服务

/bin/systemctl restart vsftpd.service

登陆一下看,能够登陆了,可是发现也能访问上层目录,甚至根目录,这不是咱们但愿的,修改一下配置文件让其只能访问自身目录

vi /etc/vsftpd/vsftpd.conf

以下设置

chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

另外,从2.3.5以后,vsftpd加强了安全检查,若是用户被限定在了其主目录下,则该用户的主目录不能再具备写权限了!若是检查发现还有写权限,就会报该错误。

 要修复这个错误,能够用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你本身的。或者你能够在vsftpd的配置文件中增长下列项:

 allow_writeable_chroot=YES

 

好了,这样就只能访问自身所属目录。

若是但愿某个用户能够访问根目录,把用户名加入

/etc/vsftpd/chroot_list

不存在就建立这个文件,一行一个用户名。

 

若是仍是登录不了ftp,那颇有多是selinux的问题,这个东西把他关掉就行

vi /etc/selinux/config

SELINUX=enforcing 设置成SELINUX=disabled

 

重启一下服务器

reboot

重启完了别忘了把vsftpd服务打开,默认是自启的。

 

若是链接不上,极可能是防火墙阻止了,尝试关闭防火墙

systemctl stop firewalld.service #中止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

 

若是出现远程文件夹没法显示的状况,请使用主动模式链接,在你的ftp工具上设置。

 

linux服务器修改ftp默认21端口方法

一、登陆服务器,打开vsftp.conf文件

# vim /etc/vsftpd/vsftpd.conf

二、在文件末尾增长listen_port=8021

#remote_charset=CP1251
#
# Enable this options if you have double "я"
#
#double_377=0
listen_port=8021

三、打开/etc/services文件

# vim /etc/services

四、找到ftp选项并将21修改为你设置的端口,本文为8021

# 21 is registered to ftp, but also used by fsp
ftp             8021/tcp
ftp             8021/udp          fsp fspd

五、重启vsftp服务

# /etc/init.d/vsftpd restart

六、使用netstat -utlpn | grep vsftp命令查看设置的端口,确认是否成功

# netstat -utlpn | grep vsftp
tcp        0      0 0.0.0.0:8021                0.0.0.0:*                   LISTEN      23619/vsftpd

 注:实验须要修改端口号,关闭selinux ,实现ftp访问。

相关文章
相关标签/搜索