#!/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 创建完成!"

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