ユーザーにsudo権限を付与せずにrootとしてシェル選択コマンドを実行しますか?

ユーザーにsudo権限を付与せずにrootとしてシェル選択コマンドを実行しますか?

3つの別々のnmcliコマンドを実行しようとしています。

nmcli connection down config-AP

nmcli connection up config-AP

nmcli device wifi hotspot con-name config-AP ssid device band bg password password

ルートと呼ばれない場合はタイムアウトします。

Error: Timeout 10 sec expired.

sudoersファイルにユーザーを追加せずにこれらのコマンドを実行するにはどうすればよいですか?

ベストアンサー1

害はありませんが、root権限を必要とするコマンドがある場合は、「setuserid」(setuidまたはsuid)属性を持つように変更できます。例は次のとおりです。

ls -l /bin/chsh
-rwsr-xr-x 1 root root 23376 Mar 22 21:23 /bin/chsh*

rootファイルには、実行中に(3番目の列)ユーザーIDを使用することを示す「s」タグがあります。

しかし、これは潜在的に危険です。コマンド自体が呼び出されるsuid 0を処理するようにプログラムされていない場合、コマンドを呼び出す可能性があるローカル攻撃者はシステムを制御できます。あなたは警告を受けました。

そう言えば、次のようにすることができます。

chmod u+s,a-w /usr/bin/nmcli

(必要に応じて/bin/nmcliシステムに応じてパスを変更してください)

人々が(今は危険な)コマンドを呼び出すことを制限するために、特別なグループだけがアクセスできるように設定できます。

chgrp john /usr/bin/nmcli
chmod o= /usr/bin/nmcli

これにより、グループjohn(およびルート)の誰かがコマンドを呼び出すことができます。理想的には、ユーザーだけが属するグループを使用してください。

おすすめ記事