Name

smbcacls — Windows NT 上のファイルやディレクトリの ACL の取得や設定

Synopsis

smbcacls {//server/share} {filename} [-D acls] [-M acls] [-a acls] [-S acls] [-C name] [-G name] [--numeric] [-t] [-U username] [-h] [-d]

説明

このツールは samba(7)システムの一部である。

smbcacls は、SMB ファイル共有内の ACL (Access Control Lists) を操作するプログラムである。

オプション

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

-a acls

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

-M acls

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

-D acls

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

-S acls

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

-U username

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

-C name

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

このコマンドは -M OWNER:name の短縮形になる。

-G name

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

このコマンドは -M OWNER:name の短縮形になる。

--numeric

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

-t

実際に処理は行わず、指定した引数の正当性を検証する。

-h|--help

Print a summary of command line options.

-d|--debuglevel=level

level is an integer from 0 to 10. The default value if this parameter is not specified is 0.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the parameter in the smb.conf file.

-V|--version

Prints the program version number.

-s|--configfile <configuration file>

The file specified contains the configuration details required by the server. The information in this file includes server-specific information such as what printcap file to use, as well as descriptions of all the services that the server is to provide. See smb.conf for more information. The default configuration file name is determined at compile time.

-l|--log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc...). The log file is never removed by the client.

ACL FORMAT

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

 
REVISION:<revision number>
OWNER:<sid or name>
GROUP:<sid or name>
ACL:<sid or name>:<type>/<flags>/<mask>

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

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

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

typeは SID に対する許可および拒否に対応する(訳注: 実際は type は ALLOWED か DENIED を指定し、それぞれ SID に対するアクセス許可および拒否に対応する、が正しい(fumiya))。 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' パーミッションと等価である。