首页 > 其他分享 >PureFtpd新添加的用户默认都是www用户组下也可以进行修改

PureFtpd新添加的用户默认都是www用户组下也可以进行修改

时间:2022-08-31 21:13:40浏览次数:80  
标签:www ftpd 用户组 用户 etc usr pure PureFtpd local

网上关于pureftp的安装教程很多,但是试了以后发现很多其实都不完善,很容易出错,自己安装摸索以后总结如下: 

查看用户cat  /etc/passwd 查看组 /etc/group

首先安装之前最好用netstat -ntl来查看ftp默认的21端口是不是已经被占用了,同时也可以用ps -ef 指令查看开启了哪些服务,看一下有没有类似sftp或者是vsftp的服务,如果开启,用killall sftp指令把这个服务kill掉

1.下载pureftp,我下载的是pure-ftpd-1.0.30

 

指令:wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.30.tar.bz2

2.解压:tar -xvjf pure-ftpd-1.0.30.tar.bz2

进入到解压后目录:cd pure-ftpd-1.0.30

3.编译方式,推荐使用全部安装:./configure –prefix=/usr/local/pure-ftpd/ –with-

language=simplified-chinese –with-everything

4.安装:make && make check && make install

5.建立相应的安装目录:mkdir /usr/local/pure-ftpd/etc

6.把配置文件和主要执行文件拷到对应的文件夹下面:

cp configuration-file/pure-ftpd.conf /usr/local/pure-ftpd/etc/ 
cp configuration-file/pure-config.pl /usr/local/pure-ftpd/sbin/ 
chmod 755 /usr/local/pure-ftpd/sbin/pure-config.pl 
 
 
7.定制一下系统的环境变量:

cd /usr/local/bin/ 
ln -s /usr/local/pure-ftpd/bin/* . 
ln -s /usr/local/pure-ftpd/sbin/* /usr/local/sbin/ 
ln -s /usr/local/pure-ftpd/man/man8/* /usr/local/share/man/man8/ 
 
8.启动pureftp服务器:

pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf

屏幕上一般显示如下信息:

Running: /usr/local/pure-ftpd/sbin/pure-ftpd -A -b -B -C20 -d -e -fnone -H -I15 -L2000:8 -M -m4 -p45000:50000 -q1:10 -s -t200 -U133:022 -u100 -r -Oclf:/var/log/pureftpd.log -k99 -Z

此时可以用在命令行窗口下telnet ip地址 21的方式探测一下这个端口是不是通的

9.pureftp一般需要不用默认的root用户进行操作,一般会另外创建用户名和组,用虚拟用户进行登录

创建组:groupadd ftpgroup
创建用户:useradd -g ftpgroup -d /dev/null -s /etc ftpuser
创建完成以后可以用cat /etc/passwd和cat /etc/group来查看组和用户是否已经创建好了

10.添加ftp虚拟用户

ure-pw useradd test -u ftpuser -d /home/ftpusers/test
如果添加完成以后想要删除可以使用pure-pw userdel test这条指令
想要修改密码可以使用pure-pw passwd test这条指令

11.查看用户信息

pure-pw show test

12.生成数据库文件

pure-pw mkdb

13.一定要注意修改配置文件,因为很多配置文件数据库的默认安装位置并不是实际位置,这样就会造成每次登

陆的时候都找不到密码,ftp一直显示passwd required,所以安装好以后一定要修改配置文件,尤其是粉红色的

部位,注意修改

打开配置文件:vi /usr/local/pure-ftpd/etc/pure-ftpd.conf
 
ChrootEveryone              yes         # 启用chroot
BrokenClientsCompatibility  yes         # 兼容不同客户端
Daemonize                   yes         # 后台运行
MaxClientsPerIP             20          # 每个ip最大连接数
VerboseLog                  yes         # 记录日志
DisplayDotFiles             no          # 显示隐藏文件
AnonymousOnly               no          # 只允许匿名用户访问
NoAnonymous                 yes         # 不允许匿名用户连接
SyslogFacility              none        # 不将日志在syslog日志中显示
DontResolve                 yes         # 不进行客户端DNS解析
MaxIdleTime                 15          # 最大空闲时间
LimitRecursion              2000 8      # 浏览限制,文件2000,目录8层
AnonymousCanCreateDirs      no          # 匿名用户可以创建目录
MaxLoad                     4           # 超出负载后禁止下载
PassivePortRange          45000 50000   # 被动模式端口范围
#AnonymousRatio                1 10     # 匿名用户上传/下载比率
UserRatio                 1 10          # 所有用户上传/下载比率
AntiWarez                   yes         # 禁止下载匿名用户上传但未经验证的文件
#AnonymousBandwidth            200      # 匿名用户带宽限制(KB)
UserBandwidth               8           # 所有用户最大带宽(KB)
Umask                       133:022     # 创建文件/目录默认掩码
MinUID                      100         # 最大UID限制
AllowUserFXP                no          # 仅运行用户进行FXP传输
AllowAnonymousFXP           no          # 对匿名用户和非匿名用户允许进行匿名 FXP 传输
ProhibitDotFilesWrite       no          # 不能删除/写入隐藏文件
ProhibitDotFilesRead        no          # 禁止读取隐藏文件
AutoRename                  yes         # 有同名文件时自动重新命名
AnonymousCantUpload         yes         # 不允许匿名用户上传文件
AltLog                     clf:/var/log/pureftpd.log                # clf格式日志文件位置
PureDB                     /usr/local/pure-ftpd/etc/pureftpd.pdb        # 用户数据库文件
MaxDiskUsage               99           # 当磁盘使用量打到99%时禁止上传
CreateHomeDir              yes          # 如果虚拟用户的目录不存在则自动创建
CustomerProof              yes          # 防止命令误操作
 
PureDB                     /usr/local/pure-ftpd/etc/pureftpd.pdb这个地方一定要记得修改,不然会一直

登不上去,修改完成以后可以再次执行

14.重新生成数据库文件pure-pw mkdb
15.先把之前的pureftp服务kill掉 killall pure-ftpd
16.然后重新启动/usr/local/pure-ftpd/sbin/pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf
17.此时一般已经可以成功登录,但是有可能还是无法上传到服务器上去,此时一般是权限问题,
登录到ftp的家目录下 cd /home/ftpusers/test
修改test文件夹下的文件权限 chown ftpuser:ftpgroup wenjian1
再尝试重新连接以后上传。

 

 

假如你需要操作的网站文件夹是/home/wwwroot/www.abc.com,运行下面的命令:

/* 设置权限为755 */
chmod -R 755 /home/wwwroot/www.abc.com
/* 设置文件归属为www用户组 */
chown -R www:www /home/wwwroot/www.abc.com
Bash

