↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 7.2 / 7.1 / 7.0
历史版本。 PostgreSQL 7.0 已结束支持。 请参阅 当前版本手册.

pg_passwd

pg_passwd — 操纵平面口令文件

大纲

pg_passwd filename
  

描述

pg_passwd 是一个操纵Postgres 平面口令文件功能的工具。这种风格的口令认证在安装中不是必需的,而是多种受支持的安全机制之一。

在$PGDATA/pg_hba.conf中以与Ident 认证相同的风格指定口令文件:

host  unv     133.65.96.250   255.255.255.255 password passwd
   

上面这一行允许来自 133.65.96.250 的访问使用 $PGDATA/passwd中列出的口令。口令文件的格式遵循 /etc/passwd 和 /etc/shadow 的格式。第一个字段是用户名,第二个字段是加密后的口令。其余部分完全被忽略。因此下面的三个示例行指定的是相同的用户和口令对:

pg_guest:/nB7.w5Auq.BY:10031::::::
pg_guest:/nB7.w5Auq.BY:93001:930::/home/guest:/bin/tcsh
pg_guest:/nB7.w5Auq.BY:93001
   

把口令文件提供给 pg_passwd 命令。在上面描述的情况下,把工作目录切换到PGDATA后,执行下面的命令为pg_guest 指定新口令:

	% pg_passwd passwd
	Username: pg_guest
	Password:
	Re-enter password:
   

其中Password: 和Re-enter password: 提示要求输入相同的口令,且输入不会显示在终端上。原口令文件会被改名为 passwd.bk。

psql 使用-u 选项来调用这种风格的认证。

下面的几行展示了该选项的用法示例:

% psql -h hyalos -u unv
Username: pg_guest
Password:
Welcome to the POSTGRESQL interactive sql monitor:
  Please read the file COPYRIGHT for copyright terms of POSTGRESQL
   type \? for help on slash commands
   type \q to quit
   type \g or terminate with semicolon to execute query
 You are currently connected to the database: unv
unv=>
   

Perl5 认证像这样使用新风格的Pg.pm:

$conn = Pg::connectdb("host=hyalos dbname=unv
                       user=pg_guest password=xxxxxxx");
   

更多细节请参阅 src/interfaces/perl5/Pg.pm。

Pg{tcl,tk}sh 认证像这样使用 pg_connect 命令的 -conninfo 选项:

% set conn [pg_connect -conninfo \\
            "host=hyalos dbname=unv \\
             user=pg_guest password=xxxxxxx "]
   

你可以通过执行下面的命令列出该选项的所有键:

% puts [ pg_conndefaults]
   

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.