3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(Linux)ActiveDirectoryと連携時に自動的にログインユーザ権限でWindows共有フォルダをマウントする

(Linux)ログイン時にActiveDirectoryのユーザ名・パスワードで認証できるようにするで、Linux認証をドメインユーザでできるようにしました。

今回は、この状態に加え、ログインしたドメインユーザのアクセス権で、Windowsのファイルサーバをマウントするための方法です。

通常のWindows共有フォルダのマウントなら下記のようにmountコマンドでできます。

mount -t cifs -o username=ドメインユーザ名,password=パスワード,domain=ドメイン名,iocharset=utf8 //サーバ名/共有フォルダ名 /マウント先

また、OS起動時にマウントするようにするには下記のように、/etc/fstab ファイルに追記します。

//サーバ名/共有フォルダ名 /マウント先 cifs username=ドメインユーザ名,passwordパスワード,domain=ドメイン名,iocharset=utf8,rw,file_mode=0555,dir_mode=0555 0 0

fstabファイルを使うようにすると、共有フォルダにアクセスするユーザが必ず固定になってしまいます。

ログイン後に、mount コマンドでパスワードを手入力さす方法もありますが(passwordオプションを指定しないと手入力になる)、ユーザからすると不便です。

Windowsのように、OSログイン時の権限で自動的に共有フォルダをマウントするようにしたいのが目的です。

いろいろ調査した結果、pam-mountを使うと可能なことが分かりました。

評価したLinuxUbuntu 系の軽量の EcoLinux 10.04 です。

既にSamba + Winbind で ActiveDirectoryと連携できていることを前提とします。

まずパッケージをインストールします。

# apt-get install libpam-mount

# apt-get install smbfs

今回入れたパッケージのバージョンは下記のとおりでした。

smbfs 2:3.4.7~dfsg-1ubuntu3.2

ibpam-mount 1.32-2

次に、pam_mountの設定ファイルにマウントの設定を記述します。

# vi /etc/security/pam_mount.conf.xml

の下に下記のようにマウントの定義を書きます。

server="dfssv01" path="nas" mountpoint="/mnt/dfs"

options="iocharset=utf8,dir_mode=0700,file_mode=0600">

root

information

後は下記のpam設定ファイルに、pam_mountを使うよう設定を追記します。

# vi /etc/pam.d/common-auth

auth optional pam_mount.so try_first_pass

↑追記

# vi /etc/pam.d/common-session

session optional pam_mount.so

↑追記

これで再起動して、ドメインユーザでログインすると見事にそのユーザ権限でマウントされています。

今回はDFSをマウントしたんですが、Windowsサーバ側でDFSを使っているとDFSルートをマウントするだけでいいので楽ですね。

参考:

(3)ユーザーホームをマウントするように設定する(2010/9/10) 今回はなかなか情報が少なかったので、このサイトは非常に助かりました。

pam_mountを使ったログイン時における暗号化ファイルシステムの自動マウント - SourceForge.JP Magazine : オープンソースの話題満載