pg_passwd
pg_passwd — 更改一个辅助PostgreSQL口令文件
大纲
pg_passwd filename
描述
pg_passwd是一个操纵平面文本口令文件的工具。这些文件可以控制PostgreSQL服务器的客户端认证。有关建立这种认证机制的更多信息可以在管理员指南中找到。
文本口令文件的格式是每行一个条目;每个条目的各个字段用冒号分隔。第一个字段是用户名,第二个字段是加密后的口令。其他字段被忽略(以便让使用类似格式的应用之间共享口令文件)。 pg_passwd让用户能够向这样的文件中交互式地添加条目、更改已有条目的口令并加密这些口令。
把口令文件的名字作为pg_passwd命令的参数提供。要被 PostgreSQL 使用,该文件必须位于服务器的数据目录中,并且该文件的基本名必须在pg_hba.conf
访问控制文件中指定。
$pg_passwd /usr/local/pgsql/data/passwordsFile "/usr/local/pgsql/data/passwords" does not exist. Create? (y/n):yUsername:guestPassword:Re-enter password:
其中Password:和Re-enter
password:提示要求输入相同的口令,且输入不会显示在终端上。注意,由于标准 crypt(3) 库例程的限制,口令只有前八个字符有效。
原口令文件会被改名为passwords.bk。
要使用这个口令文件,在pg_hba.conf中放入如下一行:
host mydb 133.65.96.250 255.255.255.255 password passwords
这一行允许主机 133.65.96.250 使用passwords文件中列出的口令访问数据库 mydb(并且只允许该文件中列出的用户访问)。
注意
口令文件中存在口令字段为空的条目也很有用。(这与空口令不同。)这样的条目让你能够限制可以访问系统的用户。这些条目无法由 pg_passwd管理,但你可以手工编辑口令文件。
另见
PostgreSQL 管理员指南