それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

linuxで別のユーザーとしてコマンドを実行する。(do as / run as )

pkexec コマンドが便利

pkexec --user username command

これで、別ユーザーで実行できる。

psql のために、su 連発面倒

ssh takuya@server
sudo su root
sudo su postgres

psql を postgres ユーザーで起動するまでが手間なんですよ。

psql でやってみた

で、カンタンにpsqlコマンドを実行してみるには

takuya@atom:/etc$ pkexec --user postgres psql
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/usr/bin/psql' as user PostgreSQL administrator,,, (postgres)
Authenticating as: takuya,,, (takuya)
Password:
==== AUTHENTICATION COMPLETE ===
psql (9.1.16)
"help" でヘルプを表示します.

postgres=#

いままで、sudo してたけど、コレ便利じゃん

sudo su
su postgres
psql

この3回コマンド打つ必要がなくなるね

sudo -s www-data 

などとするより、pkexec の方が良いね。

関連項目

BSD には doas コマンドが実装されているようですhttp://gihyo.jp/admin/serial/01/bsd-yomoyama/0025

sudo で別のユーザー(do as )として実行して、ファイルが読取可能かアクセスを確認する。 - それマグで!