• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メールボックス容量変更のシェルスクリプトについて)

メールボックス容量変更のシェルスクリプトについて

このQ&Aのポイント
  • メールボックス容量を変更するシェルスクリプトのユーザ名の代入方法について解説します。
  • シェル初心者向けの解説となっており、@前にユーザ名を代入する方法を紹介します。
  • 具体的なコードの記載例を示し、新しいメールボックス容量を入力して変更する手順を説明します。

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

  • ベストアンサー
  • heburusu
  • ベストアンサー率85% (140/164)
回答No.1

UIDという変数に代入できていないというエラーがでていますね。 >mailquota1.sh: line 3: UID: readonly variable UIDはユーザIDを示す用の変数としてに既にshで使われているのだと思います。 UIDから変数名を変えてみてはどうでしょうか。

参考URL:
http://www.linux-beginner.com/linux_kihon170.html
QA-Linux
質問者

お礼

UIDがシステム側で定義された変数とは知りませんでした。 ご教示頂いた方法で無事に解決できました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • @前の変数代入について

    メールボックスの容量変更を行うシェルスクリプトを作成する予定ですが、以下のとおりアットマーク@前にユーザ名が代入されません。 どのように記載することでアットマーク@前にユーザ名が代入できますでしょうか。 当方シェル初心者のため、ご教示頂ければ幸いでございます。宜しくお願い致します。 <実行例> [root@test ~]#sh test2.sh @より前のユーザ名を入力してください。 ( 入力名:ユーザ名 ) : test @より後のドメイン名を入力してください。 ( 入力名:ドメイン名 ) : example.jp メールボックス容量を設定してください。 ( 入力名:50m ) : 50m 0@example.jp 50m <シェルスクリプト内容> #!/bin/sh read -p "@より前のユーザ名を入力してください。 ( "入力名:ユーザ名" ) : " UID read -p "@より後のドメイン名を入力してください。 ( "入力名:ドメイン名" ) : " DOMAIN read -p "メールボックス容量を設定してください。 ( "入力名:50m" ) : " CAPA echo $UID@$DOMAIN $CAPA

  • uid=0への変更

    AIX6.0で一般権限のユーザーIDのuidをroot権限のuid=0に変更したいと思っています。 usermod -u 0 <ユーザーID> 上記コマンドを実行したところ、既にuidは使われていますとエラーになってしまいました。 複数のIDをuid=0に変更するコマンドを教えていただけないでしょうか。 ご回答よろしくお願いします。

  • Bシェルにてユーザの実行可否

    シェルにてrootユーザのみ実行が出来るようにしたいと思い、以下のようなシェルを書きました。 が、root以外のユーザでも実行が可能となってしまっています。実行する上でシェル、またはシェル以外で影響はあるのでしょうか?ご存知でしたらご教授願います。 ※今回はユーザID:user1で作成+実行しています。 ※このシェルのアクセス権限は"-rwxr--r--"としています。 #!/bin/sh UID=`whoami` if [ $UID -ne root ] then echo "実行はrootのみ" fi -以降、その他の処理が続く-

  • postfix 受信時 php スクリプト実行

    ※一部、ドメイン名が隠れてなかったので再度投稿しました。 【環境】 os: freebsd 8.4 php: 5.4.13 postfix:2.9.5 メールの送受信はエラーなくできています。 【やりたいこと】 メール受信時にPHPスクリプトを実行したい!(メールでブログ上げたい!!!!) 【困っていること】 メールログみると、PHPが実行されずに”転送”しようとしている。 <maillog> Jan 22 23:42:31 postfix/qmgr[36840]: from=<送信元>, size=38495, nrcpt=1 (queue active) Jan 22 23:42:31 postfix/virtual[36877]: to=<|php /usr/home/ユーザー名/htdocs/実行したい.php@ドメイン>, orig_to=<送信先>, relay=virtual, delay=0.32, delays=0.31/0/0/0, dsn=5.1.1, status=bounced (unknown user: "|php /usr/home/ユーザー名/htdocs/実行したい.php@ドメイン") ※なぜか PHP 実行したいのに、PHPのパスのあとに@ドメインが! このアドレスはあるわけないので送信元にエラーメールが戻ってきたのでした。 <エラーメール> Undelivered Mail Returned to Sender 中略 <"|php /usr/home/ユーザー名/htdocs/実行したい.php"@ドメイン> (expanded from <送信先>): unknown user: "|php /usr/home/ユーザー名/htdocs/実行したい.php@ドメイン" 【試したこと】 バーチャルメールボックスなので virtual_alias_maps(ファイル名:/usr/local/etc/postfix/virtual_alias) に 下記を記述しました。 blog@ドメイン  | "/usr/local/bin/php /usr/home/ユーザー名/htdocs/実行したい.php" そして、 postmap /usr/local/etc/postfix/virtual_alias として、postfix stop → postfix start してメールを送信すると、上記エラーに…。 ※blog@ドメイン までをバーチャルなユーザー名にしています。 (バーチャルドメインで現在2ドメイン運用しています。今回の「blog@ドメイン」というのはサーバのユーザーにはいなくてvirtual_mailbox_mapsに登録しているバーチャルなユーザーです。) バーチャルなユーザーは ユーザーID:グループID を 5000:5000 としています。 実行したい.php は 持ち主 5000:5000 で、 パーミッション 744 です。 また、このPHPはファイルの書き込みをします。 書きこみ対象のフォルダのパーミッションは777にしてあります。 (持ち主はwww:www になっています) あとで調べてみたらmain.cf の default_privs という項目が気になったので サーバーのユーザーを指定してPHPもそのユーザーのものにしましたが 結果、なんらかわらなかったので元に戻しました…。

  • 1ユーザーで複数のメールボックス

    http://www.xrea.com/ ここのシステムのようにひとつのユーザーがいくつもメールアドレス(メールボックス?)を持つことは可能でしょうか?上記サイトの場合はメールアドレスとパスワードを入力するとPOP3ログインユーザー名はメールアドレスになって1アカウントでいくつもメールボックスをもてます。 ご存知の方がいらっしゃいましたら何卒ご教授ください。 宜しくお願いいたします。

  • .bashrcがCygwinに反映しない

    Cygwinをインストール後、カスタマイズするためにプロンプトの上に 表示される「ユーザ名@計算機名」を変更しました。それに伴い、 初期に自動作成される、/home/Owner が意味を持たなくなってしまい 新たに変更したユーザ名のフォルダを作成し、そこに.bashrcを新規に 作成しましたが、.bashrcに記述したaliasが反映しません。 また、Cygwin上で「alias ls="ls -F"」としてもCygwinを再起動すると 設定が初期化されてしまいます。 aliasの設定を反映させるにはどうしたらいいのでしょうか? ご回答おねがいします。

  • VPS:sendmailのユーザごとのメールボックス容量を設定したい

    レンタルサーバで、VPSを使っています。 CentOS4.4です。 で、sendmailのユーザごとのメールボックス容量を設定したいと思っています。 http://www.stackasterisk.jp/tech/systemConstruction/sendmailSec02_01.jsp#2_2 で可能なことは分かったのですが、 ============================= [root@www /etc]$ vi fstab none /dev/pts devpts rw 0 0 ============================= 自分の場合、この下に 「 LABEL=/var /var ext3 defaults,usrquota 1 2」 を加えれば良いのでしょうか? あるいは、 「none /dev/pts devpts rw 0 0」 を変えればいいのでしょうか?(とすればどのように?) また、新しいユーザが追加になったごとに、 その容量に自動的に設定するにはどうすればいいのでしょうか? 上記URLだと、 ====== また、制限をかけたユーザを雛形にして、他のユーザにも同じ制限をかけたい場合は以下のように"-p"オプションを付けて実行してください。 #setquota -p yamada(<=ひな形となるユーザ) newuser /var ====== とあるのですが、 これだと、 ユーザ追加するごとに、このコマンドを実行しなければならないですよね・・・。 ウェブからユーザを追加し(これはできる)、そしてSSHに接続せずにこれを実現させたいのですが。 (cron使って・・・できるのでしょうか?) こういう需要は多いと思うので、王道的な手法もあるかと思うのですが・・・。 以上、よろしくお願いいたします。

  • rootでファイル操作ができないのですが

    linux-2.2.20にてrootユーザでファイルの操作(rm,mv,chown,chmod)ができないの(パーミションエラー)ですが、復旧する方法もしくは手がかりを教えて下さい。 =>セキュリティーが甘くHackされたためこのような状態になりました。 #stat rc.sysinit File: "rc.sysinit" Size: 14512 Filetype: Regular File Mode: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Device: 3,2 Inode: 80455 Links: 1 Access: Fri Feb 8 08:28:49 2002(00000.00:20:51) Modify: Fri Feb 8 04:32:11 2002(00000.04:17:29) Change: Fri Feb 8 04:32:29 2002(00000.04:17:11) #

  • gid を変更したい

    お世話になっております。 Redhat9をサーバーに使用し、クライアントにWindowsXPを使う環境でLANを構築しています。 アカウントを追加する際、 useradd -G group1 user1 と入力して追加しました。 id user1 で確認すると uid=***(user1) gid=***(group1) となります。 この gid を user1 の名前のグループ名に変更したいのですが、どうしたらよいのでしょうか。 最初から何もせずに useradd user1 と入力してアカウントを追加すれば別に苦労はしなかったのですが、初めてアカウントを設定したので、うれしがって余計なことをしてしまいました。 よろしくお願いします。

  • mailboxの容量を増やすにはどうしたらよいでしょうか?

    お世話になります。 postfixでメールサーバーを運用していますがmailboxの容量を増やす方法がわかりません。 postfixのバージョンは2.1.5になります。 osはCentos4でメールサーバーはpostfixをmailbox形式で使っています。デフォルトのままで使用していましたが一部のユーザーのmailboxの容量が多くなり以下のようなエラーが出ます。cannot access mailbox /var/mail/**** for user ****. error writing message: File too large (****はユーザー名です。) メールを削除すればいいのですがIMAPで管理しておりメールのそのままにして容量を増やしたいのです。 webminでユーザーメールボックスを確認しますと****の容量は812Mbありました。これを2Gに増やしたいのです。 main.cfにて20Mに制限するときはmailbox_size_limit = 20480000することはわかりますが これは各ユーザーの設定だと思います。 特定のユーザーのみ(ここでは****)の容量を2Gにする様な設定の方法はありますでしょうか?またデフォルトでの容量はどこでどのように調べることができますでしょうか?教えていただけましたら幸いに存じます。