sudo コール全体で kerberos チケットを保存

sudo コール全体で kerberos チケットを保存

通常のLinuxボックスでsudo -s通常のユーザーとして使用するとルートになりますHOMEが、~userそれでもポイントenv_resetですalways_set_home

ホームディレクトリがAFSファイルシステムにあるシステムでは、KRB5CCNAMEルートが/tmp

ただし、sudoこれらのシステムでルート以外のローカルユーザー(サービス専用ユーザーなど)を変更すると、新しいユーザーはKerberosキャッシュにアクセスできません。モード600があります)。ただし、これにより、unset KRB5CCNAME && kinit user && aklog && exec bash自分の環境に再びアクセスできます。

だから質問は:sudoが以前に持っていたkerberosチケットを取得し、新しいユーザーのkerberosチケットキャッシュに追加するためのきちんとした方法はありますか?

答え1

私が知っている限り、現在Kerberos PAMモジュールはこの機能をサポートしていないようです。しかし、それがどのように達成できるかはわかります。しかし、それ自体では不可能なものはありません。デフォルトでは、currentが指すチケットキャッシュを開き、それを繰り返し、見つかった各チケットを初期キャッシュが設定された後に新しく作成されたチケットキャッシュにコピーするpam_krb5コードを取得する必要があります。KRB5CCNAME

資格情報をターゲットユーザー(誰も含む)に公開するので、これはデフォルトではなくオプションでなければなりません。その他誰がそのユーザーになることができるか)これは潜在的に危険です。

即時のソリューションが必要ですが、ksu必要がないsudo場合は、 ksu現在Kerberosチケットキャッシュを保存することがすでにサポートされています(少なくともMIT Kerberosバージョンでは)。

関連情報