创建samba共享文件夹脚本

原创 2016年08月29日 11:22:34

创建samba共享文件夹的脚本,也可以删除创建的samba共享文件夹。创建时输入参数为用户名和密码;删除时为用户名。


#!/bin/sh

DATA_FOLDER_PATH=/var/cache/share_folder
SMB_CONFIG=/etc/samba/smb.conf

# 检查参数个数
if [ $# -ne 2 ] && [ $# -ne 3 ] ; then
	echo "ERROR:parameters number is $# !"
	echo "usage: $0 [add/del] username password"
	exit 1
fi

add_system_user()
{
	useradd $1
}

del_system_user()
{
	userdel $1
	rm -rf /home/$1
}

add_smb_user()
{
	smbpasswd -a $1 -s <<EOF
$2
$2
EOF
}

del_smb_user()
{
	smbpasswd -x $1
}

add_smb_config()
{
	mkdir -p $2
	chown $1:$1 $2

	echo "[$1]" 								>> $SMB_CONFIG
	echo "comment = private homework"			>> $SMB_CONFIG
	echo "path = $2" 							>> $SMB_CONFIG
	echo "browseable = no"						>> $SMB_CONFIG
	echo "public = no"							>> $SMB_CONFIG
	echo "printable = no"						>> $SMB_CONFIG
	echo "writable = yes"						>> $SMB_CONFIG
	echo "write list = $1"						>> $SMB_CONFIG
}

del_smb_config()
{
	if [ -d "$DATA_FOLDER_PATH/$user_name" ];then
		rm -rf $DATA_FOLDER_PATH/$user_name
	fi

	start=`sed -n "/\[$1\]/=" $SMB_CONFIG`
	end=$(($start+7))
	if [ -z "$start" ] || [ -z "$end" ];then
		echo "Not found line."
		exit 0
	fi

	sed -i "${start},${end}d" $SMB_CONFIG
}

option=$1
user_name=$2
password=$3

add_samba_user()
{
	if [ ! -d $DATA_FOLDER_PATH ]; then
		mkdir -p $DATA_FOLDER_PATH
	fi
	
	if [ -d "$DATA_FOLDER_PATH/$user_name" ];then
		echo "Student data folder $DATA_FOLDER_PATH/$user_name exist"
		exit 0
	fi
	
	add_system_user $user_name
	add_smb_user $user_name $password
	add_smb_config	$user_name $DATA_FOLDER_PATH/$user_name
	service smb restart
}

del_samba_user()
{
	del_system_user $user_name
	del_smb_user $user_name
	del_smb_config	$user_name $DATA_FOLDER_PATH/$user_name
	service smb restart
}

case "$option" in
	"add")
	add_samba_user $1
	;;
	"del")
	del_samba_user $1
	;;
	*) echo "parameters error!"
	;;
esac

exit 0


一个linux samba添加用户的脚本

addsambuser.bash 以下为内容,执行会提示输入参数 #!/usr/bin/env bash mkdir -p /Share/$1 chown $1:$1 /Share/$1 c...

使用脚本增加samba用户,smbpasswd -a user

1,增加一个文件/mnt/live/smbpasswd.txt用于写密码 ###smbpasswd.txt 123 123 ##end 上面的文件要重复两次密码,是在...

shell 脚本增加smb用户及密码

(echo 123;echo 123) | smbpasswd -s -a  mysql echo -e "123\n123" | smbpasswd -s -a  mysql...
  • llnara
  • llnara
  • 2014年01月07日 17:24
  • 2425

Linux使用技巧2--Ubuntu下使用samba来创建共享文件夹

samba,连接Unix阵营和Windows系统的桥梁。在类Unix系统中安装samba服务端,让windows系统像访问共享文件夹一样访问类Unix系统中的指定文件夹。 samba,桑巴舞蹈也是它呢...

Linux(Ubuntu版本)下配置samba实现文件夹共享的方法:

虽然有很多这方面的资料,但是都存在很大的缺陷,要不就是太过于简单,要不就是存在错误。自己亲身实践过的,遇到的问题也附有相应的解决方法。 首先需要先安装samba: A、 sudo apt-get i...

samba配置window共享文件夹

在Ubuntu安装好samba,具体步骤为: 安装samba:sudo apt-get install samba 安装smbclient:sudo apt-get install...

ubuntu14.10配置samba实现与windows共享文件夹

因为实验室给赔了一台机子,所以有两台,一台装ubuntu14.10,一台装win8 因为考虑到有时候需要传递文件,用u盘来拷就太麻烦了 所以学习了下samba配置实现共享 具体步骤如下: 俗话说的好巧...

在Ubuntu中设置samba共享可读写文件夹

转自:http://forum.ubuntu.org.cn/viewtopic.php?t=20852,感谢作者辛苦分享 首先当然是要安装samba了,呵呵:  代码: su...

ubuntu与windows共享文件夹(samba)

配置一、安装smb执行命令行:    #sudo apt-get install samba    #sudo apt-get install smbfs二、添加准备共享的文件夹。有如下三种配置共享文...
  • tangy110
  • tangy110
  • 2011年04月28日 10:18
  • 17945
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:创建samba共享文件夹脚本
举报原因:
原因补充:

(最多只允许输入30个字)