PureFtpd新添加的用户默认都是www用户组下,而这里就是讲文件夹归属修改到www并且设置权限为755,然后就可以正常上传替换删除文件了。
有时候会有莫名其妙的权限问题,也可以借鉴这两个命令,对象是文件夹就加上-R参数。

 

虚拟用户设置:

首先,可以在系统中添加相应的用户和组,如用户ftpuser 和组ftpgroup 。

    groupadd ftpgroup
    useradd ftpuser -g ftpgroup -d /home/ftp -s /sbin/nologin

也可以是能登录系统的用户,但最好是不能登录系统的用户,安全。

然后利用pure-pw命令添加虚拟用户,如添加虚拟用户user1,并指定查看目录为/var/www/site1。

    pure-pw useradd user1 -u ftpuser -g ftpgroup -d /var/www/site1

另:一个系统用户可以绑定多个虚拟用户,然后控制所查看的目录。
如再添加虚拟用户user2,并指定查看目录为/var/www/site2

    pure-pw useradd user2 -u ftpuser -g ftpgroup -d /var/www/site2

pure-pw完之后会要求输入密码,也就是设置登录ftp用户的密码。

添加完之後,让 pure-ftpd 建立虚拟用户数据

    pure-pw mkdb

这样完了之后:

    /etc/init.d/pure-ftpd restart

是否可以登录?如果不可以,请查看 /etc/pure-ftpd/auth 下是否有 puredb ?
没有需要在/etc/pure-ftpd/auth下,创建一个软链接

    ln -s /etc/pure-ftpd/conf/PureDB 60puredb

至此,再次重启pure-ftpd。各个虚拟用户即可登录ftp查看各自的目录。
而且所有命令如果没有权限,记得加sudo。

其他:
1、删除一个用户的命令语法是:

    pure-pw userdel[-f] [-m]

这时,用户的信息会被从指定的 passwd 文件中删除,但是用户的 home 目录会被保留,需要手工删除。

2、改变用户口令

    pure-pw passwd[-f] [-m]

3、显示用户信息
/etc/pureftpd.passwd 文件中记录的信息不方便用户的阅读,因此 pure-ftpd 提供了显示用户信息的命令。其语法是:

    pure-pw show[-f]

 

标签:www,ftpd,用户组,用户,etc,usr,pure,PureFtpd,local
From: https://www.cnblogs.com/cheyunhua/p/16644519.html

相关文章

  • Referenced file contains errors (http://www.springframework.org/schema/beans/spr
    Referencedfilecontainserrors(http://www.springframework.org/schema/beans/spring-beans-3.0.xsd)._faihtua的博客-CSDN博客 https://blog.csdn.net/faihtua/arti......
  • 日志打印输出到控制台以及文件 Spring boot application.yml https://www.cnblogs
    转自:https://www.cnblogs.com/izyh/p/15945950.htmlyml文件中添加配置:##########日志配置-START##########logging:config:classpath:logback-spring.......
  • Windows中的用户和用户组
    SID每个用户账户拥有唯一的安全标识符,用来记录用户的权限SID的组成:SID=WindowsID+用户IDWindowsID:在安装Windows的过程每台计算机都会产生不同的WindowsID用户......
  • RS485自动收发切换电路 [原创www.cnblogs.com/helesheng]
    RS485是最常见的一种远距离可靠传输和组网的UART串口信号接口协议。与同样传输UART串口信号的RS422协议相比,RS485使用半双工通信,即只有一个信道,在同一时刻要么从A到B,要么从......
  • 用户和用户组文件
    用户和用户组文件/etc/passwd完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改在Linux系统中,所创建的用户帐号和其相关信息(密......
  • 用户组管理
    用户组管理概述简介每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理(开发、测试、运维、root)。不同Linux系统对用户组的规定有所不同,如Linux下......
  • Linux用户组管理
    1、用户组管理用户组的管理包括用户组的添加、删除和修改。为什么要建立用户组人事部有20名员工,我们要建立一个组,叫hr,这样就不用分别给20个员工设置权限......
  • Ubuntu添加非root用户到Docker用户组
    前言首先平常公司的Linux生产环境为了防止误操作导致灾难性问题,一般都不会给我们开发开放root管理员的账号权限。所以平常在Ubuntu的普通用户登录的时候,要操作Dcoker......