ユーザーにルート権限を割り当てるにはどうすればいいですか?

ユーザーにルート権限を割り当てるにはどうすればいいですか?

私のデスクトップには Suse Linux があります。そのため、私はルート ユーザーであり、「通常の」ユーザーです。たとえば、Tomcat を起動したり、プログラムをインストール/削除したりする場合、使用したり、スーパー ユーザーに切り替える必要があります。ただし、 には多くのエイリアスを定義し、 にはパスをsudo定義しています。.bashrc.profile

スーパーユーザーの権限の一部を通常のユーザーに割り当てることは可能ですか? 例: プログラムをインストールする権限など?

答え1

はい、しかしそれは最悪のことです。OS には、異なる権限を持つさまざまなユーザーがいます。そしてそれは意図的です。ユーザーに永久にルート権限を与えると、システムのセキュリティが危険にさらされます。(Windows 9x とすべてのウイルスを覚えていますか?)

コマンドを実行する場合、(シェル)sudoを実行しない限り、カスタマイズの要素は必要ないと思います。/bin/sh

希望どおりの結果を得るには、次の操作を実行できます。

システムから、~/.bashrcおよびにデータを移動したり、さらには の別のスクリプトに配置することもできます( を忘れないでください)。これらのファイルは、ログイン セッションごとに実行されます。~/.profile/etc/bash/bashrc/etc/profile/etc/profile.d/mystuff.shchmod +x /etc/profile.d/mystuff.sh

次に、ルートセッションを開始しますsu --に渡された (マイナス) 記号はsuログイン セッションを実行し、したがって上記のファイルを実行します。Linux ディストリビューションによっては、sudo su -代わりに を呼び出す必要がある場合があります。

ルート セッションが終了したら、logoutルート権限を残しておくことをお勧めします。

特定のバイナリに対してのみルート権限が必要な場合は、別の方法があります。これは、実効 UID と呼ばれます。たとえば、mtrバイナリに対してこれを使用できます。

chmod a+s `which mtr`

この方法では、mtrバイナリを実行するときに、バイナリを所有するユーザー (この場合は root) の有効な権限が取得されます ( chown root /path/to/mtr)。これにより、sudo の入力が省かれますが、どのバイナリに root 権限を付与するかを慎重に選択する必要があります。リスクを認識していない場合は危険です。最初のオプションを使用することをお勧めします。

答え2

tomcatの起動は、初期化スクリプト. ユーザグループにTomcatを(再)起動する権限を与えたい場合は、/etc/sudoersを使用しますvisudo。次のようになります。

%tomcatcontrol localhost = NOPASSWD : /etc/init.d/tomcat *

localhostをあなたのマシンの名前に置き換えてください。そして、グループの各ユーザーtomcatコントロール発行可能:

sudo /etc/init.d/tomcat restart(またはステータス、停止、開始)。

それが sudo の目的です。ルート アカウントでより長く作業したい場合は、 を実行できます。他のユーザーが実際に tomcat コンテンツ (ユーザー tomcat が所有するファイル) を管理できるようにしたい場合は、ユーザーまたはユーザー グループに対して をsu -許可できます。su - tomcat

エイリアスについては、OpenSuSE にはその目的のための /etc/profile.local があると思います。そこに、すべてのユーザーに有効なものを配置できます。

関連情報