doas
sudo
最近、Debian 12、Ubuntu Jammy(ユニバース)、その他のLinuxディストリビューションにパッケージされた同様のコマンドです。
doasuser
sudoer以外のユーザー()を追加して/etc/doas.conf
rootアクセス権を付与できます。詳細説明Debian Wiki。
質問:
その人はdoasuser
どのグループにも属していません。ルートアクセスを許可すると、この情報は(無許可のユーザーと見なされます)同期されませdoasuser
ん。バイナリ、PAM設定ファイルと。sudo
doas
/etc/doas.conf
それ以外の場合、/etc/doas.conf
スーパーユーザーは権限を見つけることができませんdoasuser
。
権限を確認するコマンドラインがありますかdoasuser
?
答え1
doas
リストコマンドは提供されていません。みんな特定のユーザーに権限を付与します。現在のユーザーが特定のコマンドを許可していることを確認するだけです。
doas -C /etc/doas.conf some command
/etc/doas.conf
の設定に従って、現在のユーザーの実行が許可されているかsome command
どうか(および実行するには、ユーザーにパスワードの入力を求めるメッセージが表示されているかどうか)を通知します。
「スーパーユーザー」の観点からは、doasuser
IDに切り替えてからdoas -C
上記のように実行して権限を確認する必要があることを意味します。
sudo
そして別のツールなので、doas
構成を理解していないのは驚くべきことではありません(その逆も同様です)。特定のシステムでは、実際には1つだけを使用する必要があります。sudo
doas
答え2
私が質問を理解している限り、doas
次のプログラムがありますsudo
。ユーザーがroot権限を持っていることを確認するために使用できる簡単なコマンドは次のとおりです(シェルスクリプトで)。
if [ "$(id -u)" != "0" ]; then
# the user is not root
fi
上記と同じコマンドをsudo
、またはで使用できますdoas
。
説明する:
id
実際の有効なユーザーとグループIDを印刷するために使用されるコマンド。特にid -u
有効なユーザーIDのみが印刷されます。ユーザーにroot権限がある場合、有効IDはです0
。