web-dev-qa-db-ja.com

Kerberos化されたNFSホームディレクトリをマウントするためのセットアップ-gssdが有効なKerberosチケットを見つけられない

ホームディレクトリは、Kerberos化されたnfsを介してエクスポートされるため、ユーザーがホームをマウントするには有効なKerberosチケットが必要です。このセットアップは、既存のクライアントとサーバーで正常に機能します。

次に、11.10クライアントを追加し、pam_mountとともにldapとkerberosをセットアップします。 LDAP認証は機能し、ユーザーはsshを介してログインできますが、ホームをマウントすることはできません。

Pam_mountがルートとしてマウントするように構成されている場合、gssdは有効なkerberosチケットを見つけられず、マウントは失敗します。

Nov 22 17:34:26 zelda rpc.gssd[929]: handle_gssd_upcall: 'mech=krb5 uid=0 enctypes=18,17,16,23,3,1,2 '
Nov 22 17:34:26 zelda rpc.gssd[929]: handling krb5 upcall (/var/lib/nfs/rpc_pipefs/nfs/clnt2)
Nov 22 17:34:26 zelda rpc.gssd[929]: process_krb5_upcall: service is '<null>'
Nov 22 17:34:26 zelda rpc.gssd[929]: getting credentials for client with uid 0 for server purple.physcip.uni-stuttgart.de
Nov 22 17:34:26 zelda rpc.gssd[929]: CC file '/tmp/krb5cc_65678_Ku2226' being considered, with preferred realm 'PURPLE.PHYSCIP.UNI-STUTTGART.DE'
Nov 22 17:34:26 zelda rpc.gssd[929]: CC file '/tmp/krb5cc_65678_Ku2226' owned by 65678, not 0
Nov 22 17:34:26 zelda rpc.gssd[929]: WARNING: Failed to create krb5 context for user with uid 0 for server purple.physcip.uni-stuttgart.de
Nov 22 17:34:26 zelda rpc.gssd[929]: doing error downfall

一方、pam_mountがnoroot = 1オプションで構成されている場合、ボリュームをまったくマウントできません。

Nov 22 17:33:58 zelda sshd[2226]: pam_krb5(sshd:auth): user phy65678 authenticated as [email protected]
Nov 22 17:33:58 zelda sshd[2226]: Accepted password for phy65678 from 129.69.74.20 port 51875 ssh2
Nov 22 17:33:58 zelda sshd[2226]: pam_unix(sshd:session): session opened for user phy65678 by (uid=0)
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(mount.c:69): Messages from underlying mount program:
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(mount.c:73): mount: only root can do that
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(pam_mount.c:521): mount of /Volumes/home/phy65678 failed

では、特定のグループのユーザーにnfsマウントの実行を許可するにはどうすればよいでしょうか?これが機能しない場合、pam_mountにrootを使用させ、正しいuidを渡すことができますか?

17
jan bernlöhr

このスレッドを参照してください:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=190267

Fstabに「ユーザー」オプションがない場合、rootのみがボリュームをマウントできます。 mount.cには、すべてのユーザーがマウントコマンドを実行可能にすることに関するコメントがありますが、メンテナーによって拒否されました(コメントはセキュリティへの影響について述べていますが、より具体的ではありません)。

元のアップストリームとは対照的に、Debianバージョンのlibpam-mountは、rootではなくuseruidでマウントコマンドを実行します。 rootとしてユーザー指定のマウントを行うことはセキュリティホールです。その後、すべてのユーザーがログイン時にボリュームを/ usrまたは/ tmpにマウントしたり、ログアウト時に他のボリュームをアンマウントしたりできます。

または言い換えると、libpam-mountはユーザーができることだけを実行でき、それ以上は実行できません。

だから、何か提案はありますか?

ユーザーエントリをfstabに配置する必要があります。これがどのように機能するか教えてください。他のファイルシステム(ncp、smb)には、smbmountやncpmountなどのユーザーが呼び出し可能なマウントバイナリがあることに注意してください。ループバックマウントの場合、このようなものはないようです:/