vsftpd和quota配额

vsftpd服务器

vsftpd入门

vsftpd官网

vsftpd.conf

cat /etc/passwd命令解析如下

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

以冒号分割,空格没有作用

  1. ftp 是用户名
  2. x 是密码字段,是隐藏的;
  3. 14 是用户的UID字段,可以自己来设定,不要和其它用户的UID相同,否则会造成系统安全问题;
  4. 50 用用户组的GID,可以自己设定,不要和其它用户组共用FTP的GID,否则会造成系统全全问题;
  5. FTP User 是用户说明字段;
  6. /var/ftp 是ftp用户的家目录,即对应该用户的/,可以自己来定义;
  7. /sbin/nologin 这是用户登录SHELL ,这个也是可以定义的,/sbin/nologin 表示不能登录系统;系统虚拟帐号(也被称为伪用户)一般都是这么设置。比如我们把ftp用户的/sbin/nologin 改为 /bin/bash ,这样ftp用户通过本地或者远程工具ssh或telnet以真实用户身份登录到系统。这样做对系统来说是不安全的;如果您认为一个用户没有太大的必要登录到系统,就可以只给他FTP帐号的权限,也就是说只给他FTP的权限,而不要把他的SHELL设置成 /bin/bash 等;

在 /etc/shells增加一行

1
/sbin/nologin

创建ftp 用户yy

1
2
useradd -s /sbin/nologin -d /data -m yy -p 123
echo "yy" >> /etc/vsftpd/user_list

Quota:

man 手册 (uid代替纯数字用户名)

inux quota配置

Quota installation and configuration on Ubuntu

  • 创建用户data

    1
    ./create_ftp_user.sh data
  • 修改用户data的密码

    1
    ./gpu_change_passwd.sh data 8d777f38 data123
  • 查看用户ID

    1
    id username
  • 查看用户配额

    1
    sudo repquota -auvs
  • 设置用户配额(200G):

    1
    setquota  -u 1255  0 209715200 0 0  -a  /mnt/bigdata

setquota -u 1104 0 188743680 0 0 -a /mnt/bigdata