Name

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

Synopsis

smbcacls {//server/share} {filename} [-D|--delete acls] [-M|--modify acls] [-a|--add acls] [-S|--set acls] [-C|--chown name] [-G|--chgrp 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

コマンドラインオプションの要約を表示する。

-d|--debuglevel=level

level は0から10までの整数値である。 既定値の値は、パラメータが設定されていなければ0である。

この値を大きくするほど、サーバの動作に関するより詳細な情報が ログファイルに記録される。レベル 0 では、致命的なエラーと重大な警告 のみが記録される。レベル 1 は日々の運用に適しており、少量の稼働状況 に関する情報を生成する。

1 より上のレベルは大量のログが生成されるので、問題解決の時にのみ 使用すべきである。 3 より上のレベルは開発者だけが利用するように設計されて おり、莫大な量のログデータが生成される。そのほとんどは非常に謎めいた内容 となっている

このパラメータの指定は、smb.conf ファイル中の、 log level パラメータの指定よりも優先する。

-V

プログラムのバージョン番号を表示する。

-s <configuration file>

サーバーが必要とする詳細な設定を含む設定ファイルを 指定する。このファイルには、サーバーが提供するサービスに関する記述や、 どの printcap ファイルを利用するかといった情報が含まれている。詳細は smb.conf を参照のこと。設定ファイルの名前の既定値は、コンパイル時 に決定される。

-l|--log-basename=logdirectory

ログ/デバッグファイルのファイル名。拡張子として ".progname" が追加される(例えば log.smbclient, log.smbd,など)。ログファイルはクライアントによって削除されることはない。

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' パーミッションと等価である。

終了ステータス

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

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

バージョン

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

著者

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

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

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

日本語訳

このマニュアルページは Samba 3.0.0 - 3.5.20 対応のものである。

このドキュメントの Samba 3.0.0 - Samba 3.5.20 対応の翻訳は

  • たかはしもとのぶ (monyo@samba.gr.jp)

  • 山田 史朗 (shiro@miraclelinux.com)

によって行なわれた。