DSEFS権限管理
DSEFS権限管理では、DSEFSに格納されているファイルとディレクトリーに対するユーザーおよびグループのパーミッションを検証します。
DSEFS権限管理では、DSEFSに格納されているファイルとディレクトリーに対するユーザーおよびグループのパーミッションを検証します。
DSEFS権限管理は、デフォルトで無効になっています。構成は必要なく、DSE権限管理を使用すると自動的に有効になります。
所有者、グループ、およびパーミッション
DSEFS認証が無効になっている、セキュアでないクラスターにファイルとディレクトリーが新しく作成されると、その所有者はnone
に設定され、グループはnone
に設定されます。セキュアでないクラスターでは、各DSEFSユーザーに各ファイルとディレクトリーへのフル・アクセス権が付与されます。
dsefs dsefs://127.0.0.1:5598/ > ls -l Type Permission Owner Group Length Modified Name dir rwxrwxrwx none none - 2016-12-01 15:50:49+0100 some_dir
DSEFS認証が有効になっている、セキュアなクラスターにファイルとディレクトリーが新しく作成されると、所有者は認証されたユーザーのユーザー名、グループは認証されたユーザーのプライマリ・ロールに設定されます。ユーザー・ロールの詳細については、CQLロールのドキュメントを参照してください。ファイルとディレクトリーのパーミッションは、作成時にput
コマンドとmkdir
コマンドのパラメーターとして指定できます。詳細については、help put
またはhelp mkdir
を使用して確認してください。
dsefs dsefs://127.0.0.1:5598/ > ls -l Type Permission Owner Group Length Modified Name dir rwxr-x--- john admin - 2016-12-02 15:52:54+0100 other_dir
既存のファイルまたはディレクトリーの所有者またはグループを変更するには、chown
コマンドまたはchgrp
コマンドを使用します。詳細については、help chown
またはhelp chgrp
を使用して確認してください。
デフォルトでは、DSEFSはrwxr-xr-x
(8進数は755)パーミッションでディレクトリーを作成し、rw-r-r-
(8進数は644)パーミッションでファイルを作成します。既存のファイルまたはディレクトリーのパーミッションを変更するには、chmod
コマンドを使用します。詳細については、help chmod
を使用して確認してください。
DSEFSスーパーユーザー
DSEFSユーザーは、そのユーザーがデータベース・スーパーユーザーである場合に限り、スーパーユーザーとなります。スーパーユーザーは、DSEFSに格納されているすべてのファイルとディレクトリーの読み取り/書き込みが可能です。スーパーユーザーのみがfsck
やumount
などのDSEFSの保守操作を実行できます。
DSEFSユーザー
以下のパーミッションに対してユーザー・アクセスが検証されます。
- 所有者パーミッション(ファイルまたはディレクトリーの所有者名が認証されたユーザーのユーザー名に等しい場合)。
- グループ・パーミッション(ファイルまたはディレクトリーのグループが認証されたユーザーのグループに属している場合)。グループはデータベースのユーザー・ロール名からマップされます。
- その他のパーミッション(上記の条件に該当しない場合)
DSEFSコマンドごとに独自のパーミッション・セットが必要です。パスa/b/cが指定された場合、cがリーフ、a/bが親パスです。以下の表は、特定の操作に成功するために必要なパーミッションを示しています。Rは「読み取り」、Wは「書き込み」、Xは「実行」の権限をそれぞれ示します。
コマンド | パーミッションを確認するパス | 親パス・パーミッション | リーフ・パーミッション |
---|---|---|---|
append a/b/c |
a/b/c |
X | W |
cat a/b/c |
a/b/c |
X | R |
cd a/b/c |
a/b/c |
X | |
chgrp |
グループについてchown と同様 |
||
chmod a/b/c |
a/b/c |
X | ユーザーは所有者でなければなりません。 |
chown a/b/c |
a/b/c |
X | スーパーユーザーのみが所有者を変更できます。グループを変更するには、ユーザーがターゲット・グループのメンバーかスーパーユーザーである必要があります。 |
cp |
put ではなく、get と同様 |
||
expand a/?/c |
a/?/c |
X | X |
get a/b/c |
a/b/c |
X | R |
ls a/b/c |
a/b/c |
X | RX(c がディレクトリーの場合)。 |
mkdir a/b/c |
a/b |
X | WX |
mv a/b/c d/e/f |
a/b およびd/e |
X | WX |
put a/b/c |
a/b |
X | WX |
realpath a/b/c |
a/b/c |
X | |
rename a/b/c d |
a/b |
X | WX |
rm a/b/c |
a/b |
X | WX |
rmdir a/b/c |
a/b |
X | WX |
stat a/b/c |
a/b/c |
X | |
truncate a/b/c |
a/b/c |
X | W |
権限管理移行モード
DSEFS権限管理は、DSEAuthorizer
から提供される移行モードをサポートしています。TransitionalAuthorizer
などのレガシー・オーソライザーはサポートされていません。サポートされていないオーソライザーが構成されていて、エラーがログ・メッセージに報告されると、DSEは起動しません。