• 締切済み
  • すぐに回答を!

制限付きシェルについて

UNIXのAIXのVer5.1を使用しています。 rmなどのコマンドを制限させたユーザを作りたいのですが、どのようなシェルを使えばいいか分かりません。 rbashのような機能を持ったシェルなどはないのでしょうか? もしくは、ユーザに特定のコマンドを規制することはできないのでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数487
  • ありがとう数1

みんなの回答

  • 回答No.4
  • heilel
  • ベストアンサー率100% (1/1)

質問日付的にあまり意味をなさないと思いますが、回答させて頂きます。 AIXの場合は、Rsh(restricted shell)を使います。 ※kシェル環境の場合、rksh Rshを使用すると仮定して、手順概要を下記します。 ※1:krshの場合は、置き換えて考えてください。 ※2:ユーザーの詳細設定やパスワード設定などは省いていますのでご了承ください。 1. login.cfgの確認  # cat /etc/security/login.cfg |grep Rsh  shellsに「/usr/bin/Rsh」が含まれていることを確認する。  ※無い場合は、追記する。 2.Rsh用ユーザーの作成。※以後、Rshuserとする。  初期プログラム を /usr/bin/Rsh にする。 3.Rshuserのhomeディレクトリの整備。※/home/Rshuserをホームと仮定する。  bin ディレクトリを作成する。  権限などの属性については/usr/binと同じにすること。  *1:chmod 755 bin  *2:chown bin:bin bin 4./home/Rshuser/binに使用させたいコマンドのシンボリックリンクを張る。  例)# ln -s /usr/bin/ls /home/Rshuser/bin  ※コピーでも可能だが、容量を食うのでお勧めしません。 5.Rshuserの「.profile」の PATH を以下参考例のように編集する。 例)PATH = /etc:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin ※$HOME/binは必須です。他は、ケースバイケース。 6.Rshuserにスイッチし、確認。 ・先ほどシンボリックリンクを張ったコマンドが使用できること。 ・それ以外のコマンドは実行できないこと。 ・組み込みコマンドも実行できないこと。 以上です。 また、質問のrmを使用制限させたいとのことですが、やはり認めてあげたほうが良いかと思います。 このRshを使用すれば、自分のいるパスのファイル・ディレクトリしか消せませんので。 最後に。 制限シェル以外でも、「chroot/jail」でも要件を満たせるかもしれません。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • ログインシェルの変更について

    現在Unixを使っています。 特定ユーザでログインした際のログインユーザを自分の作ったプログラムにしたいのですが、 chshなどのコマンドを使っても、利用可能なログインシェルに登録されていないため変更できないです。 どうすればログインシェルを変更することができるでしょうか? 初歩的なことかもしれませんが、よろしくお願いします。

  • kshについて

    現在AIXなどのUNIX系のシステムの運用(AIXがほとんどです。)をやっているものです。 AIXのコマンドを勉強しようと思い、その一環でというか、シェルを作ったり、作られたシェルを 解析することでコマンドの勉強になると思い、シェルについて勉強しようと思っています。 そこで、シェルについての本を探しているのですがどのような本が良いでしょうか? 皆さんが実際に読んでみてよいと思った本を教えてください。 ちなみにkshです。 探してみたのは、 入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界 ブルース ブリン (著) UNIXシェルスクリプトハンドブック 関根 達夫 (著) です。 よろしくお願いします。

  • シェルとは

     シェルとは【ユーザと対話する能力を持ち、カーネルに対して操作のお伺いを立てる仲介役のプログラム】と書かれていました。  また、シェルの機能として【コマンドとして入力された名前のプログラムを探し出して起動する。】ということも書かれていました。 そこで疑問を持ちました。前述では仲介役であると述べられてるのに対して、後述での機能ではプログラムを探し出し、起動する.と書かれていてCPUに指示・命令までしてるのか?と不思議に思いました。 下記のように解釈すればいいのでしょうか? プログラム探し出して起動するという命令をCPUに出すのはカーネルであり、あくまでもシェルとはユーザが打ったコマンドをOSが解釈できる形に翻訳してるプログラムにすぎないのですよね? 一般的なシェルの解釈は→仲介役 機能としてのシェルの解釈は→(カーネル+シェル) と考えればよろしいでしょうか?

  • 回答No.3

