ubuntu 添加samba账户脚本,sudo权限执行
·
#!/bin/bash
# 检查是否以root权限运行
if [ "$EUID" -ne 0 ]; then
echo "请使用sudo运行此脚本"
exit 1
fi
# 检查是否提供用户名参数
if [ $# -ne 1 ]; then
echo "使用方法: $0 用户名"
echo "例如: $0 newuser"
exit 1
fi
# 设置变量
USERNAME=$1
SAMBA_PATH="/home/samba/$USERNAME"
echo "开始创建用户 $USERNAME ..."
# 创建系统用户
useradd $USERNAME
if [ $? -ne 0 ]; then
echo "创建系统用户失败"
exit 1
fi
# 设置系统用户密码
echo "请设置系统用户 $USERNAME 的密码:"
passwd $USERNAME
# 创建samba目录
mkdir -p $SAMBA_PATH
# 添加到hardware组
usermod -aG hardware $USERNAME
# 设置目录权限
chmod 755 $SAMBA_PATH
chown $USERNAME:hardware $SAMBA_PATH
# 创建samba用户
echo "请设置Samba用户 $USERNAME 的密码:"
smbpasswd -a $USERNAME
# 添加到smb.conf
cat >> /etc/samba/smb.conf << EOF
[$USERNAME]
comment = $USERNAME
path = $SAMBA_PATH
browseable = yes
read only = yes
valid users = @hardware
write list = $USERNAME
create mask = 0644
directory mask = 0755
EOF
# 检查配置
echo "检查Samba配置..."
testparm -s
# 重启Samba服务
echo "重启Samba服务..."
systemctl restart smbd
systemctl restart nmbd
# 验证设置
echo "验证设置..."
echo "Hardware组成员:"
getent group hardware
echo "目录权限:"
ls -l $SAMBA_PATH
echo "用户 $USERNAME 创建完成!"
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)