• ベストアンサー

コマンドを自動化できるプログラムの作り方

OSはDebian GNU/Linux 3.0です。 このたび、サーバのユーザ登録をすることになりましたが ユーザごとにシンボリックリンクを張ったり、 ディレクトリの所有者を変更したりするのですが、ユーザが多くてコマンドを打つのは大変です。 何かよい方法はないでしょうか? たとえばユーザ名を打てば、自動で所有者や リンクが張れるようなことができるのでしょうか?

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

  • ベストアンサー
  • yoneda_16
  • ベストアンサー率47% (166/350)
回答No.1

そういうときは「シェルスクリプト」というものを作ります。apache6さんがユーザ登録時に実行するコマンドを複数個まとめて実行させることができます。またユーザ名称などのパラメータを指定することも可能です。 Googleで、「シェルスクリプト」という文字列で検索してみてください。いくつも参考になるサイトが見つかると思います。

参考URL:
http://www.glasscom.com/tone/linux/ShellScript/ShellScript.htm
apache6
質問者

お礼

シェルスクリプトというのがあるのですね。 早速使ってみました。うまく実行できました。 ありがとうございました。

その他の回答 (1)

  • yutopapa
  • ベストアンサー率47% (139/295)
回答No.2

シェルスクリプトについては、#1さんが回答された通りです。 以下、シェルのイメージです。(思いっきりイメージですから、細かい文法は間違ってるかもしれません。(^^;) --- hoge.sh --- useradd %1 chown hogehoge ln -s hogehoge%1 /home/%1 ---------------- で、こいつを $ hoge.sh new_user という感じで実行してやると、useradd、chown、シンボリックリンク張りを一気にやってくれます。 UNIX(Linuxを含めて)に足を突っ込んだらShellは絶対に必須なスキルですから頑張って勉強して下さい。

apache6
質問者

お礼

Shellはとても便利です。ご回答ありがとうございました。

