SMBCACLS(1)

NAME
smbcacls - NT のファイルやディレクトリのACLの取得や設定

SYNOPSIS
smbcacls //server/share ファイル名 [ -U ユーザ名] [ -A acl] [ -M acl] [ -D acl] [ -S acl] [ -C 名前] [ -G 名前] [ -n] [ -h]

DESCRIPTION

このツールは Sambaスイートの一部である。

smbcacls は、ファイル共有内のアクセスコントロールリスト(Access Control Lists, ACL) を操作する。

OPTIONS

smbcacls コマンドでは以下のオプションが利用可能である。 ACLの形式は、ACL FORMAT セクションで記述する。

-A acl
    ACLリストで設定されたACLを追加する。 既存のACLは変更されない。

-M acl
    コマンドラインで指定されたACLの mask 値(パーミッション)を変更する。 ACLリストに指定されたACLが存在しない場合、 そのACL毎にエラーが出力される。

-D acl
    コマンドラインで指定されたACLを削除する。 ACLリストに指定されたACLが存在しない場合、 そのACL毎にエラーが出力される。

-S acl
    このコマンドは、 コマンドラインで指定されたACLのみをファイルに設定する。 その他の全てのACLは削除される。 呼び出しを成功させるためには、 指定するACLに最低限リビジョン、タイプ、 所有者とグループが含まれている必要がある。

-U ユーザ名
    指定されたサービスに接続する際に利用するユーザ名を指定する。 ユーザ名が "username" の形式で与えられた場合、 smb.conf で指定されたワークグルー プが用いられ、 ユーザにはパスワード入力を求めるプロンプトが表示される。 "username%password" もしくは "DOMAIN\username%password" の場合、 パスワードやワークグループ名は指定されたものが用いられる。

-C name
    ファイルやディレクトリの所有者は、 -C オプションを利用することで指定した name に変更することが可能である。 名前は S-1-x-y-z 形式の sid で指定するか、 先頭の引数で指定したサーバが認識可能な name で指定する。 このコマンドは -M OWNER:name の短縮形になる。

-G name
    ファイルやディレクトリのグループ所有者は、 -G オプションを利用することで指定した name に変更することが可能である。 名前は S-1-x-y-z 形式の sid で指定するか、 先頭の引数で指定したサーバが認識可能な name で指定する。 このコマンドは -M OWNER:name の短縮形になる。

-n  このオプションは、全てのACL情報を数値 形式で表示させる。 デフォルトでは、SIDは名前に、ACEの type と mask は、 可読性のある文字列形式に変換される。

-h  smbcacls コマンドの利用方法を表示する。

ACL FORMAT

ACLの形式は、 コンマか改行記号で1つ以上のACLエントリを区切ったものである。 ACLエントリは以下のいずれかの形式をとる:

REVISION:<リビジョン番号>
OWNER:<sid もしくは name>
GROUP:<sid もしくは name>
ACL:<sid もしくは name>:<type>/<flag>/<mask>

ACLのリビジョンは、セキュリティディスクリプタに対する 内部的なWindows NT ACLのリビジョンを表す。 特に指定されない場合のデフォルトは 1 である。 1 以外の値を指定した場合は、予期しない結果となることがある。

OWNER と GROUP はオブジェクトの所有者およびグループのsidを指定する。 SIDが CWS-1-x-y-z の形式で指定された場合は、そのまま用いられ、 それ以外の場合、 指定された名前はファイルやディレクトリが存在するサーバによって 解析される。

ACLはSIDに対して与えられるパーミッションを指定する。 このSIDも CWS-1-x-y-z の形式で指定するか、 名前で指定することが可能で、 後者の場合、 ファイルやディレクトリが存在するサーバによって解析される。 type, flag, mask の値は、SIDに対して与えられた アクセスの種類を指定する。

type は0 か 1 の値をとり、 これは SID に対する 許可および拒否に対応する。 flag の値はファイルのACLの場合通常0であり、 ディレクトリのACLの場合は通常9か2である。 共通的な flags は以下の通りである:

•   #define SEC_ACE_FLAG_OBJECT_INHERIT 0x1

•   #define SEC_ACE_FLAG_CONTAINER_INHERIT 0x2

•   #define SEC_ACE_FLAG_NO_PROPAGATE_INHERIT 0x4

•   #define SEC_ACE_FLAG_INHERIT_ONLY 0x8

現在のところ flag の値は 10進法もしくは16進法でのみ指定することができる。

mask はSIDに対して与えられたアクセス権を表現する値である。 それは10進法もしくは16進法で設定するか、 NTのファイルパーミッションと同じ名称である 以下の文字を利用して設定することができる。

•   R - 読みとりの許可

•   W - 書き込みの許可

•   X - オブジェクトの実行

•   D - オブジェクトの削除

•   P - パーミッションの変更

•   O - 所有権の取得

以下の複合パーミッションも指定可能である:

•   READ - 'RX' パーミッションと等価である。

•   CHANGE - 'RXWD' パーミッションと等価である。

•   FULL - 'RWXDPO' パーミッションと等価である。

戻り値

The smbcacls コマンドは、 操作が成功したか、その他の結果になったかに応じた戻り値を設定する。 戻り値は、以下の値のいずれかになるであろう。

操作が成功した場合、smbcacls は戻り値として 0 が返却される。 もし smbcacls が指定したサーバに接続できなかったか、 ACLを取得または設定する際にエラーが発生した場合は、 戻り値として 1 が返却される。 コマンドライン引数の解析に失敗した場合は、 戻り値として 2 が返却される。

VERSION

このマニュアルページは Samba バージョン 2.2 スイート用である。

AUTHOR

オリジナルの Samba ソフトウェアと関連するユーティリティは、 Andrew Tridgell によって作成された。現在 Samba は Samba Team によって、 Linux カーネルの開発と同様の オープンソースプロジェクトとして開発が行なわれている。

smbcacls は Andrew Tridgell と Tim Potter によって書かれた。

Samba 2.2 における DocBook 形式への変換は、 Gerald Carter によって行なわれた。