STRMODE
Section: C Library Functions (3)
索引
jman
BSD mandoc
索引
名称
strmode
- inode ステータス情報をシンボル文字列に変換
索引
ライブラリ
Lb libc
索引
書式
In string.h
Ft void
Fn strmode mode_t mode char *bp
索引
解説
Fn strmode
関数は、ファイル
Fa mode
(inode に結合されるタイプとパーミッションの情報については、
stat(2)
を参照) をシンボル文字列に変換し、それを
Fa bp
で参照される場所に保存します。
保存されるこの文字列は、長さが 11 文字で最後にヌル文字が付きます。
最初の文字は inode タイプで、次のいずれかになります :
- -
-
通常ファイル
- b
-
ブロック型特殊ファイル
- c
-
文字型特殊ファイル
- d
-
ディレクトリ
- l
-
シンボリックリンク
- p
-
fifo
- s
-
ソケット
- w
-
whiteout
- ?
-
未知の inode タイプ
次に続く 9 つの文字は、3 文字毎に 3 つのパーミッションセットをコード化します。
最初の 3 つの文字はファイル所有者のためのパーミッションで、
2 番目の 3 文字はファイルが所属するグループのためのもの、
そして 3 番目の 3 文字は
``他者'' またはデフォルトのユーザセット用です。
パーミッションチェックは、できる限り明確に限定して行われます。
最初のパーミッションセットでファイルの所有者に対して
読み取り許可が拒否された場合は、
ファイルの所有者はそのファイルを読み取ることができません。
このことは、その所有者がファイルのグループに入っており、
そのグループパーミッションによって読み取り許可が与えられている場合、
または読み取りを許可する ``他者'' のパーミッションが
与えられている場合でも当てはまります。
3 文字セットの最初の文字が ``r'' である場合は、
そのファイルはそのユーザセットに対して読み取り可能です。
文字がダッシュ ``-'' 場合は、読み取りできません。
3 文字セットの 2 番目の文字が ``w'' である場合は、
そのファイルはそのユーザセットに対して書き込み可能です。
文字がダッシュ ``-'' である場合は、書き込みできません。
3 番目の文字は、次の該当する文字です :
- S
-
文字が所有者パーミッションの一部であり、
ファイルが実行可能ではないか、
またはディレクトリが所有者によって検索可能ではなく、
set-user-id ビットが設定されている場合。
- S
-
文字がグループパーミッションの一部であり、
ファイルが実行可能ではないか、
またはディレクトリがグループによって検索可能ではなく、
set-group-id ビットが設定されている場合。
- T
-
文字が他者のパーミッションの一部であり、
ファイルが実行可能ではないか、
またはディレクトリが他者のものによって検索可能ではなく、
``sticky''
(S_ISVTX
)
ビットが設定されている場合。
- s
-
文字が所有者パーミッションの一部であり、
ファイルが実行可能であるか、
またはディレクトリが所有者によって検索可能であり、
set-user-id ビットが設定されている場合。
- s
-
文字がグループパーミッションの一部であり、
ファイルが実行可能であるか、
またはディレクトリがグループによって検索可能であり、
set-group-id ビットが設定されている場合。
- t
-
文字が他者のパーミッションの一部であり、
ファイルが実行可能であるか、
またはディレクトリが他者のものによって検索可能であり、
``sticky''
(S_ISVTX
)
ビットが設定されている場合。
- x
-
ファイルが実行可能であるか、またはディレクトリが検索可能。
- -
-
上のいずれにも該当しない。
最後の文字は
inode に結合された別のアクセス制御方法が何かある場合は、
プラス記号 ``+'' です。
それ以外の場合は、文字はスペースになります。
索引
戻り値
Fn strmode
関数は、常に 0 を返します。
索引
関連項目
chmod(1),
find(1),
stat(2),
getmode(3),
setmode(3)
索引
歴史
Fn strmode
関数は
BSD 4.4
で初めて登場しました。
索引
Index
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 戻り値
-
- 関連項目
-
- 歴史
-
Time: 07:07:10 GMT, January 12, 2009