飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

pure-ftpd创建只读账户(虚拟账户)

Author:飘易 Source:飘易
Categories:Linux技术 PostTime:2019-7-23 15:14:35
正 文:

自从 0.99.2 版本开始, pure-ftpd 就开始支持虚拟用户。虚拟用户方式十分类似 /etc/passwd ,将用户的相关信息,如口令、姓名、 uid 、目录等,存入文件。但是该文件只适用于 FTP 。


这意味着,可以为 FTP 设置虚拟用户,而不需要在系统中添加系统用户。同时,可以为这些用户单独设置配额、 ratio 、带宽等限制。很多虚拟用户可以共享同一个系统用户的属性,因此建议为这些虚拟用户单独创建一个系统用户,从而方便管理。


LNMP 一键包里pure ftpd的命令行是:

lnmp ftp {add|list|edit|del|show}


使用lnmp ftp add 的方式增加FTP账户后,再使用 lnmp ftp show 查看:

Login              : sanxing
Password           : $6$1iHVhLYDFs3bPep...
UID                : 1001 (www)
GID                : 1001 (www)
Directory          : /storage/wwwroot/sanxing.abc.net/./
Full name          : 
Download bandwidth : 0 Kb (unlimited)
Upload   bandwidth : 0 Kb (unlimited)
Max files          : 0 (unlimited)
Max size           : 0 Mb (unlimited)
Ratio              : 0:0 (unlimited:unlimited)
Allowed local  IPs : 
Denied  local  IPs : 
Allowed client IPs : 
Denied  client IPs : 
Time restrictions  : 0000-0000 (unlimited)
Max sim sessions   : 0 (unlimited)

这种方式创建了一个虚拟的ftp用户 sanxing,依赖于系统创建的 ftp 用户:

cat /etc/passwd
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

cat /etc/group
ftp:x:50:


下面重点来了,我们来把这个 sanxing 用户设置为只读权限:


一、FTP只读权限设置:

打开 /usr/local/pureftpd/etc/pureftpd.passwd 修改UID值1001(www)为其他UID(必须大于MinUID=100),比如9999(不存在的用户ID):

sanxing:$6$1iHVhLYDFs3bP:1001:1001::/storage/wwwroot/sanxing.abc.net/./::::::::::::

修改为

sanxing:$6$1iHVhLYDFs3bP:9999:1001::/storage/wwwroot/sanxing.abc.net/./::::::::::::


或者直接命令行修改:

/usr/local/pureftpd/bin/pure-pw usermod sanxing -u 9999 -g 1001



二、生成索引文件,立即生效:

/usr/local/pureftpd/bin/pure-pw mkdb



三、修改目录的权限(其他用户other给读权限,删除写权限):

chmod -R o-w /storage/wwwroot/sanxing.abc.net/
chmod -R o+r /storage/wwwroot/sanxing.abc.net/

注意,有些程序,比如 laravel 需要一些目录有 执行 权限(x):


现在登录FTP,用户就只有查看的权限了。



补充:

pure-pw的使用方法:

Usage :

pure-pw useradd <login> [-f <passwd file>] -u <uid> [-g <gid>]
                -D/-d <home directory> [-c <gecos>]
                [-t <download bandwidth>] [-T <upload bandwidth>]
                [-n <max number of files>] [-N <max Mbytes>]
                [-q <upload ratio>] [-Q <download ratio>]
                [-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]
                [-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]
                [-y <max number of concurrent sessions>]
                [-z <hhmm>-<hhmm>] [-m]

pure-pw usermod <login> -f <passwd file> -u <uid> [-g <gid>]
                -D/-d <home directory> -[c <gecos>]
                [-t <download bandwidth>] [-T <upload bandwidth>]
                [-n <max number of files>] [-N <max Mbytes>]
                [-q <upload ratio>] [-Q <download ratio>]
                [-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]
                [-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]
                [-y <max number of concurrent sessions>]
                [-z <hhmm>-<hhmm>] [-m]

pure-pw userdel <login> [-f <passwd file>] [-m]

pure-pw passwd  <login> [-f <passwd file>] [-m]

pure-pw show    <login> [-f <passwd file>]

pure-pw mkdb    [<puredb database file> [-f <passwd file>]]
                [-F <puredb file>]

pure-pw list    [-f <passwd file>]


作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:Arduion使用ULN2003APG驱动直流电机实现转速控制
下一篇:【跟我一起搭建物联网平台】6、EMQX之Kafka插件编译安装
0条评论 “pure-ftpd创建只读账户(虚拟账户)”
No Comment .
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2019 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有