zoukankan      html  css  js  c++  java
  • Linux添加FTP用户并设置权限

    Linux添加FTP用户并设置权限

     
     
     

    ftp软件用的是vsftpd。

    vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

    vsftpd 的名字代表”very secure FTP daemon”,安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。

    准备工作

    安装vsftpd

    yum install vsftpd

    设置开机启动vsftpd ftp服务

    chkconfig vsftpd on

    打开vsftpd配置文件

    vi /etc/vsftpd/vsftpd.conf

    需求及配置

    1. 不允许匿名访问

    anonymous_enable=NO

    2. 使用本地帐户进行FTP用户登录验证

    2.1 允许使用本地帐户进行FTP用户登录验证

    local_enable=YES

    2.2 创建用于FTP登录的本地帐户

    增加用户ftpuser,主目录为/home/ftp,禁止登录SSH权限。

    useradd -d /home/ftp -g ftp -s /sbin/nologin ftpuser -p password

    该命令参考自:CentOS 6.2 ftp 配置

    useradd命令参考文档:Linux的useradd

    2.3 只允许刚创建的ftpuser登录FTP

    vi /etc/vsftpd/vsftpd.conf

    userlist_enable=YES
    userlist_deny=NO

    vi /etc/vsftpd/user_list

    注释所有帐户,添加ftpuser

    复制代码
    # vsftpd userlist
    # If userlist_deny=NO, only allow users in this file
    # If userlist_deny=YES (default), never allow users in this file, and
    # do not even prompt for a password.
    # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
    # for users that are denied.
    #root
    #bin
    #daemon
    #adm
    #lp
    #sync
    #shutdown
    #halt
    #mail
    #news
    #uucp
    #operator
    #games
    #nobody
    ftpuser
    复制代码

    配置到这里,就可以远程用FTP客户端登录并上传文件,文件会保存在ftpuser的主目录,也就是/home/ftp。

    3. 不允许FTP下载

    vi /etc/vsftpd/vsftpd.conf

    download_enable=NO

    4. 只允许指定的IP才能连接

    4.1 安装tcp_wrappers

    yum -y install tcp_wrappers

    4.2 检查tcp_wrappers是否被设置为YES

    vi /etc/vsftpd/vsftpd.conf

    tcp_wrappers=YES

    4.3 添回允许的IP

    vi /etc/hosts.allow

    vsftpd:允许的IP地址

    4.4 拒绝所有其他的IP

    vi /etc/hosts.deny

    vsftpd:ALL

    在linux中添加ftp用户,并设置相应的权限,操作步骤如下:

    1、环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/test

    2、建用户,命令行状态下,在root用户下:

        运行命令:“useradd -d /home/test test”  //增加用户test,并制定test用户的主目录为/home/test

        运行命令:“passwd test”  //为test设置密码,运行后输入两次相同密码

    3、更改用户相应的权限设置:

        运行命令:“usermod -s /sbin/nologin test”  //限定用户test不能telnet,只能ftp

        运行命令:“usermod -s /sbin/bash test”  //用户test恢复正常

        运行命令:“usermod -d /test test”  //更改用户test的主目录为/test

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

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

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

        编辑上面的内容

        第一行:chroot_list_enable=YES  //限制访问自身目录

        第三行:编辑vsftpd.chroot_list。根据第三行说指定的目录,找到chroot_list文件。(因主机不同,文件名也许略有不同)

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

    5、重启服务器

        改完配置文件,不要忘记重启vsFTPd服务器

        运行命令:/etc/init.d/vsftpd restart

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

        运行命令:“usermod -s /usr/bin/passwd test”  //用户telnet后将直接进入改密界面

    困难是老天给我们提高的机会,坚定不移勇敢地去攻克,不要退缩,加油!
  • 相关阅读:
    Linux 查看本地ip
    php 利用debug_backtrace方法跟踪代码调用
    开源镜像站,vmware下载
    robots.txt 让搜索引擎不再收录网站
    PHP 面向对象 final类与final方法
    开源代码
    PHPStorm设置Ctrl+滚轮调整字体大小
    PHP array_chunk() 妙用
    第九节 JavaScript提取行间事件
    第八节 JavaScript函数的定义和执行
  • 原文地址:https://www.cnblogs.com/merlini/p/3551016.html
Copyright © 2011-2022 走看看