- ベストアンサー
Linux初心者がRed Hat Linux 8.0でファイルのデフォルトパーミッション設定に困っています
- Red Hat Linux 8.0を使用しているLinux入門者が、ファイルのデフォルトパーミッション設定に問題を抱えています。
- umaskの設定がうまくいかずに困っており、所有者以外の読み書きをできないようにしたいという要望があります。
- umaskの設定は~/.bash_profileや/etc/profileに追記しているが、ターミナル上での反映がうまくいかず、他の方法も試してみたがうまくいかなかったとのことです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ログインシェル(/etc/passwdに指定されている)がbashの場合 ●まず最初に、ログイン時は /etc/profile ~/.bash_profile が読み込まれます。 ~/.bash_profileの最初のほうで ~/.bashrc を読み込んでいます。 ~/.bashrcの中で /etc/bashrc を読み込んでいます。 /etc/profile ~/.bash_profile ~/.bashrc /etc/bashrc の順番ですね。 ●ログイン後にbashを起動させたら ~/.bashrc /etc/bashrc の順番で実行されますね。 後はGNOME上などでterminalを起動する毎に ~/.bashrc /etc/bashrc の繰り返しですね。 umaskはシェル毎に設定する必要がありますので ~/.bashrc /etc/bashrc に記述すれば良いです。 ------------------------------------------ /etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc がいつ実行されるか自分で調べてみてください。 たとえば各スクリプトのはじめの方に echo "/etc/profile start" >> /tmp/log みたいなデバッグ文をつけて実行してみたら、よくわかります。 スクリプトの中で、別のスクリプトをロードしている事もあるので ソースをちゃんと読んでみましょう。
その他の回答 (1)
- xjd
- ベストアンサー率63% (1021/1612)
~/.bashrcの「最後」に記述してみてはいかがでしょう?
お礼
xjdさん、ご回答どうもありがとうございます。 教えて頂いた通りに「~/.bashrc」に追記した所、 見事設定が反映されました。 これで起動時に一々umaskコマンドを実行する 必要も無くなり快適になりそうです。 本当に助かりました。心から感謝いたします。(^_^) 同時に新たな疑問も沸いてきました。(^_^;;) 今まで見たサイトの情報から 「.bash_profile も .bashrc も シェル起動時に読み込まれるもので .bashrc はログインシェル以外の 一般のシェルを起動した時に実行される」 と見て、理解していたつもりになっていたのですが、 ログインシェルはデフォルト設定のままで「bash」なのに .bash_profiles を読み込まずに .bashrc を読んでいるというのは 設定がどこか狂ってしまったのでしょうか......。 シェルスクリプトを実行しても駄目というのも変ですよね。 (ls など他のコマンドも書き込んで試してみましたので、 スクリプトの書式が間違っているという事ではないはずです) OSインストール後いじった事といえば、 @ITやZDNETなどの記事を参考に不要なサービスを停止したり、 使わないIDとグループ(サーバー用のものなど)を削除したり、 SUIDとSGIDを無効にしたりしたぐらいなのですが.....。 (su と passwdコマンド以外。 rootでも駄目なのでこれは今回の事には関係なさそうでしょうか) 何かお気づきの点がありましたら、アドバイス頂けると幸いです。 ご回答どうもありがとうございました。(^_^)
お礼
再度のご回答どうもありがとうございます。(^_^) ~/.bash_profileから.bashrcなど連続して 読み込みをしているとは全く知りませんでした。 Xのターミナル上で設定を有効にする為にも .bashrcに書き込んでおけば確実という事になるのですね。 詳細なご説明に感謝いたします。 分かりやすく解説していただいたお陰で また一つ知識を深める事が出来ました。 教えて頂いた情報を参考にこれからじっくり研究致します。 xjdさん、本当にどうもありがとうございました。(^_^)