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 文字までです。
ファイルは、指定されたユーザー名を取得し、それを「=」記号の右側にある各ユーザー名と比較することによって、各行で処理されます。指定された名前が右側の名前のいずれかと一致する場合、左側の名前に置き換えられます。その後、処理は次の行に続行されます。
その結果、同じユーザー アカウントが複数の行に表示される場合、それらのアカウントはすべてのマップに含まれるのではなく、最後に定義されたマップに含まれます。
「スーパーユーザー」を持つことが目標なら、次の点を検討する必要があるかもしれません。共有固有のリストまたはマッピングアカウントグループユーザーではなく。