ユーザーにいくつかのroot権限(特にApacheファイルとコマンド)を付与する最良の方法

ユーザーにいくつかのroot権限(特にApacheファイルとコマンド)を付与する最良の方法

私はシェルスクリプトを書いています(これ)新しいウェブサイトプロジェクトを開始します。これはユーザーによって実行される必要があります(そのユーザーがまさに年齢であるため、root権限があるかどうかは重要ではありません)。

ご覧のとおり、ユーザーは次のことができる必要があります。

  1. 編集する/etc/hosts
  2. に新しいファイルを追加します/etc/apache2/sites-available/
  3. /var/www/に新しいディレクトリ(lnを含む)を作成します。
  4. 注文a2ensiteの実行
  5. 注文service apache2 reloadの実行

これらの操作はすべてrootとして実行する必要があります。しかし、一般ユーザーにこのような権限を付与することは可能ですか?これを行うには、ファイルの所有者、ユーザーグループ、またはその両方を変更する必要があります。どうすればよいですか?

ベストアンサー1

これは一般的にsudo。最新のシステムでは、ファイルを追加して/etc/sudoers.d新しい権限を追加できます。

# Rules for running am apache script.
User_Alias APACHE = yourUser
Cmnd_Alias APACHE = /usr/local/sbin/your_script
APACHE ALL = NOPASSWD: APACHE 

ユーザーはユーザーであるため、/etc/sudoers管理者用に定義されたグループにアカウントを追加できます。 DebianまたはUbuntuシステムではadmin。他のディストリビューションは異なる値を使用します。これは管理者グループのUbuntuの定義です。

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

sudo詳細なマニュアルページが付属しています。sudosudoersおよびのマニュアルページを確認してくださいvisudo。マニュアルページをインデックス化した場合は、コマンドを使用してsudo関連のマニュアルページのリストを取得できますman -k sudo

おすすめ記事