クオータの設定とシェル編集について

このQ&Aのポイント
  • MacOSXserver(FreeBSD)の環境で、ADユーザに対して4Gのディスククオータを設定するスクリプトがうまく動かない
  • シェルの編集について教えてください。シェルとは何か、編集することのメリット、異なるシェルの違い、viでのシェル編集方法について質問しています。
  • クオータの設定とシェル編集に関する疑問を詳しく説明してください。
回答を見る
  • ベストアンサー

クオータの設定とシェル編集について

よろしくお願いします。 ●クオータ設定   MacOSXserver(FreeBSD) ー ADサーバ   の環境で、共有フォルダをMac側に   設定しています。アクセスするユーザは   ADのユーザです。   この時、ADユーザ数が5ユーザとして   1ユーザに対して4Gのディスククオータを   設定するスクリプトを作成しました。   が、上手く行きません。   【plファイル】 #!/usr/bin/perl open(IN,"/Users/admin/Desktop/userlist.txt"); @USER=<IN>; foreach (@USER) { system("edquota -p ppp -u $_ "); }   【ユーザリストファイル】 ppp 11111 22222 33333 44444   pppユーザを基準ユーザとして4G設定   しています。それを他のユーザに反映   させるスクリプト・・・のハズなのですが・・ どこがおかしいのでしょうか? ●シェル編集   シェルの編集の仕方について教えて下さい。   さっぱり分からないのですが、   0)シェルって何ですか?   1)編集する事でどのようなメリットが     あるのでしょうか?   2)bash, csh, sh, zsh・・の違い   3)viで編集すると仮定して、     > vi ・・・     何と入力すれば良いのでしょうか?     つまり「シェル」ってどこに     あるのですか? よろしくお願いいたします。

  • aopoma
  • お礼率95% (123/129)
  • Perl
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

まず、edquotaの使い方はご存知でしょうか? edquota -p [既に設定済みユーザ名] [同じ設定を反映させるユーザ名] (オプションの付け方はOSによって違うかもしれませんのでmanで調べてください) 記載のスクリプトだと、foreachの最初で edquota -p ppp -u ppp となり、おそらくエラーになるはずです。 回避のためには、まずedquotaコマンドラインでpppユーザのquotaを設定しておき、userlist.txtからpppを削除しておけばよいと思われます。

aopoma
質問者

お礼

ご返答ありがとうございます。 基準ユーザの設定を最初にしていなかった事と リストファイルから基準ユーザを削除していなかった事が 上手く行かなかった原因と分かりました。 ありがとうございました。

