Ubunt 搭建Samba服务

用户及目录结构管理

创建用户

sudo groupadd fileusers

创建个人目录和用户

sudo mkdir -p /data/dataShare
sudo useradd -d /data/dataShare/xiaoming -g fileusers -s /usr/sbin/nologin xiaoming

规划创建目录结构

sudo mkdir /data/dataShare/xiaoming
sudo mkdir /data/dataSHare/public

设置目录权限

sudo chown xiaoming:fileusers /data/dataShare/xiaoming
sudo chown root:fileusers /data/dataShare/public
sudo chmod 770 /data/dataShare/xiaoming
sudo chmod 770 /data/dataShare/public
sudo chmod g+s /data/dataShare/public
  1. 设置每个用户的所有权赋予相应的用户和fileusers组

  2. 将公共目录的所有权赋予root,但用户组设置为fileusers

  3. 设置每个用户的文件夹权限

  4. 设置公共目录可被其他用户访问

  5. 为公共目录设置SetGid,使其中新建文件的所属组自动继承为fileusers

配置Samba服务

安装Samba

sudo apt update
sudo apt install samba

配置Samba共享

sudo vim /etc/samba/smb.conf
[global]security = userserver min protocol = NT1
[xiaoming]comment = "Xiaoming's Private Folder"path = /data/dataShare/xiaomingvalid users = xiaoming# 建议设置为no,使其在网络上不可见,增加隐私性browseable = nowritable = yesread only = nocreate mask = 0660directory mask = 0770# 配置公共共享目录
[public]comment = Public Shared Folderpath = /data/dataShare/public# 指定允许访问的用户或组(@符号表示组)valid users = @fileusers# 控制共享是否在网络上可见browseable = yeswritable = yesread only = no# 定义新建文件和目录的权限create mask = 0660directory mask = 0770# 确保在公共目录中创建的文件属于fileusers组force group = fileusers

为Samba用户设置登录密码

    sudo smbpasswd -a xiaoming

重启Samba服务并设置开机自启动

    sudo systemctl restart smbdsudo systemctl enable smbd

设置防火墙放行

    sudo ufw allow samba