【转发】centos 7开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录

1.切换到root用户

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

[[email protected] vsftpd]# rpm -qa |grep vsftpd
vsftpd-3.0.2-11.el7_2.x86_64

3.如果没有发现,则安装。

yum install vsftpd* -y

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

[[email protected] vsftpd]# /bin/systemctl start vsftpd.service
[[email protected] 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

重启

[[email protected] 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

可以看到已经建好了

[[email protected] 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工具上设置。

转自:http://www.cnblogs.com/mrcln/p/6179673.html

vsftpd.conf文件参数中文解释请移步:

原文地址:https://www.cnblogs.com/firstcsharp/p/10243576.html

时间: 2024-10-10 07:10:46

【转发】centos 7开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录的相关文章

linux开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录

文章来源:http://www.cnblogs.com/mrcln/p/6179673.html 1.切换到root用户 2.查看是否安装vsftp,我这个是已经安装的. [[email protected] vsftpd]# rpm -qa |grep vsftpd vsftpd-3.0.2-11.el7_2.x86_64 3.如果没有发现,则安装. yum install vsftpd* -y 4.启动vsftpd服务,以及重启命令(centos7.0以上版本) [[email protec

linux 添加用户、权限

linux 添加用户.权限 # useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录). 假设当前用户是sam,则下面的命令修改该用户自己的口令: # passwd Old password:****** New password:******* Re-enter new password:******* 如果是超级用户,可以用下列形式指定任何用户的口令: #

Centos 6.5 x64 vsftpd本地用户配置使用

线上游戏服务器目录/data/s5 [[email protected] s5]# ll 总用量 12 drwxr-xr-x 2 root root 4096 8月  17 16:44 20160815 drwxr-xr-x 2 root root 4096 8月  17 16:44 20160816 drwxr-xr-x 2 root root 4096 8月  17 16:44 20160817 开发人员需要将新增的游戏文件上传到对应的日期目录中 需要使用ftp 因为虚拟用户配置过于复杂 下

linux ftp 添加用户及权限管理

Linux下创建用户是很easy的事情了,只不过不经常去做这些操作,时间久了就容易忘记,顺便配置一下FTP.声明:使用Linux版本release 5.6,并以超级管理员root身份运行. 1.创建用户,并指定分组和主目录 useradd -d /home/lch -g root lch 还可以增加其他参数,比如指定用户使用shell等,具体的google一下 2.设定密码 passwd lch 3.查看.改变.添加用户分组 [[email protected] ~]# groups lch l

在CentOS下使用文件批量添加用户

在CentOS添加用户的方法是多样的,例如,使用useradd.passwd单个添加用户:使用脚本批量添加用 户:使用文件批量导入用户.本节介绍的是使用文件批量导入用户的方法. 环境介绍: [[email protected] ~]# uname -r 3.10.0-327.el7.x86_64 [[email protected] ~]# cat /etc/centos-release CentOS Linux release 7.2.1511 (Core) [[email protected

linux 添加用户、权限 - !!!!!!!!!!! - 博客园

body { font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5; } html, body { } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bold; } h3 { fon

MySQL8.0添加用户和权限

参考代码: -- 使用mysql数据库 USE mysql -- 创建用户 CREATE USER myuser IDENTIFIED BY 'mypass'; -- 查看用户 SELECT user, host, authentication_string FROM USER WHERE USER='myuser'; -- 修改用户密码update user set authentication_string='' where user='myuser';ALTER USER 'myuser'

Linux创建用户,SFTP只允许访问指定目录

首先创建用户 useradd lus1passwd lus1 我这里配置lus1这个用户目录,为sftp指向目录,即/home/lus1/ vim /etc/ssh/sshd_config //这个记得要在原有的配置文件注释掉 #Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp Match User lus1 //lus1 是我们要配置的用户 ChrootDirectory /home/lus

centos下开启ftp服务

如果要ftp访问linux需要安装ftp服务,vsftpd是Linux下比较好的的FTP服务器. 一.检查安装vsftp 1 //检查是否安装vsftpd 2 rpm -qa | grep vsftpd 3 //没有就安装vsftpd 4 yum -y install vsftpd 5 chkconfig vsftpd on 二.编辑vsftp配置项 配置开启虚拟账户(只能登陆ftp,不能登陆系统)以及设置访问目录 1 vim /etc/vsftpd/vsftpd.conf 2 anonymou