rm の制限はあまりお勧めしません。 smit やその他 シェルスクリプトで構成されたコマンドの中には rm で一時ファイルを削除するものが多数あります。 通常自分で作ったファイルを削除しますので rm の失敗は想定して折らず、 エラーもハンドリングしていないことが考えられます。 ファイルへのアクセス権限(mod や ACL)でカバーするほうが良いかと思います。 サポートに問い合わせして対応を相談したほうが良いかと。 AIX5.1はサポート終了していますが、深く調査が必要なもので無い限りは ある程度話を聞いてくれるのでは無いかと思います。

共感・感謝の気持ちを伝えよう!

  • 回答No.2
  • notnot
  • ベストアンサー率47% (4592/9639)

rが大文字のRshというのがあるみたいですよ。 http://publib16.boulder.ibm.com/doc_link/Ja_JP/a_doc_lib/cmds/aixcmds4/brsh.htm

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • pakuti
  • ベストアンサー率50% (317/631)

全てを説明するのは面倒なので、IBMのドキュメントを openssh with AIX chroot http://www.ibm.com/developerworks/aix/library/au-settingupchroot/?S_TACT=105AGY06& binディレクトリで必要なものだけをコピーする

共感・感謝の気持ちを伝えよう!

質問者からのお礼

早い回答ありがとうございます。 とりあえず、調べてみようと思うのですが…難しそうですね… 何から手をつけていいかよく分からないですがやってみようと思います。

