teketeke_55の日記

技術メモとか

Active Directoryユーザーログインとhomeディレクトリ作成とuserquotaを連携

Active DirectoryとCIFSの初期設定が完了していることが前提

CIFS共有領域にユーザーがアクセスした時にアクセスしたユーザー名でディレクトリを作成しつつ
ZFSのuserquota機能でユーザーごとの容量制限を行う。
ZFSのuserquotaはZFS バージョン5、zpool バージョン15からサポートされているようだ。

CIFSの準備

「Services」→「CIFS」のスパナアイコンをクリックして設定をする

「Homes auxiliary parameters」に以下の文言を追加する。

root preexec = /mnt/vol01/mkdir.sh %D %U

上記はCIFS共有領域にユーザーがアクセスした時に実行される。
スクリプトは実行権限を付けてFreeNASサーバの任意の場所置いておく。

mkdir.shの中身

 #!/bin/bash

 if [ ! -d /mnt/vol01/personal/$1/$2 ]; then
        mkdir /mnt/vol01/personal/$1/$2
        chmod g+s /mnt/vol01/personal/$1/$2
        chown $2:"domain users" /mnt/vol01/personal/$1/$2
        chmod 750 /mnt/vol01/personal/$1/$2
        zfs set userquota@$2=1g vol01/personal # zfs コマンドでuserquotaを設定
 fi
 exit 0

確認

windowsマシンから共有領域にアクセスすると上記で設定したディレクトリが見えているはず。
サーバにログインしてquota状況も見てみる。

 # zfs userspace vol01/personal
 TYPE        NAME       USED  QUOTA
 POSIX User  root      4.50K   none
 POSIX User  user1      34K     1G

うまく動いていれば先ほどログインしたユーザー名でquotaが設定される。

  • 参考文献

http://damedame.monyo.com/?date=20110220
http://ppona.com/gpl/iodata/usl-5p/USLSRC100/daemon/samba/040924/samba-2.2.11-ja-1.0/docs/ja/htmldocs/using_samba/ch06_06.html
http://docs.oracle.com/cd/E24845_01/html/819-6260/gazvb.html#scrolltoc