FreeBSDで adduser(8) を使用して新しいユーザーが作成されるたびに追加のタスクを実行する方法はありますか?
もっと正確に言うと、新しいユーザーごとにディレクトリを作成し、このユーザーを pdbedit(8) でSAMデータベースにマップしたいと思います。
debian/ubunt のようないくつかのLinuxディストリビューションは、この問題を解決するための便利な方法を提供します。 /usr/local/sbin/adduser.local
というスクリプトが存在する場合、新しいユーザーが作成された後に実行されます。
#!/bin/bash
mkdir /srv/samba/$1
chown $1:$2 /srv/samba/$1
chmod 775 /srv/samba/$1
FreeBSDを使用してこれを行うにはどうすればよいですか?
Richard Smiths の提案に従い、 adduser(8) および pdbedit(8) を呼び出す非常に単純なシェルスクリプトで問題を解決しました。対応するディレクトリを作成します。
#!/bin/sh
user=$1
# create user and add to SAM database
adduser $user
pdbedit -a $user
# create private samba directory
mkdir /srv/samba/$user
chown $user:$user /srv/samba/$user
chmod 775 /srv/samba/$user