.\" Copyright (C) 2002 Francesco P. Lovergine .\" .\" This manual page is free software. It is distributed under the .\" terms of the GNU General Public License as published by the Free .\" Software Foundation; either version 2 of the License, or (at your .\" option) any later version. .\" .\" This manual page is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this manual page; if not, write to the Free Software .\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 .\" USA .\" .TH FTPASSWD 8 "October 19, 2002" "1.1.2" "Debian GNU/Linux" .SH NAME ftpasswd \- manipulates ProFTPD authentication files .SH SYNOPSIS .TP 8 \fBftpasswd\fR \fB\-\-help\fR|\fB-h\fR|\fB\-\-version\fR .TP 8 \fBftpasswd\fR \fB\-\-hash\fR [ \fB\-\-des\fR|\fB\-\-md5\fR|\fB\-\-sha256\fR|\fB\-\-sha512\fR ] [ \fB\-\-stdin\fR ] .br [ \fB\-\-use\-cracklib\fR[=path] ] .TP 8 \fBftpasswd\fR \fB\-\-passwd\fR [ \fB-F\fR|\fB\-\-force\fR ] [ \fB\-\-file=\fRfilename ] [\fB\-\-gecos=\fRstring ] .br [ \fB\-\-gid=\fRgid ] [ \fB\-\-des\fR|\fB\-\-md5\fR|\fB\-\-sha256\fR|\fB\-\-sha512\fR ] [ \fB\-\-not\-system\-password\fR ] .br [ \fB\-\-not\-previous\-password\fR ] [ \fB\-\-delete\-user\fR [ \fB\-\-stdin\fR ] .br [ \fB\-\-use\-cracklib\fR[=path] ] \fB\-\-home=\fRpath \fB\-\-name=\fRusername .br \fB\-\-shell=\fRshellpath \fB\-\-uid=\fRuid .TP 8 \fBftpasswd\fR \fB\-\-group\fR [ \fB-F\fR|\fB\-\-force\fR ] [ \fB\-\-enable\-group\-passwd\fR ] [ \fB\-\-delete\-group\fR ] .br [ \fB\-\-file=\fRfilename ] [ \fB\-m\fR|\fB\-\-member\fR ] [ \fB\-\-des\fR|\fB\-\-md5\fR|\fB\-\-sha256\fR|\fB\-\-sha512\fR ] .br [ \fB\-\-stdin\fR ] [ \fB\-\-use\-cracklib\fR[=path] ] \fB\-\-gid=\fRgid \fB\-\-name=\fRgroupname .TP 8 \fBftpasswd\fR \fB\-\-passwd\fR \fB\-\-change\-password\fR \fB\-\-name\fR=username .br .TP 8 \fBftpasswd\fR \fB--passwd\fR \fB\-l|\-\-lock\fR \fB\-\-name\fR=username .br .TP 8 \fBftpasswd\fR \fB--passwd\fR \fB\-u|\-\-unlock\fR \fB\-\-name\fR=username .br .PP .SH DESCRIPTION .P ftpasswd is a Perl script which can be used to manipulate the password and group files suitable for use with ProFTPD AuthUserFile and AuthGroupFile configuration directives. The idea is somewhat similar to Apache's htpasswd program. .P Required options are \-\-passwd, \-\-group, or \-\-hash. These specify whether ftpasswd is to operate on a passwd(5) format file, on a group(5) format file, or simply to generate a password hash, respectively. .P If used with \-\-passwd, ftpasswd creates a file in the passwd(5) format, suitable for use with proftpd's AuthUserFile configuration directive. You will be prompted for the password to use of the user, which will be encrypted, and written out as the encrypted string. By default, using \-\-passwd will write output to "./ftpd.passwd", .P If used with \-\-hash, ftpasswd generates a hash of a password, as would appear in an AuthUserFile. The hash is written to standard out. This hash is suitable for use with proftpd's UserPassword directive. .P If used with \-\-group, ftpasswd creates a file in the group(5) format, suitable for use with proftpd's AuthGroupFile configuration directive. By default, using \-\-group will write output to "./ftpd.group". .SH OPTIONS .P .TP .B \-F, \-\-force If the password or group file be used already exists, delete it and write a new one. By default, new entries will be appended to the file. .TP .BR \-\-file= filename Write output to specified file (password or group files), rather than default one. .TP .BR \-\-gecos= string Descriptive string for the given user (usually the user's full name). .TP .BR \-\-gid= gid Set primary group ID for this user (optional, will default to given .BR \-\-uid value if absent) when .BR \-\-passwd is specified. .TP .BR \-\-uid= uid numerical user ID. .TP .B \-h,\ \-\-help,\ \-\-version Show usage and version of the program. .TP .BR \-\-home= path Set the home directory for the user (required). .TP .BR \-\-des,\ \-\-md5,\ \-\-sha256,\ \-\-sha512 Use the DES, MD5, SHA-256 or SHA-512 algorithm for encrypting passwords. The default is the MD5 algorithm. .TP .BR \-\-name= username ,\ \-\-name= groupname Name of the user account or group (required). If the name does not exist in the specified output-file, an entry will be created for it. Otherwise, the given fields will be updated. .TP .BR \-\-shell= path Shell for the user (required). Recommended: .I /bin/false .TP .BR \-\-change-password Update only the password field for a user. This option requires that the .BR \-\-name and .BR \-\-passwd options be used, but no others. This also double-checks the given password against the user's current password in the existing passwd file, and requests that a new password be given if the entered password is the same as the current password. .TP .BR \-\-not\-previous\-password Double-checks the given password against the previous password for the user, and requests that a new password be given if the entered password is the same as the previous password. .TP .BR \-\-not\-system\-password Double-checks the given password against the system password for the user, and requests that a new password be given if the entered password is the same as the system password. This helps to enforce different passwords for different types of access. .TP .BR \-\-stdin Read the password directly from standard in rather than prompting for it. This is useful for writing scripts that automate use of ftpasswd. .TP .B \-l, \-\-lock Lock the password of the named account. This option disables a password by changing it to a value which matches no possible encrypted value (it adds a '!' at the beginning of the password). .TP .B \-u, \-\-unlock Unlock the password of the named account. This option re-enables a password by changing the password back to its previous value (to the value before using the .BR \-l option). .TP .TP .BR \-\-use\-cracklib\fR[ =path \fR] Causes ftpasswd to use Alec Muffet's cracklib routines in order to determine and prevent the use of bad or weak passwords. The optional path to this option specifies the path to the dictionary files to use \-\- default path is .IR /usr/lib/cracklib_dict . This requires the Perl Crypt::Cracklib module to be installed on your system. .TP .BR \-\-delete\-user Remove the entry for the given user name from the file. .TP .BR \-\-delete\-group Remove the entry for the given group name from the file. .TP .BR \-\-enable\-group\-passwd Prompt for a group password. This is disabled by default, as group passwords are not usually a good idea at all. .TP .BR \-m \ username ,\ \-\-member= username user to be a member of the group. This argument may be used This argument may be used multiple times to specify the full list of users to be members of this group. .SH BUGS No known bugs at this time. If you discover any bugs, please contact the author. .SH AUTHOR This program has been written by TJ Saunders as a contributed software for ProFTPD. .P .SH "SEE ALSO" .BR proftpd (8), .BR passwd (5), .BR group (5), .BR ftpusers (8), .BR ftpstats (8), .BR proftpd.conf (5) .SH CREDITS This manual page was written by Francesco Paolo Lovergine . Last update Thu Mar 10 16:45:27 UTC 2011 by Mahyuddin Susanto for the Debian GNU/Linux system (but may be used by others).