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

名称
ライブラリ
書式
解説
戻り値
関連項目
歴史

jman



Time: 07:07:10 GMT, January 12, 2009