関連するQ&A

  • シェルについて

    cshやbash、zsh、tcshなど色々ありますがどう違うのでしょうか。 これまであまり考えずにSoalrisやLinuxにログインして普通に作業してきましたが、ただtabやバックスペースが使用できないというだけでzshやtcshにして使用してきました。 ただこれだけ色々シェルがあるとしたら使用方法がいろいろ違うのではないかと思っております。 シェルスクリプトを作成する時の文法が違うとかでしょうか。

  • 権限の違うシェルスクリプトの実行

    3つのシェルスクリプトがあります。 ●root権限で実行  aaa.csh ●ユーザ指定権限で実行 bbb.csh ●root権限で実行 ccc.csh この3つのシェルスクリプトはaaa.csh →bbb.csh →ccc.cshの順番でバッチ処理として cronに設定したいのですが、 権限が違うのでroot権限のcrontabとユーザ指定のcrontabに それぞれ設定しなくてはいけません。 あまりスマートではないかと思い、 何かよい方法はないかと質問させて頂きました。 3つのシェルスクリプト1つシェルスクリプトにまとめてroot権限のcrontabに設定してしまう方法とかどうでしょうか? ちなみにスクリプトの処理の内容は単純なファイルコピーなどです。 意味分かりますでしょうか? よろしくお願いします。

  • Linux で Java の PATHの設定

    Vine Linux に Java をセットアップしたのですが、そのままでは PATH が通ったところに javac などの実行ファイルがありません。 環境変数も自分で設定する必要があるみたいです。 csh, bash, zsh などいろんなシェルを使っているユーザーがいるのですが、全ユーザーの Java の設定をまとめてやる方法はないでしょうか?

  • UNIXシェルの設定ファイルについて

    solaris8使用してるのですが2つほど質問があります。 1. rootのシェルの設定ファイル(.cshrcとか.profileにあたるもの?) ってどこにあるのでしょうか? su でroot になったときや、rootでcshと打ち込んだときなど はどこのファイルの設定を読むのでしょうか? 2. 一般ユーザを新規に追加した場合にその新規ユーザの シェルの設定ファイルってどこからもってきたものなんでしょうか? デフォルトのファイルのようなものをコピーしてくる感じなのでしょうか? ご存知の方よろしくお願いします。

  • シェルスクリプトでユーザ一括登録

    現在、新サーバを構築し ユーザ150人を一括登録するために 作業ミスをなくすためシェルスクリプトでやりたいのですが 現在の簡単なものだと コメントやパスワード設定をすることができません どなたかご教授くださいませ! 現在のシェル #!/bin/sh for FILE in `cat $1` do useradd -m -s /bin/csh -d /home/$FILE $FILE done また 負荷を軽減するため、どこかでスリープを入れた ほうがよろしいのでしょうか?

  • シェルスクリプトの切り替え?

    シェルには種類がありユーザーはそれを切り替えることによって好みのシェルを自由に選択することが出来る。 というのはわかりました。 が、シェルスクリプトを記述して実行する場合はどうなんでしょう。 bornシェルで記述したシェルスクリプトをcshから実行できるのでしょうか。 実行者とスクリプト記述者が同じシェル環境で操作しないといけないのかと思い質問しています。 ひょっとして意味のわからない質問かも知れませんがお願いします。

  • シェルファイル内での「setenv」、「unsetenv」の実行 その2

    シェルファイルの先頭行に、 「#!/bin/csh」 と記述したところ「system: Undefined variable.」というメッセージが出力されてしまいました・・・。 どうしたらよいのでしょう?設定の問題なのでしょうか? よくわからないのですが、 「env | grep csh」 と実行してみると「SHELL=/user/bin/csh」という結果がえられるのですが・・・。

  • シェルスクリプトとphpを使ったプログラミングについて

    UNIXサーバで、現在、シェルスクリプトやphpを使ってプログラムを書いています。 今は「csh cmd ファイル名」という形でシェルスクリプトを実行しています。このままではプロンプト画面で味気ないので次のようにしたいのですが、やり方が分りません。 まず、phpやhtmlで作成したファイル提出画面にてファイルを提出してもらいます、そして、それを受け取ります。その時例えば送信ボタンを押すと思うのですが、そのボタンを押したらファイル名を受け取り「csh cmd ファイル名」が実行されるといふうにしたいのです。何かいい方法があれば教えて頂きたいです。phpでなくてもいいので、お願いします。

    • ベストアンサー
    • PHP
  • シェルスクリプトの書き方

    すみません、シェル初心者なのですが、急を用してまして質問させて頂きました。 シェルスクリプトで コマンドを実行する前に他のユーザにスイッチしてから 実行するというのを実現したいのですが・・・ #!/bin/csh コマンド1 コマンド2 ・・・ とコマンド1の前に su コマンドを実行させたいのですが、 パスワードを入力する際、対話式なので どう書いてよいか分かりません。 よろしくお願いします。

  • Cシェルについて

    Cシェルについて #! /bin/csh ##! /bin/csh -vx setenv NOHUP '/usr/bin/nohup' set AAA_CSH = $NOHUP' XXX.sh file.txt &' ($AAA_CSH >> /dev/null) >>& err.log シェルスクリプトを作成して上記のとおりnohupでXXX.shを実行するように記述します。 エラーがあった場合、err.logに出力するように作成したつもりなのですが、 XXX.shがなかったとき、 「/usr/bin/nohup: XXX.sh:そのようなファイルまたはディレクトリはありません。」 と標準出力されてしまいます。 このエラーメッセージをerr.logに記述するようにしたいのですが、 どうしたらよいでしょうか? よろしくお願いいたします。

専門家に質問してみよう