奇妙な Samba ユーザー名マッピング

奇妙な Samba ユーザー名マッピング

Samba とユーザー名マップに関して非常に奇妙な問題が発生しています。マッピング ファイルは次のようになります。

username map = /etc/samba/users.map

/etc/samba/users.map の内容:

master = johndoe user2 user3
regular = johndoe user5 user6
restricted = johndoe user8 user9

問題は、Samba が常にファイルjohndoeにリストされている最後のローカル ユーザーにマップすることです/etc/samba/users.map。上記の例では、はjohndoe常に にマップされるrestrictedため、 のみを許可する共有masterと のみを許可する別の共有がある場合restricted、 が両方のエントリにリストされていても、両方にアクセスすることはできませんjohndoe

これは正常な動作でしょうか?

答え1

正解です。これは意図的なものです。ドキュメント:

マップ ファイルは行ごとに解析されます。各行の左側には 1 つの UNIX ユーザー名、右側には '=' とユーザー名のリストが続きます。右側のユーザー名のリストには、@group 形式の名前を含めることができます。この場合、そのグループ内の任意の UNIX ユーザー名と一致します。特別なクライアント名 '*' はワイルドカードであり、任意の名前と一致します。マップ ファイルの各行は、最大 1023 文字までです。

ファイルは、指定されたユーザー名を取得し、それを「=」記号の右側にある各ユーザー名と比較することによって、各行で処理されます。指定された名前が右側の名前のいずれかと一致する場合、左側の名前に置き換えられます。その後、処理は次の行に続行されます。

その結果、同じユーザー アカウントが複数の行に表示される場合、それらのアカウントはすべてのマップに含まれるのではなく、最後に定義されたマップに含まれます。

「スーパーユーザー」を持つことが目標なら、次の点を検討する必要があるかもしれません。共有固有のリストまたはマッピングアカウントグループユーザーではなく。

関連情報