Learning together

Learning together with open source fans. QQ群:8021887


  • 网站首页

  • 站内留言

  • 关于本站

  • 我的相册

  • 联系羽飞

  • 内容订阅
  • VSFTPD的又一个案例的实现过程

    作者: 羽飞 | 发布时间: 星期六, 02/27/2010 - 17:20 |

    最近要架设个FTP服务器,总体要求:
    1、不同网站的用户登陆到自己的网站根目录,用户自己的权限不能改变。
    2、一个共同的帐户用来共享资料,相应的权限只能上传和下载,但不能删除文件和文件夹,但能建立文件夹。
    3、限制所有用户在自己有目录里面,也就是chroot
    实现构想:
    1、用user_config_dir,实现不同用户登陆不再目录和设置不同权限的目的。
    2、开启chroot_list,用来限制用户只能在自己的目录里面
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    3、考虑到第二条件,用一些权限设置来实现,比如说把上传文件的所有都全部改成ROOT,但chown_uploads和chown_username只能对匿名用户起作用,当然也可以通过本地用户映射来实现,但是和我们的题目要求有点不符合,因为不是本地用户。如果没有这些条件的限制,大家可以考虑用这个chown_uploads和chown_username来实现。
    4、还记得我们前面提到的cmds_allowed的用法吗(参考前面的教程http://www.freeopens.com/2010_02_647.html)我们来用他来实现,这样方便、快捷、实用!
    好,下面就来看我们的实现步骤吧!

    useradd -d /home/ftpuser -s /sbin/nologin ftpuser
    passwd ftpuser
    Changing password for user ftpuser.
    New UNIX password:
    Retype new UNIX password:

    编译vsftpd.conf文件,内容如下 [root@localhost vsftpd]# grep -Ev ‘^#’ vsftpd.conf
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    user_config_dir=/etc/vsftpd/user_conf
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    listen=YES
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES

    接下来就是建立用户的配置文件夹
    mkdir /etc/vsftpd/user_conf
    然后在里面增加上用户名的配置文件
    vim /etc/vsftpd/user_conf/ftpuser
    local_root=/test #设置用户登陆的目录
    cmds_allowed=ABOR,ACCT,APPE,CWD,CDUP,HELP,LIST,MODE,MDTM,MKD,NOOP,NLST,PASS,PASV,PORT,PWD,QUIT,REIN,RETR,RNFR,RNTO,SITE,SIZE,STOR,STAT,STOU,STRU,SYST,TYPE,USER #给用户使用的权限,注意这里不能有多余的空格

    建立用户登陆的目录和给他相应的权限
    midir /test
    chown ftpuser:ftpuser /test

    之后把用户增加到chroot_list文件中
    vim /etc/vsftpd/chroot_list
    把ftpuser增加到里面,一个用户一行
    这样,我们的配置就完成了,然后启动vsftpd进行测试吧!
    最后,为了方便大家在后面的使用,我搞了个比较全的cmds_allowed,具体的命令自己查看我以前的相关文章!
    cmds_allowed=ABOR,ACCT,APPE,CWD,CDUP,HELP,LIST,MODE,MDTM,MKD,NOOP,NLST,PASS,PASV,PORT,PWD,QUIT,REIN,RETR,RNFR,RNTO,SITE,SIZE,STOR,STAT,STOU,STRU,SYST,TYPE,USER

    相关文章

    发表评论