関連するQ&A

  • FTPのアクセス制限のやり方 (Debian3.0)

    OSはDebian GNU/Linux 3.0です。 ユーザがFTPでサーバにアクセスしたとき、まず /home/ユーザ名 につながりますが、 そのユーザは自分のユーザ名のフォルダより 上のディレクトリにアクセスすることができないように する方法を教えてください。

  • シェルスクリプトでユーザ登録をしたい

    OSはDebian GNU/Linux 3.0です。 以下のことを自動でやりたいのですが どのようにすればよいですか? 現在 #!bin/sh useradd $1 chown group $1 でスクリプトを動かしています。 しかしこれだとuser名をすべて打つ必要があります。 ユーザ名をあらかじめ書いておいたviファイルを 使うなどして自動で実行できないのでしょうか?

  • ディレクトリの所有者をXAMPPのapacheに

    Linux初心者です。 現在、CentOS5.4でLinuxサーバ構築の勉強をしています。 ディレクトリの所有者をXAMPP for Linux1.7.4のApacheに変更したいのですがイマイチやり方がわかりません。 変更したいディレクトリは book_picture というフォルダで /opt/lampp/htdocs/book_picture にあります。 ディレクトリの所有者を変更するにはchownコマンドというのを使うのは調べていてわかりましたが book_picture のファイル名が /opt/lampp/htdocs/book_picture だと上手くいきませんし、 XAMPP for Linux1.7.4のApacheのユーザー名もわかりません。 よろしくお願いします。 ちなみにディレクトリの所有者を変えてクライアント側からファイルのアップロードがしたいのです。 パーミッションを777にする方法ではできました。

  • FTPでアップしたときのパーミッションの初期値

    OSはDebian GNU/Linux 3.0です。 各ユーザがFTPで新規ファイルをアップロードしたときの パーミッションの初期値を変更したいのですが、 そのようなことは可能なのでしょうか? また、フォルダ別にパーミションの初期値を変えることは できるのでしょうか?

  • Linuxでのコマンドの使い方

    Linuxでのコマンドの使い方 Linuxでは、ホームディレクトリ(/home/(ユーザー名)、/root など)から 直接、コマンド(cp,mv,ifconfigなど)を入力して実行できたはず、 と思っていたのですが、できません。 /sbin/(コマンド) と入力すれば実行できます。 何か設定が悪いのでしょうか? CentOSでの話です。

  • Debian3.0でIP等の設定を変える場合

    OSはDebian GNU/Linux 3.0です。 インストール時にipアドレスやホスト名を 設定したのですが、これらの設定を変更したい場合 どこを修正すればいいのでしょうか?

  • PHPでの自動作成されるファイルが

    ファイルの読み込み自体や、 既存ファイルへの書き込み等は問題がないようですが、 「新規」でファイルの追加が出来ない状況です。 つまりPHPで自動生成されるスクリプトが動作しません。 サーバー移転で、新しいサーバーのみ動かない状況です。 前回以下の回答がありましたが ----------------------------------------------------- PHPを実行しているスクリプトがファイルを作成する場合 ファイルの所有者はsystem(Apache)になると思われます。 要するに作成しようとするファイルの親ディレクトリの 所有者がsystem(Apache)であり、所有者書き込みが可能 のパーミッション(700)になっている場合か、親ディレクトリの 所有者がsystem(Apache)以外であるなら、所有者以外の 書き込みが許可(707もしくは777)になってなければ 新規ファイルの作成は失敗します。 ----------------------------------------------------- ユーザー用ディレクトリ(仮にuserとします) 所有者はアカウント、パーミッションは777です 登録があれば、userディレクトリにIDの名前で新しくディレクトリが作成され そのID名のディレクトリの中に必要なファイルも自動的に作成されます この登録が動作しません・・・ ファイルが新しく作成されない状態です。 試しに手動でUPすると、動作は正常でした。 ファイルの自動作成のみが動作しません。 パーミッションもこれで合っているように思えるのですが・・・ 原因が分かりません・・

    • ベストアンサー
    • PHP
  • ファイルの所有者だけを得るコマンドは?

    ファイルの所有者をユーザ名で取得するコマンドはないでしょうか。 目的は、シェルスクリプトの中で変数に代入して使いたいからです。 人間が見るためにはls -lでいいのですが、スクリプトの中で使用しようとするとsedで加工したり、ディレクトリ名を指定するとそのディレクトリ自体ではなくディレクトリ内のファイルが対象になってしまったりするので切り分けが面倒です。 ファイルの所有者だけが表示されるようなコマンドがあれば楽なのですが、そのようなコマンドはあるでしょうか? よろしくお願いいたします。

  • 501ユーザ所有のファイルの上書き

    教えてください。 CentOS(Linux)(1)サーバで別の(2)Linuxのあるディレクトリをマウント(/mnt/の下)しています。 プログラムで(1)のあるディレクトリにあるファイルを(2)のマウントしているディレクトリ内にある 同じファイル名を上書きしたいです。 プログラムで上書きモードとかを書いて実行すれば上書きできるか別で確認中ですが、 もしかしたらマウントしている先(2)のサーバに何かユーザの登録が必要でしょうか? 1回目マウント先にファイルを吐き出した時は、そのファイルの所有者が501(?)となっていました。 この501のユーザ登録が必要だったりしますでしょうか? 因みに501というのはプログラムで生成したものがデフォルトで501という所有者が付くのでしょうか?(マウント先で) よろしくお願いします。

  • crontabの自動実行について (Debian3.0)

    OSはDebian GNU/Linux 3.0です。 現在の環境はシェルスクリプトを実行する際に ./をつける必要があります。 abc.shを実行するなら、./abc.shとしてやれば実行できます。 それでこのabc.shを自動実行させたいので cron.dailyに移動させたのですが、やはりこのまま(./が必要)では 自動実行されないのでしょうか? ./を必要としないようにするためにはどのようにすればよいのでしょうか?