GUIなしでDebian GNU / Linux 10(buster)x86_64をインストールしてユーザーを作成した後、sudoアクセスを許可しました。ユーザーはsudoアクセス権を持っていますが、shutdown
同じコマンドはreboot
sudoを使用している場合にのみ機能します。私の経験では、これらのコマンドを実行するためにsudoを使用する必要はありませんでした。どうすれば解決できますか?
$ whoami
amir
$ id amir
uid=1000(amir) gid=1000(amir) groups=1000(amir),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),109(netdev)
$ reboot
zsh: command not found: reboot
$ sudo which reboot
/usr/sbin/reboot
$ sudo grep amir /etc/sudoers
amir ALL=(ALL:ALL) ALL
$ sudo grep "^sudo" /etc/sudoers
sudo ALL=(ALL:ALL) ALL
答え1
これは、PATH変数のデフォルト構成によるものです。 PATHは、シェルが特定のコマンドを検索する場所を設定します。
Debian はデフォルトでsudo
PATH を変更します。これを行う理由の1つは安全のためです。しかし、ここにはあなたのための何かが追加されます。
つまり、次を追加します/sbin
。/usr/sbin
次のように入力してこれを表示できます。
echo $PATH
そして
sudo bash -c 'echo $PATH'
この動作は複数の場所で制御されます。まず、sudoの動作は次のように制御されます/etc/sudoers
。
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ユーザーのPATHはシステム全体を制御し、/etc/profile
ユーザー/etc/bash.bashrc
の個人設定は~
ホームディレクトリ()~/.profile
内のファイルにあります~/.bashrc
。
このファイルでは行が変更されますexport PATH
。