前書き
2012 年頃に必要にかられて、でっち上げたスクリプト。
ちょっと捨てるには勿体無いけん、張って置くw
恐らく samba3 -> 4 に試験移行してた頃、頻繁にユーザの追加削除が有ったからこういうスクリプト書いてたのかと、当時を懐かしんでしまう程のヘボ作w
どんなんじゃ?
FreeBSD 上のアカウントをでっち上げて(グループ固定w)
同名のsambaアカウントも作って有効化するまでのスクリプトで、スタティックリンクで userdel.sh を作って実行すると、でっち上げたアカウントを削除する、素敵な仕様となっちょります✌
コメントアウトしている箇所は samba3 のコマンドで標準では samba4 に対応する。
このスクリプトは 0条項BSDライセンス
昨今は AD なりで一元監視されちゃるけん、こういうスタンドアロンでちまちま利用者登録する事も無くなりよったが、個人宅のサーバ立てて楽しむときには便利なスクリプトかもしれんのぉ😊
じゃけ、良しなに改編して再配布しても文句は言いませんYo
そのままでも動くが、ports や package の標準とされているディレクトリにコマンドが居なかったりすると機嫌を損なう恐れがありますw
useradd.sh
#!/bin/sh
CRUNCH=`basename $0`
USERNAME=$1
PASSWORD=$2
if [ ! "$USERNAME" ]; then
echo $CRUNCH" SAMBA User add and del Tools"
echo "Usage: "$CRUNCH" NEW-USERNAME <PASSWORD>"
exit
fi
CREATE()
{
echo "--Adduser "$USERNAME
/usr/sbin/pw adduser -n$USERNAME -gsamba -c$USERNAME -s/usr/sbin/nologin -d/nonexistent
if [ ! "$PASSWORD" ]; then
PASSWORD=$USERNAME
fi
# /usr/bin/printf "$PASSWORD\n$PASSWORD\n" | /usr/local/bin/smbpasswd -a -s $USERNAME
/usr/bin/printf "$PASSWORD\n$PASSWORD\n" | /usr/local/bin/pdbedit --create --user=$USERNAME --group=samba --password-from-stdin
}
DESTROY()
{
echo "--Deleteuser "$USERNAME
# /usr/local/bin/smbpasswd -x $USERNAME
/usr/local/bin/pdbedit --delete --user=$USERNAME
/usr/sbin/pw deluser -n$USERNAME
}
case $CRUNCH in
useradd*)
CREATE
;;
userdel*)
DESTROY
;;
*)
echo The shell script file name is invalid.
;;
esac
exit
最後に
他の OS で動くか知らんよ✌