関連するQ&A

  • シェルの中からシェルを呼び出して判定

    UNIXで以下のようなシェルが動作しております。 #!/bin/sh su abcdef -c './GHI'; err=$? if [! $err -eq 0 ] then echo エラーが発生しました fi exit このシェルは「abcdef」ユーザに移ってカレントディレクトリのシェルコマンド「GHI」の結果を判定するというものです。 UNIX上では問題なく動作しております。 これをLinuxでそのまま動作させると「err」に「su abcdef」というユーザ切替コマンド自身の正否を格納しているようです。 「'」でくくられた範囲内で結果をファイルに格納したりして、その後ファイルの中を見て判断するとうまくいくことは分かっておりますが、出来たらファイルなど使いたくありません。 このような場合、みなさんどうしてるんでしょうか? よく出てくるパタンだと思うのですがどうしても良い対処が見つかりません。 どうか宜しくお願いします。 Linuxは「miracle-Linux2.0」というOSです、いわゆるRedHat系です。

  • Solaris rmコマンドをシェルで実行するとうまくいかない

    オラクルのアーカイブログを定期的に削除するシェルを作ったのですが、rmコマンドがうまくいきません。使っている環境はkshで、業務の都合上rootユーザでシェルを実行しています。 コマンド:/bin/rm -fr /mnt01/arch01/*.log ちなみに、rootユーザでプロンプトからコマンドを手で実行すると削除ができます。 何が原因なのか見当がつかない状況に陥っています。宜しくお願いします。

  • コマンド制限・コマンド履歴

    こんにちは。 システム管理のお仕事をし始めて4ヶ月ほどの新米です。 課題ということで、Solaris上でのコマンド制限について調べています。 特定のIDに対してコマンドを制限し、さらに履歴もとるという内容。履歴に関してはリアルタイムでなくても良いということです。 一般ユーザのコマンド制限になります。 一番いいのはrbashのようなものなのですが、共通環境がCシェルなので、rbashの使用は難しいようです。 質問も頼りないものですが、よろしくお願いいたします。

  • AIXのCOBOLについてお教え下さい。

    AIXのCOBOLのプログラムからUNIXのコマンドやシェルを呼び出すことが出来るのでしょうか? いろいろと調べてはいるのですが、まだ、結論が出なくて困っております。 もし、ご存知の方がおられましたらお教え下さい。 宜しくお願い致します。

  • シェルコマンドについて

    先日自分のPCにやっとLinuxをインストールし、UNIXの勉強に励もうと思って いるのですが、基本的なシェルコマンドがまだよくわからなく苦戦しています。 もし、『シェルコマンド一覧表』みたいなのが、記載されているサイトがあるならば、URLを教えて頂けませんか?  また、効率の良いシェルコマンドの覚え方があったら教えて下さい。  宜しく御願いします!

  • AIX/HP-UXでパスワード変更シェルを作成したい

    AIX/HP-UXで一括でパスワード変更を実行するシェルを 作成したいと考えております。 (最終的には複数サーバの複数ユーザのパスワードを  一括変更したい) そこで、AIXで以下の様なシェルを作成したのですが、 パスワード変更することができませんでした。 -------------------------------------- PASS=$1   "新パスワード USER=$2   "パス変するアカウント名 passwd $USER sleep 5 $PASS sleep 5 $PASS -------------------------------------- passwdコマンド自体は実行されるのですが、 その後の新パスワードが入力されておらず、 passwdコマンドタイムアウト後に新パスワードが 実行され、"新パスワードの文字列"が見つかりません。 となってしまいます。 インターネット等で検索した結果、linuxであれば expectコマンドを使用して、passwdコマンドを実行した 際に出力される「新パスワード:」を待ってから 入力すればよいということがわかったのですが、 linuxでexpectコマンドに相当するものを、AIXでは 見つけることができませんでした。 AIX/HP-UXにおいて、シェルスクリプトにてパスワード 変更を実現する方法をご存知の方がいましたら、 教えてください。 よろしくお願いします。

  • Cシェル内で自動ログアウトさせたいんです。

    今、私が作っているのは、UNIXコマンドを知らない人達に、 一時的にTera TermよりUNIX機にログインして簡単な作業を してもらう為のCシェルです。 ほとんどコマンドを知らないわけですから、なるべくなら ログイン時にそのCシェルが起動して、作業を終えたら (シェルを終了したら or シェル内部で)自動的にログアウト するような物を作りたいのです!(~Q~;)。 つまり、なるべく変な事して欲しくないと。。。言うことなのですが、 まだ私がCシェル初心者なもので、やり方が解りません。 何か良い方法がありましたらお願い致します<(__)> ちなみに、SunOS 5.6 Solarisです。

  • シェル

    UNIXでの開発を始めたばかりの初心者プログラマです。 バッシュやCシェルなどのカスタマイズ(例えばよく使うコマンドを登録するなど)を行いたいのですが、参考サイトや書籍があったら教えて下さい。

  • シェルの書き方を教えてください

    UNIX上で、Aディレクトリ内にある全てのTIFFイメージの中で、特定のタグを使用しているもののみをピックアップしてファイル名を書き出すシェルを作りたいのですが、どなたか教えてください。 タグをチェックするプログラムはtiffinfoを使用しようかと思っています。

  • UNIXのシェル

    シェルに関して質問です。 0526とか0525のところは一日ごとにフォルダが作成されます。 unix\yasu\0526\hobby\test.txt unix\yasu\0526\hobby\test.txt unix\tomo\0525\hobby\test.txt unix\tomo\0525\hobby\test.txt ./check.sh MMDD 実行するときにMMDDのところに日付を入れてフォルダがあればコマンド1を実行するようにしたいです。 引数に指定した文字を判定するにはどうしたらいいのでしょうか? よろしくお願いします。 ----------------------------- #シェルの名前は「check.sh」です #! /bin/sh if [ $1 = "日付" ] ; then コマンド1 else コマンド2 fi -----------------------------