回答:
umask
077のaを使用すると、ユーザーのみが読み取り、書き込み、実行の権限を持ちます。ユーザーは間違いなくディレクトリを開く(「実行する」)ことができます(ここで私の回答でディレクトリを実行可能にする必要がある理由の詳細を参照してください)。ただし、ファイルは常にを入力して実行可能にする必要がありますchmod u+x myfile
。自動的に実行されることはありません。umask
この回答では、さらに役立つ情報がいくつか提供されています。
問題の可能性は、値をわずかに誤って入力したために異なるumaskが生じたか、値が永続的に設定されていない可能性があります。umask 077
ターミナルに入ると、ターミナルのセッションにのみ有効です。ユーザーに永続的にするには、単にをに追加umask 077
します~/.profile
。のシステムデフォルト設定umask
はにあり/etc/login.defs
ます。以前はにありました/etc/profile
。のマンページも参照してくださいpam_umask
。これは、の割り当てを処理するpamモジュールですumask
。
次の例は、の正常な設定からのものですumask 077
。
1)フォルダー作成の場合:正しい権限と「実行可能」フォルダーmkdir doc
がstat doc
付与された状態でチェック:
File: `doc'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 6425268 Links: 2
Access: (0700/drwx------) Uid: ( 1000/ mike) Gid: ( 1000/ mike)
Access: 2012-09-12 11:33:01.236675420 +0100
Modify: 2012-09-12 11:33:01.236675420 +0100
Change: 2012-09-12 11:33:01.236675420 +0100
Birth: -
2)ファイル作成の場合:touch new
チェックするとstat new
、正しい権限が与えられます。以下を使用する場合にのみ、ファイルは実行可能になりますchmod +x
。
File: `new'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 801h/2049d Inode: 6303902 Links: 1
Access: (0600/-rw-------) Uid: ( 1000/ mike) Gid: ( 1000/ mike)
Access: 2012-09-12 11:34:58.272676270 +0100
Modify: 2012-09-12 11:34:58.272676270 +0100
Change: 2012-09-12 11:34:58.272676270 +0100
A umask
が077の場合、表示される権限が与えられますが、umask 077
適切に設定した後も権限に問題がある場合(上記で説明)、さらに調査することができます。
umaskの値が適切に既定の変更に使用されるFMASKファイルのパーミッションについて(基本パーミッション0666を)とDMASKディレクトリ/フォルダのアクセス許可のための(ベース許可0777)。
有効なfmask値とdmask値は、umask値を差し引いて計算されます(オクタル計算)。
したがって、umask 0022はfmaskの値を0644(つまり0666-0022 )にし、dmaskは0755(つまり0777-0022)にします。
umask値 0077は、任意の世界へのアクセスだけでなく、(究極の8進数で示されている)だけでなく、あなたの使用して作成されてからファイルを防ぎグループメンバー(最後から二番目の8進数で示されています)。