複数のユーザーに対してCIFSマウントポイントのアクセス制御を有効にする方法は?

複数のユーザーに対してCIFSマウントポイントのアクセス制御を有効にする方法は?

複数のユーザーで構成されたSambaサーバーがあります。

デフォルトでは、cifs共有は、マウント時に提供された資格情報のみを使用してマウントされます。マウントポイントへのアクセス権を持つ人は誰でも、資格情報を使用しているユーザーとしてファイルにアクセスできます。

ユーザーがマウントポイントにアクセスするときに自分の資格情報を自動的に使用するようにクライアントを構成する方法を探しています。

ログインユーザー名とパスワードは、Sambaサーバーへのアクセスに使用されたものと同じです。

答え1

そしてmultiuserマウントオプションを使用すると、ユーザーは自分の資格情報を使用してマウントポイントにアクセスします。ただし、これにはユーザーが共有にアクセスするときにマウントを使用できる必要があり、共有をマウントするにはクライアントに有効な資格情報が必要です(サーバーが匿名(ゲスト)アクセスを許可しない場合)。

pam_cifscredsCIFS共有にアクセスするために使用されるログインパスワードをキャッシュするために使用できます。または、ユーザーが使用できますcifscredsパスワードを入力してください。どちらの場合も、pam_keyinit.soログイン時にセッションキーリングが確立されるように、pamセッション構成でそれを使用する必要があります。

Debian ベースのシステムでは、次の設定を追加すると動作します。

/etc/pam.d/common-session(IPアドレスまたはホスト名に置き換えます{SAMBA_SERVER}):

session required    pam_keyinit.so
session optional    pam_cifscreds.so host={SAMBA_SERVER}

/etc/pam.d/common-auth:

auth    optional            pam_cifscreds.so

答え2

  1. yum install pam_cifscreds

(CentOS> = 8のみ。7では使用できません)

  1. ファイルの編集/etc/pam.d/:

RHEL ドキュメントをご覧ください。https://access.redhat.com/solutions/3805741(アクセスするには無料の開発者アカウントを開設してください)。上記のように変更した後は、サービスを再起動する必要はありません。次回ログインすると自動的に適用されます。

  1. 次のオプションを使用してルートとしてマウントしますmultiuser

mount -t cifs -o ユーザー名=abc123,vers=1.0,noperm,multiuser,sec=ntlmssp //example.org/hello /mnt/hello

  1. SSH経由でroot以外のユーザーとしてログインします。キーペアを使用しないでください。パスワードが必要です。ログインしたら、パスワードが自動的にキャッシュされていることを確認してくださいpam_cifscreds
$ keyctl show
Session Keyring
 804802868 --alswrv  4414294 100001  keyring: _ses
 775789538 --alswrv  4414294 65534   \_ keyring: _uid.4414294
 844620914 ----sw-v      0     0   \_ logon: cifs:a:example.org

最後はキャッシュされますpam_cifscreds

  1. これで訪問がls /mnt/helloスムーズになりました。

  2. GUIログイン時のパスワードキャッシングの詳細については、以下を参照してください。セバスのソリューション

(CentOS 9で回答を確認しました)

関連情報