---
name: "pure-pw"
section: "8"
platform: "linux"
package: "pure-ftpd-common"
version: "1.0.50-2.2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pure-pw"
---

# pure-pw(8)

Manage virtual users files for Pure-FTPd

## NAME

pure-pw - Manage virtual users files for Pure-FTPd

## SYNTAX

pure-pw useradd login \[-f passwd\_file\] \[-F puredb\_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\>\[,\<ip\>/\<mask\>\]...\] \[-R \<deny client host\>/\<mask\>\[,\<ip\>/\<mask\>\]...\]\
                 \[-i \<allow local host\>/\<mask\>\[,\<ip\>/\<mask\>\]...\] \[-I \<deny local host\>/\<mask\>\[,\<ip\>/\<mask\>\]...\]\
                 \[-y \<max number of concurrent sessions\>\]\
                 \[-z \<hhmm\>-\<hhmm\>\] \[-m\]\
 pure-pw usermod login \[-f passwd\_file\] \[-F puredb\_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\>\[,\<ip\>/\<mask\>\]...\] \[-R \<deny client host\>/\<mask\>\[,\<ip\>/\<mask\>\]...\]\
                 \[-i \<allow local host\>/\<mask\>\[,\<ip\>/\<mask\>\]...\] \[-I \<deny local host\>/\<mask\>\[,\<ip\>/\<mask\>\]...\]\
                 \[-y \<max number of concurrent sessions\>\]\
                 \[-z \<hhmm\>-\<hhmm\>\] \[-m\]\
 pure-pw userdel login \[-f passwd\_file\] \[-F puredb\_file\] \[-m\]\
 pure-pw passwd  login \[-f passwd\_file\] \[-F puredb\_file\] \[-m\]\
 pure-pw show    login \[-f passwd\_file\] \[-m\]\
 pure-pw mkdb    \[\<puredb\_database\_file\> \[-f passwd\_file\]\] \[-F puredb\_file\] \
 pure-pw list    \[-f passwd\_file\]

## DESCRIPTION

Virtual users is a simple mechanism to store a list of users, with their password, name, uid, directory, etc. It's just like /etc/passwd. But it's not /etc/passwd. It's a different file, only for FTP.\
 It means that you can easily create FTP-only accounts without messing your system accounts.\
 Additionnaly, virtual users files can store individual quotas, ratios, bandwidth, etc. System accounts can't do this.\
 Thousands of virtual users can share the same system user, as long as they all are chrooted, and they have their own home directory.

## FILES

*/etc/pure-ftpd/pureftpd.passwd*\
 */etc/pure-ftpd/pureftpd.pdb*

## ENVIRONMENT VARIABLES

*PURE\_PASSWDFILE* If this variable is defined, this is the default value for the text password file. Without this variable, /etc/pure-ftpd/pureftpd.passwd is assumed.\
 *PURE\_DBFILE*  If this variable is defined, this is the default value for the PureDB password file. Without this variable, /etc/pure-ftpd/pureftpd.pdb is assumed.

## EXAMPLES

Please read http://download.pureftpd.org/pub/pure-ftpd/doc/README.Virtual-Users

## AUTHORS

Frank DENIS \<j at pureftpd dot org\>

## SEE ALSO

**[ftp(1)](/ftp/1.md)**, **[pure-ftpd(8)](/pure-ftpd/8.md)** **[pure-ftpwho(8)](/pure-ftpwho/8.md)** **[pure-mrtginfo(8)](/pure-mrtginfo/8.md)** **[pure-uploadscript(8)](/pure-uploadscript/8.md)** **[pure-statsdecode(8)](/pure-statsdecode/8.md)** **[pure-pw(8)](/pure-pw/8.md)** **[pure-quotacheck(8)](/pure-quotacheck/8.md)** **[pure-authd(8)](/pure-authd/8.md)** **[pure-certd(8)](/pure-certd/8.md)**

**RFC 959**, **RFC 2228**, **RFC 2389** and **RFC 2428**.
