博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux FTP的安装与权限配置
阅读量:7113 次
发布时间:2019-06-28

本文共 2081 字,大约阅读时间需要 6 分钟。

 ftp安装部分,操作步骤如下:

 1.切换到root用户

 

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

[root@localhost vsftpd]# rpm -qa |grep vsftpdvsftpd-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

低版本试一下这些命令:

/etc/init.d/vsftpd restart
启动ftp命令  #service vsftpd start停止ftp命令  #service vsftpd stop重启ftp命令  #service vsftpd restart

设置自启:chkconfig vsftpd on

 

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

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/ftpftpn  ftptest

这时候重启一下vsftpd服务

/bin/systemctl restart vsftpd.service

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

vi /etc/vsftpd/vsftpd.conf

如下设置

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

编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行

 

如果需要允许用户修改密码,但是又没有telnet登录系统的权限:

# usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面

 

另外,从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 #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

如果出现远程文件夹无法显示的情况,请使用主动模式连接,在你的ftp工具上设置。

 

 

 

转载于:https://www.cnblogs.com/cqlb/p/9507200.html

你可能感兴趣的文章
从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~三 分部类是否破坏了单一职责...
查看>>
HDU1004 Let the Balloon Rise
查看>>
value toDF is not a member of org.apache.spark.rdd.RDD
查看>>
高性能MySQL——Count(1) OR Count(*)?
查看>>
Spark源码分析之Worker
查看>>
CAS与spring3集成
查看>>
XenCenter导出虚拟机
查看>>
css中的disabled的使用
查看>>
Cookie禁用了Session还可以用吗?
查看>>
Python中*args 和**kwargs的用法
查看>>
决心书
查看>>
提高Python代码效率的方法
查看>>
如何学习Python数据分析?
查看>>
爱创课堂每日一题七十六天- 请解释什么是事件代理?
查看>>
运维39期决心书
查看>>
将数字转化为字符串
查看>>
在Linux启动或重启时执行命令与脚本
查看>>
华为拓扑---***的配置
查看>>
网站中增加微信公众账号链接的方法
查看>>
Java之品优购课程讲义_day19(3)
查看>>