![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
現在、Solaris9でroot権限のコマンドを実行したいのですが、いちいちroot権限になってからコマンドを実行するのが面倒です。
ex)
aaaユーザでrebootを実行したい。
出来るならaaaユーザにはスーパーユーザのパスワードを教えたくない
一応、「sudo」というコマンドを使用すれば出来ると分かったのですが、現在の環境ではsudoコマンドはありませんでした。
別の方法で出来るかどうか教えて頂けないでしょうか。
すみませんが、回答よろしくお願いします。
環境:
OS:Solaris9
No.5ベストアンサー
- 回答日時:
RBAC(ルバック)を使うとどうでしょう?
通常はロールと呼ばれる特殊なユーザーにshutdownのようにrootの権限のなかから必要な権限だけを割り当てておいて、通常のユーザーからsuして特定のユーザーにrootの権限の一部のみを渡します。これが通常のRole-Based Access Control(RBAC)の使い方です。
ただ、推奨されてはいませんが、RBACの仕様上、ユーザーに直接こういう限定された権限を直接渡すこともできます。
推奨はロールをユーザーとして登録して、ユーザーでログイン後にこのロールにsuしてあとはそのまま作業をするという方法となります。それなりの権限を渡すので、それなりに敷居は高くて(手間はかかって)いいと思いますよ。このロールにsuするときのパスワードはこのロール個別に付けられますので、rootパスワードの漏洩無しにルートの機能を分散できるということです。
(以下は、ユーザーに直接「限定されたコマンド実行権」割り当てる手順です。(ファイルパーミッションなんかは自分で判断されてください)
1. /etc/security/exec_attrファイルに以下のエントリを追加する。
Shutdown User:suser:cmd:::/usr/sbin/shutdown
2. /etc/security/prof_attrファイルに以下のエントリを追加する。
Shutdown User:::Can Shutdown:auths=solaris.system.shutdown
3. /etc/user_attrファイルに以下のエントリを追加する。
aaa::::type=normal;profiles=Shutdown User,All
4. 念のため、以下のコマンドを実行してネームサービスキャッシュデーモンを再起動します。
# /etc/init.d/nscd stop
# /etc/init.d/nscd start
5. 当然ですが、ユーザーがログイン中でしたら、一度ログオフしてももらいましょう。
※私自身、ユーザーに直接ロールを割り当てることができることは知っていてもやったことはありません。もしかしたら、ユーザーaaaのシェルを該当するプロファイルシェルに変更する必要があるかもしれません。その場合は普通にusermod -sで変更してください。
(ロールをユーザーとして登録するときはそのロールに対して必須の設定です)
sh: /usr/bin/pfsh、csh: /usr/bin/pfcsh、ksh: /usr/bin/pfksh がそれぞれ対応するプロファイルシェルです。
もし、NIS、NIS+ またはLDAPを使っている場合など多少話が変わってきます。詳しくは以下の文書を参照されてください。「役割によるアクセス制御(概要・手順・参照)」です。
参考URL:http://docs.sun.com/db/doc/817-2464/6mi4hi32l?l= …
No.7
- 回答日時:
補足ばかりで申し訳ないのですが、usermodで-s pfshをやると、現在設定されているパスが通らなくなるかも。
(っていうかたぶんそう)なので、コマンド実行時に
# pfsh -c /usr/sbin/shutdown -g0 -i6 -y
したほうがいいでしょう。
あと、できればrebootコマンドよりもshutdownコマンドのほうがいいでしょう。rebootするなら事前に
# sync;sync;sync
したほうがいいような気が...
No.6
- 回答日時:
ごめんなさい。
uidを指定するの忘れていた。1. /etc/security/exec_attrファイルに以下のエントリを追加する。
Shutdown User:suser:cmd:::/usr/sbin/shutdown:uid=0
それと使い方ですが、ユーザーaaaにPATHの指定をしていなければフルパスで指定しなければいけません。
/usr/sbin/shutdown -g0 -i6 -y
もちろん、rebootコマンドを使うならそういう設定にすればOKです。
No.4
- 回答日時:
sudoを導入すればいいのでは…。
<<Sudo>>
http://www.courtesan.com/sudo/download.html
各FTPサイトのバイナリフォルダから
sudo-*-sun4+Solaris9.tar.gzを落として展開後
TODOに従って導入します。
No.3
- 回答日時:
特定のコマンドだけ実行できればいいのであれば、Cで、rootにseteuid()してからそのコマンドをexeclp()等するプログラムを作ればできます。
#1さんの方法だと、コマンドによっては内部でrootじゃないと使えない機能を利用していたりするので使えません。rootのsetuidしたとしてもこんどは誰でも実行できてしまったりするので危険です。コマンドの実体がシェルスクリプトである場合はその方法も使えません。
まあ、原則論としては他の方のおっしゃるとおりおすすめできないのですが、たとえば社内のテスト用サーバなどセキュリティより利便性を求められる場合もたしかにありますから、とりあえず紹介しておきます。
No.2
- 回答日時:
>いちいちroot権限になってからコマンドを実行するのが面倒です。
こういう考え方をするユーザにroot権限を与えるのはやめましょう。
人間セキュリティホールになる事間違いなしです。
内部の個人情報を平気で持ち出すタイプです。
No.1
- 回答日時:
コマンドに一般ユーザに実行権限を与えるように
chmod
すればいいのでは
余計なお世話かと思いますが
しかし、そういうようなことは、面倒だからといってやるべきことではないと思います。
勝手に誰れもが、rebootできたら(自分が使っている時に勝手に再起動かけられたら)、イヤでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux linuxサーバーのキャッシュをクリアするコマンドを実行したい。 5 2023/01/24 14:52
- UNIX・Linux ubuntuに外部侵入できるか 2 2022/04/09 12:48
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- UNIX・Linux shellscript内のコマンドを、sudo(toor)として実行 2 2022/09/23 15:05
- UNIX・Linux UbuntuにROSをインストールしたい 1 2023/03/06 12:28
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- その他(開発・運用・管理) ユーザ権限でソフトを起動すると必ず管理者パスワードをきかれてうまく利用できない 3 2022/05/10 00:07
- Excel(エクセル) Powershell エクセル検索 完全一致の方法 1 2022/06/05 20:19
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- UNIX・Linux jsLinuxのコマンドについて。 aliasを使い、必ず削除前に確認メッセージを表示するコマンドを 1 2022/07/25 18:37
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linuxでユーザ権限の確認コマンド
-
root権限でも『Permission deni...
-
リモートで使うとuseraddが使え...
-
linux(redhat9)の文字化けを直...
-
[CentOS7] ユーザー(root,管理...
-
Ubuntu・・・ユーザ名を変更したい
-
su でのプロセスの実行者について
-
scpコマンドの-pオプションにつ...
-
linuxユーザ、グループ作成
-
linuxにログインができない
-
$の使い方を教えてください
-
存在する一般ユーザの確認方法
-
あるgroupに入っているユーザを...
-
CUIでの、$(ドルマーク)の使...
-
$ sudo vi /etc/hosts で大苦戦。
-
ta su ke te ku da sa i ...
-
ubuntu9.0.4でユーザーにsudo権...
-
TeraTermで操作する際の設定に...
-
Dirコマンドでフォルダ内ファイ...
-
エクセルの表にヘンな枠が・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
scpコマンドの-pオプションにつ...
-
<自分が所有者のファイルの所...
-
[CentOS7] ユーザー(root,管理...
-
TeraTermで操作する際の設定に...
-
root権限でも『Permission deni...
-
CUIでの、$(ドルマーク)の使...
-
chownで所有権の変更ってrootし...
-
vi使用後、「vimiinfoが保存...
-
sudo: npm: コマンドが見つかり...
-
リモートで使うとuseraddが使え...
-
Linuxでユーザ権限の確認コマンド
-
smbpasswd 一括登録
-
ユーザをwheelグループに追加す...
-
linux(redhat9)の文字化けを直...
-
Ubuntu・・・ユーザ名を変更したい
-
findでファイル抽出が行えない
-
rootパスワードを入れずにsuで...
-
ubuntu9.0.4でユーザーにsudo権...
-
Linuxを勉強している超初心者で...
-
Ubuntuで、suとsudoの違いが分...
おすすめ情報