linux开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录
1.切换到root用户
2.查看是否安装vsftp,我这个是已经安装的。
[root@localhost vsftpd]# rpm -qa |grep vsftpd
vsftpd-3.0.-.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/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工具上设置。
vsftpd.conf文件参数中文解释请移步:
linux下ftp配置文件详解
linux开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录的更多相关文章
- 【转发】centos 7开启FTP以及添加用户配置权限,只允许访问自身目录,不能跳转根目录
1.切换到root用户 2.查看是否安装vsftp,我这个是已经安装的. [root@localhost vsftpd]# rpm -qa |grep vsftpd vsftpd-3.0.2-11.e ...
- linux下ftp(vsftpd)添加用户及设置权限详细步骤
1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test2.建用户:在root用户下:useradd test //增加用户test,并制定test用户的主目录为/hom ...
- zabbix 添加用户 配置权限
点击 Administration → Users 添加新用户,单击 Create user ,在新的用户表单中,确保将用户添加到现有用户组之一,例如“Zabbix administators”. ...
- linux基础(5)-用户及权限
用户与组 用户:使用linux时,需要以用户的身份登陆 组 :用来方便组织管理用户 用户种类 -root用户(ID为0的用户为root用户) -系统用户(1-499) -普通用户(500以上 ...
- linux ftp 添加用户及权限管理
Linux下创建用户是很easy的事情了,只不过不经常去做这些操作,时间久了就容易忘记,顺便配置一下FTP.声明:使用Linux版本release 5.6,并以超级管理员root身份运行. 1.创建用 ...
- linux 添加用户、权限
# useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录). 假 ...
- Linux:ftp服务本地用户,虚拟用户配置
本地用户 1. 修改ftp配置文件, anonymous_enable=NO 默认为YES,修改为NO,禁止匿名访问, 监听端口,可以根据自己的需求修改,为了安全起见自定义为好 2. /etc/ ...
- Linux:FTP服务匿名用户,本地用户,虚拟用户配置
匿名用户 FTP协议占用两个端口号: 21端口:命令控制,用于接收客户端执行的FTP命令. 20端口:数据传输,用于上传.下载文件数据. 实验:匿名访问,服务器192.168.10.10 客户 ...
- linux添加用户、权限
# useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录). 假 ...
随机推荐
- SAP 直营验单
*&---------------------------------------------------------------------* *& Report ZSDR005 ...
- Android studio 英文——中文 翻译插件
TranslationPlugin 1.手动下载 TranslationPlugin ,在Android studio 中 2. 3. 4.选中文件,点击OK 5.设置快捷键 代号1 : 代号2 :
- SSH使用详解
一.SSH基础 (1)什么是SSH? 传统的网络服务程序,如:ftp.pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据.而且 ...
- linux系统的初化始配置
一.网络的初始化 1.ip地址的修改(临时生效) 使用ifconfig命令 ifconfig 网卡名 ip地址 子网掩码 [root@localhost /]# ifconfig eno1677773 ...
- 第四课 开发uehtml官网响应式静态页面
概况:整站布局.头部菜单响应式设置.最新消息模块变化.内容模块四三二响应式变化. 伪类选择器: E:nth-of-type(n) 表示E父元素中的第n个字节点,且类型为E E:nth-la ...
- Javascript原型继承 __proto__
Javascript继承是通过原型链继承的 原型链是依赖__proto__而不是prototype var animal = function(){}; var dog = function(){}; ...
- Linux学习笔记(9)-守护进程
明天学这个!! ---------------------------------------------------------- 守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终 ...
- 查看java源码显示source not found
除了下载的jar包之外,还要下载src源码的zip包. 进项目的Java Build Path里找到你想看源码的jar包 Source Attachment Configuration--Extern ...
- ASP.NET MVC3中Controller与View之间的数据传递
在ASP.NET MVC中,经常会在Controller与View之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨: 一. Controller向Vie ...
- git本地有修改如何强制更新
本地有修改和提交,如何强制用远程的库更新更新.我尝试过用git pull -f,总是提示 You have not concluded your merge. (MERGE_HEAD exists). ...