proftpd虚拟用户配置 proftpd跨目录访问的配置方法

发布时间:2020-01-15编辑:脚本学堂
本文介绍下,proftpd软件中创建虚拟用户及跨目录访问的配置方法,有需要的朋友参考下。

一,proftpd创建虚拟用户
1,在/etc/proftpd.conf中加入
 

requireValidshell off
AuthOrder mod_auth_file.c
AuthUserFile /usr/local/etc/proftpd/passwd
AuthGroupFile /usr/local/etc/proftpd/group

其中,AuthOrder指定了权限检查的顺序。这里只使用虚拟用户。
AuthUserFile和AuthGroupFile的文件格式看passwd(5)和group(5)。
如果用户名和组名与系统的重复,看DirFakeUser和DirFakeGroup。

2,使用ftpasswd创建passwd和group文件
 

$ ftpasswd --passwd --file=/usr/local/etc/proftpd/passwd --name=test1 --uid=2001 --home=/home/nohome --shell=/bin/false
$ ftpasswd --passwd --file=/usr/local/etc/proftpd/passwd --name=test2 --uid=2002 --home=/home/nohome --shell=/bin/false

创建了一个test1和test2用户。
$ ftpasswd --group --name=test --gid=2001
创建了一个test组
$ ftpasswd --group --name=test --gid=2001 --member=test1 --member=test2
把test1和test2加入test组
3,重启proftpd
备注:
ftpasswd命令在proftpd的源代码包里就有,比如在如下的位置:
/usr/src/proftpd-1.3.1/contrib/ftpasswd
把ftpasswd改为可执行,拷贝可用的任意位置。

二,设置proftpd跨目录访问的方法。

1,让proftpd 支持虚拟用户这个模块。

2,使用ftpasswd创建用户
 

复制代码 代码示例:
ftpasswd --passwd --file=/usr/localproftpd/etc/passwd --name=test1 --uid=2001 --home=/test --shell=/sbin/nologin
ftpasswd --passwd --file=/usr/local/proftpd/etc/passwd --name=test2 --uid=2002 --home=/test --shell=/sbin/nologin

这两个用户同时都指向同一个目录/test,授予权限 chmod -R  777  /test     .并且这个两个用户同时都可以上传下载。

3,如果两个用户权限不一样的,test1 具有读写权限, test2具有读权限。
 

复制代码 代码示例:
ftpasswd --passwd --file=/usr/localproftpd/etc/passwd --name=test1 --uid=2001 --home=/test --shell=/sbin/nologin
ftpasswd --passwd --file=/usr/localproftpd/etc/passwd --name=test2 --uid=2002 --home=/test --shell=/sbin/nologin
chmod -R  755 /test

此时test1具有读写权限,test2具有读权限。

4,删除用户可以直接到 /usr/localproftpd/etc/passwd  #找到相关行直接删除
备注:ftpasswd 创建的用户uid可以重复,如果新建test3用户的UID=2001,此时test1和test3具有相同权限。