[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:31706] Re: Debian のファイルのパーミッション



 藤本さんがなにをやりたいのかが全然わからないので
外してるかも知れませんが。

<3C624AB6.9577127F@xxxxxxxxxxxxxxxxxxx>の記事において
manon@xxxxxxxxxxxxxxxxxxxさんは書きました。

> 次に、/bin/loginを変更できなかったので、
> /etc/profileの[umask 022]をコメントにし、
> #umask 000を実行します。(umaskを初期化したつもりです。)
> この場合は、ファイルを作れば、「666」になります。
> rootの隠しファイル(~/.*****)にも、umaskを指定するファイルはありません。
> rootには、.bash_profileはありません。
> 
> 
> どうすれば、デフォルトの「664」のファイルが作れるのですか?
> この疑問は、自分が何かを勘違いしています?
> そんな感じもするんだけど、...。m(_ _)m

 umask 情報は各プロセスが持つもので、子孫に継承されます。
例えばシェルから touch を実行すれば、シェルの umask 情報が
touch に渡され、その umask でファイルが作成されます。

 シェルには通常自分自身の umask 情報を変更する内部コマンド
があります。 だからシェルの「デフォルト」の動作を変えた
ければ、シェルが起動するときに読み込むファイル (それぞれの
シェルの man ページに書いてあります) に、umask を変更する
コマンド (これも man ページに書いてあります) を書いておけば
いいのです。

 シェル以外のプログラムがデフォルトの umask を持ちたい
(あんまりそういうことはないとおもうけど) 場合は、umask()
システムコールを内部で呼ぶことになりますが、これをプログ
ラム外部から制御する方法はプログラムによって様々でしょう。
多分やっぱり man ページを見るんでしょうね。

-- 
中野@成蹊大