`
lannerK
  • 浏览: 50614 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Linux 使用 vsftpd 限制登陆用户访问和修改某个文件夹 (FTP)

阅读更多

开发中有个需求,需要在服务器开通一个FTP账号给其他人用,让他们上传东西到我们的服务器。但是又不能让他们访问主机的其他目录,所以用到vsftpd这个东西。

我们的主机系统是RHEL 9 ,自带了 vsftpd,如果你的系统没有vsftpd,先自行安装一个,可以上网搜索如何安装。

设置步骤:

1.假设需要建立FTP登陆用户名为test。被限制路径为/home/test

2.linux建立用户 :

useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/test
passwd test //为test设置密码

3.权限设置

   a.关闭用户test telnet权限,使其不能通过ssh登陆,只能通过vsftpd的调用登陆

      usermod -s /sbin/nologin test

   b.vsftpd调用系统验证用户登录时的bin目录

      usermod -s /bin/bash test

   c.usermod -d /home/test test 更改用户test的主目录为/home/test

4.限制用户只能访问/home/test,不能访问其他路径

修改/etc/vsftpd/vsftpd.conf如下:

 

chroot_list_enable=YES //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

保存退出

5.修改 /etc/vsftpd/vsftpd.chroot_list  (将受限制的用户添加进去,每个用户名一行)

在第一行加上 test

6 重启vsFTPd服务器
/etc/init.d/vsftpd restart 或者 service vsftpd restart

 

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

 

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

 

可能出现问题

1.vsftp 500 OOPS: cannot change directory

在终端输入命令:

setsebool -P ftpd_disable_trans 1

 

service vsftpd restart

 

这样每次重启机器都可以了·

原因就在SELinux。

2.连接时出现

530 Login incorrect

这种情况多数是配置用户的问题,网上的解决方法不一

如果出现这种情况,再执行一次

usermod -s /bin/bash test 试试

目录 /bin/bash 一定要存在

1
6
分享到:
评论

相关推荐

    linux ftp双用户配置脚本

    ftp脚本,基于linux的vsftp配置,实现一键运行不同用户访问不同目录。两个用户ftp1和ftp2,密码是123456,ftp1访问/home/vsftpd,ftp2访问/opt/ftp2

    Linux FTP服务配置

    anonymous_enable=yes/no 是否允许匿名用户访问 anon_upload_enable=yes/no 是否允许匿名用户上传文件 anon_mkdir_write_enable=yes/no 是否允许匿名用户创建目录 anon_other_write_enable=yes/no 匿名用户和虚拟...

    Linux FTP服务搭建

    local_enable=NO 关闭本地用户访问 write_enable=NO 关闭本地用户的写权限 anon_upload_enable=NO 关闭匿名用户的上传权限 anon_mkdir_write_enable=NO 关闭匿名用户创建目录和写入文件的权限 anon_other_write_...

    LINUX FTP设置方法

    为了能够使用ftp服务器能够使用数据库文件对用户进行身份验证,还需要修改vsftpd的PAM文件,把以前的pam中的内容注释掉,并加入以下 内容。 [root@redhat etc]# vi /etc/pam.d/vsftpd #auth required pam_list...

    Linux-FTP配置说明及安装源文件

    为了能够使用ftp服务器能够使用数据库文件对用户进行身份验证,还需要修改vsftpd的PAM文件,把以前的pam中的内容注释掉,并加入以下 内容。 [root@redhat etc]# vi /etc/pam.d/vsftpd #auth required pam_listfile....

    vsftpd 2.3.4

    Linux 源代码 编译安装vsftpd-2.3.4 提供开源安全可靠的ftp服务系统 文件夹内有详细教程与配套文件 Linux 源代码 编译安装vsftpd-2.3.4的配置 Linux下FTP服务器vsftp...Linux下vsFTP配置全方案(限制用户端口速度空间)

    linux ftp服务器搭建

     后面的内容是对 ftp 服务器进行进一步的安全控制(用户登录控制) ============================ 用户无法登陆 vim /etc/vsftpd/ftpusers 该文件中保存的用户无法进行登录操作。 登录成功之后,默认进入到用户...

    CentOS7搭设FTP服务器的方法步骤

    Linux 中文件都有对应的所有者,虚拟用户认证指的是,创建一个或多个 FTP 用户,并将这些 FTP 用户与 Linux 本地的某个用户(如 vftpuser )进行映射,这样完成映射的用户在对 FTP 目录进行操作时等同于用户 ...

    linux学习记录

    要使用用户进行上传,比如root 就必须修改etc目录下的两个文件 一个是user_list 一个是ftpusers Chkconfig 开机自启动 如:chkconfig vsftpd on Chkconfig httpd on http服务 chkconfig mysql on mysql服务 ...

    Python代码使用 Pyftpdlib实现FTP服务器功能

    FTP 服务器,在此之前我都是使用Linux的vsftpd软件包来搭建FTP服务器的,现在发现了利用pyftpdlib可以更加简单的方法即可实现FTP服务器的功能。 环境要求 Python 2.7 Windows / Linux 环境搭建 pip install ...

    java版商城源码-warest_mall:warest_mall

    vsftpd:免费,开源的ftp服务器软件,支持虚拟用户、带宽限制 参考: 安装 yum -y install vsftpd 检查是否已安装 rpm -qa|grep vsftpd 配置文件默认在/etc/vsftpd/vsftpd.conf 创建虚拟用户 #创建虚拟用户要使用的...

    Ubuntu权威指南(2/2)

    4.4.2 修改文件的访问权限 103 4.4.3 设置文件的访问权限 104 4.4.4 其他访问权限设置 106 第5章 文件和目录操作 107 5.1 创建文件 108 5.2 显示文件列表 108 5.2.1 使用ls命令显示文件 列表 108 5.2.2 利用通配符...

    Ubuntu权威指南(1/2)

    4.4.2 修改文件的访问权限 103 4.4.3 设置文件的访问权限 104 4.4.4 其他访问权限设置 106 第5章 文件和目录操作 107 5.1 创建文件 108 5.2 显示文件列表 108 5.2.1 使用ls命令显示文件 列表 108 5.2.2 利用通配符...

Global site tag (gtag.js) - Google Analytics