FTP服务器之pure-ftpd常用指令详解
2019独角兽企业重金招聘Python工程师标准>>>
紧接上文,继续......
1.创建虚拟用户
a. 使用命令添加一个虚拟用户
pure-pw命令的格式
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 host>[/<mask>][,...]
[-R <deny client host>[/<mask>][,...]
[-i <allow local host>[/<mask>][,...]
[-I <deny local host>[/<mask>][,...]
[-y <max number of concurrent sessions>]
[-z <hhmm>-<hhmm>] [-m]
举例:pure-pw useradd joe -u ftpuser -d /home/ftpusers/joe
回车后提示输入两次密码
使用 -d 参数指定一个用户的home目录后,该用户就被固定到这个目录了,其不能切换到上级目录如果要想让用户可以访问到别的目录,那么使用-D参数来指定hone目录。
如果pureFTPd的配置文件中指定了CreateHomeDir yes 的话,/home/ftpusers/joe 目录是没有必要手动创建的。当用户首次登录时如果目录不存在程序会自动创建相应的目录。
使用-z参数可以指定用户只能在一天中的某个时间段可以登陆ftp服务器。例如 -z 0900-1800那么joe只能在早上9点和下午6点这个时间段登陆。注意:如果设置登陆时间的用户已经通过验证登陆到ftp服务器上了,那么所做的登陆时间限制只能在他下次登陆验证的时候才能生效。
-r 与 -R 参数是约束用户从哪些IP登陆的。可以使用IP/mask的形式,如-r 192.168.1.0/24多个段用逗号隔开,如:-r 192.168.1.0/24,10.1.0.0/16,127.0.0.1/32 。单独的IP:-r 192.168.1.4,10.1.1.5主机名:-r bla.bla.net,yopcitron.com。以及一些相兼容的格式。
-y 参数是限制同一时刻一个用户最多能发起多少个会话(sessions)。”或0 代表无限制。该选项可以降低系统负载。效果同配置文件中的 MaxClientsPerIP
ok,现在用户 “joe” 已经创建成功了默认的虚拟用户列表文件存储在 安装目录的/etc/目录下,可以使用-f参数指定文件的存储路径
b. 查看文件内容
# cat /usr/local/pure-ftpd/etc/pureftpd.passwd
joe:$1$ocfl1XW0$R0JaEh3CjGFByGbdN7qNy/:501:501::/home/ftpusers/joe/./:::::::::::: #密码字段是经过加密的。
c. 更改用户信息
虚拟用户创建之后,你也可以通过pure-pw命令来修改其相关的信息,如限制下载
带宽、磁盘配额、用户全名、下载上传率等等
例如:我要修改用户joe的最大文件数为1000个,大小为10MB,命令如下:
# pure-pw usermod joe -n 1000 -N 10
d. 查看一下虚拟用户列表文件
# cat /usr/local/pure-ftpd/etc/pureftpd.passwd
joe:$1$ocfl1XW0$R0JaEh3CjGFByGbdN7qNy/:501:501::/home/ftpusers/joe/./::::::1000:10485760:::::
e. 重置用户属性
要禁用文件数配额,执行 pure-pw usermod -n ”
要禁用文件大小配额,执行 pure-pw usermod -N ”
要禁用上传/下载比率,执行 pure-pw usermod -q ” -Q ”
要禁用下载带宽限制,执行 pure-pw usermod -t ”
要禁止上传带宽限制,执行 pure-pw usermod -T ”
要禁止IP地址过滤,使用 pure-pw usermod <-i,-I,-r or -R> ”
要禁止登陆时间限制,执行 pure-pw usermod -z ”
要禁止最大并发数控制,执行 pure-pw usermod -y ”
f. 删除用户
使用pure-pw userdel 命令可以删除一个已经存在的用户
pure-pw userdel <login> [-f <passwd file>] [-m]
如:pure-pw userdel joe
用户home目录中的文件不会被删除,需要手动删除
g. 更改密码
# pure-pw passwd <login> [-f <passwd file>] [-m]
h. 利用pure-pw命令查看用户信息
# pure-pw show joe
i. 注意事项:
你可以通过上面提到的命令或者手动的来添加/删除用户,修改用户相关限制属性等等,但是这些改动都是针对虚拟用户列表文件的(pureftpd.passwd)。pureFTPd服务器程序是不认识这个文件的。要想让ftp server能够识别的我们所做的更改,必须要通过pure-pw mkdb 命令生成PureDB格式的文件,实际上PureDB数据文件就是从pureftpd.passwd文件转换过来的,为了ftp server可以更快的检索到指定的用户。
# pure-pw mkdb -> 当使用pure-pw 生成虚拟用户之后一定要使用pure-pw mkdb命令生成数据库文件,否则pure-ftp启动之后也无法验证虚拟用户
默认情况下会在软件安装目录/etc目录下生成pureftpd.pdb文件。
如:/usr/local/pure-ftpd/etc/pureftpd.pdb
# pure-pw passwd joe -m
当输入完两次新密码之后,密码的更改就同时应用到列表文件和pdb数据库文件中了。是不是很方便!
编译ftp服务器端的时候一定要加入–with-puredb 选项,或者干脆–with-everything
一定要注意自己的pdb文件的位置在哪
2. 启动和关闭pure-ftpd
启动 /usr/local/pure-ftpd/sbin/pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf
显示信息如下:
Running: /usr/local/pure-ftpd/sbin/pure-ftpd -A -b -c50 -B -C8 -d -E -fftp -H -I15 -lmysql:/usr/local/pure-ftpd/etc/pureftpd-mysql.conf -lpuredb:/usr/local/pure-ftpd/etc/pureftpd.pdb -L10000:8 -m4 -p50000:51000 -Q1:10 -s -T8 -U133:022 -u2 -w -r -i -Oclf:/var/log/pureftpd.log -j -n1000:10 -g/var/run/pure-ftpd.pid -k99 -Z -4 -8UTF-8 -9gb2312
关闭: pkill pure-ftpd
下一篇将主要介绍Mysql虚拟账户一块
转载于:https://my.oschina.net/u/1537172/blog/221753
FTP服务器之pure-ftpd常用指令详解相关推荐
- ImageMagick常用指令详解
Imagemagick常用指令 (ImageMagick--蓝天白云) (ImageMagick官网) (其他比较有价值的IM参考) (图片自动旋转的前端实现方案) convert 转换图像格式和大小 ...
- Linux中移动光标cw什么意思,linux常用指令详解
Linux下ln命令详解 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(lin ...
- pureftpd mysql 语句_FTP服务器之pure-ftpd常用指令详解
紧接上文,继续...... 1.创建虚拟用户 a. 使用命令添加一个虚拟用户 pure-pw命令的格式 pure-pw useradd [-f ] -u [-g ] -D/-d [-c ] [-t ...
- Linux常用指令(详解)
目录 1.ls指令 2.pwd 3.clear 4.whoami 5.cd 6.tree 7.mkdir 8.touch 9.rmdir 10.rm 11.man 12.cp 13.mv 14.cat ...
- 汇编8086CPU常用指令——详解
数据传送类指令 数据传送是计算机中最基本.最重要的一种操作,数据传送指令的功能是把数据从一个位置传送到另一个位置. 1. 通用数据传送指令 (1) MOV指令 指令格式:MOV dest , src ...
- ARM汇编寄存器和常用指令详解
文章目录 AAPCS关于ARM寄存器的定义 寄存器 R0~R12 通用寄存器 R13-SP(Stack Pointer) 栈寄存器 R14-LR(Link Register) 链接寄存器 R15-PC ...
- ABB机器人学习笔记(十)-ABB机器人常用指令详解(2)
MoveExtJ:移动一个或者多个没有TCP的机械单元 MoveExtJ jpos10,vrot10,z50:意思是移动旋转外部轴到关节位置jpos10,速度10°/秒,zone数据z50. Move ...
- 【Bluetooth LE】Bluez中Bluetoothctl指令详解(连接iPhone为例)
Bluez中Bluetoothctl指令详解 写在前面 准备硬件和软件 ubantu&bluez版本 iPhone&LightBlue Bluetoothctl指令列表 Bluetoo ...
- Linux常用命令详解(最全)
Linux命令目录 Linux命令集合 系统信息 关机 (系统的关机.重启以及登出 ) 文件和目录 文件搜索 挂载一个文件系统 磁盘空间 用户和群组 文件的权限 - 使用 "+" ...
最新文章
- linux 下文件管理值得注意的地方
- jfinal出现sql injection violation, multi-statement not allow : select count(*) select a.name,
- WinDbg实战调试命令笔记
- BeanFactory和ApplicationContext对比
- openshift_红帽Openshift:入门–云中的Java EE6
- 52)PHP,加了单例模式的数据库代码
- python为list实现find方法
- C/C++之回调函数
- QQ导出的txt聊天记录导入数据库方法
- 【报告分享】2021潮购人群洞察报告-巨量算数(附下载)
- 使用Scratch制作打弹球游戏-反弹球
- 123457123457#0#-----com.yuming.drawGame01--前拼后广--儿童画画游戏
- 获取手机状态栏的高度
- Pandas按行列求和
- HDU多校第三场6608 Fansblog(米勒罗宾+威尔逊定理)
- 【spring里面都用到了哪些设计模式】
- 【Pandas】根据某列分组求和
- 一分钟弄懂什么是分布式和微服务
- 贪心算法解旅行家的预算问题
- CRF条件随机场模型笔记