Passwd reader¶
API for reading/writing of the passwd file used by ProFTPD (and also unix).
API¶
- ftp.passwd_reader.load_users(path='/etc/proftpd/ftpd.passwd')[source]¶
Read passwd file and return dict with users and all their settings.
Parameters: path (str, default settings.LOGIN_FILE) – path of the file, which will be loaded (default ftp.settings.LOGIN_FILE). Returns: (dict): username: {pass_hash, uid, gid, full_name, home, shell} Example of returned data:
{ "xex": { "pass_hash": "$asd$aiosjdaiosjdásghwasdjo", "uid": "2000", "gid": "2000", "full_name": "ftftf", "home": "/home/ftp/xex", "shell": "/bin/false" } }
- ftp.passwd_reader.save_users(users, path='/etc/proftpd/ftpd.passwd')[source]¶
Save dictionary with user data to passwd file (default ftp.settings.LOGIN_FILE).
Parameters: - users (dict) – dictionary with user data. For details look at dict returned from load_users().
- path (str, default settings.LOGIN_FILE) – path of the file, where the data will be stored (default ftp.settings.LOGIN_FILE).
- ftp.passwd_reader.get_ftp_uid()[source]¶
Returns: UID of the proftpd/ftp user. Return type: int Raises: KeyError – When proftpd and ftp user is not found.
- ftp.passwd_reader.set_permissions(filename, uid=None, gid=None, mode=509)[source]¶
Set pemissions for given filename.
Parameters: