web-dev-qa-db-ja.com

FreeBSDは、新しいユーザーが作成されたときに特定のタスクを実行します

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を使用してこれを行うにはどうすればよいですか?

2
kundev

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
2
kundev