0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

samba でユーザーを追加したり削除したりするお気楽スクリプト

Posted at

前書き

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 で動くか知らんよ✌

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?