Ubuntu共享文件夹权限设置

在Ubuntu中设置共享文件夹的权限(只读、读写、无权限),主要通过两种方式实现:‌文件系统权限‌和‌Samba共享配置‌。以下是详细步骤:

‌一、文件系统权限设置(基础权限)‌
1. ‌修改文件夹所有权和权限‌

① 创建共享目录(示例)

sudo mkdir /mnt/shared

创建新系统用户

sudo adduser 共享用户名 # 创建新系统用户

#或者

sudo useradd -M -s /usr/sbin/nologin 共享用户名 # 创建无登录权限的用户

③ 设置Samba专属密码

先安装Samba‌

sudo apt update

sudo apt install samba

sudo smbpasswd -a 共享用户名 # 设置独立于系统密码的Samba访问密码

④添加用户到用户组(如组名为 "sharegroup")

sudo groupadd sharegroup

sudo usermod -aG sharegroup 用户名 # 将需要访问的用户加入组

⑤修改文件夹所属组

sudo chgrp -R sharegroup /mnt/shared

⑥设置权限:

# 读写权限:组用户可读写

sudo chmod -R 775 /mnt/shared # 所有者和组可读写,其他人只读

# 或

sudo chmod -R 770 /mnt/shared # 仅所有者和组可读写

# 只读权限:组用户只读

sudo chmod -R 750 /mnt/shared # 所有者读写,组只读

# 或

sudo chmod -R 755 /mnt/shared # 所有者读写,组和其他人只读

# 无权限:拒绝特定用户访问

sudo chmod -R 750 /mnt/shared # 仅所有者和组可访问(拒绝其他用户)

2. ‌验证权限‌

ls -ld /mnt/shared # 输出示例:drwxr-xr-x 表示其他人只读


‌二、Samba共享设置(网络共享权限)‌
1. 编辑Samba配置文件‌

sudo nano /etc/samba/smb.conf

在文件末尾添加以下配置(根据需求选择一种):

读写权限配置‌:

[Shared]

path = /mnt/shared

browseable = yes

writable = yes # 允许写入

valid users = @sharegroup # 允许访问的用户组

create mask = 0775 # 新建文件权限

directory mask = 0775 # 新建目录权限

只读权限配置‌:

[Shared]

path = /mnt/shared

browseable = yes

read only = yes # 设置为只读

valid users = @sharegroup

‌无权限配置‌(拒绝访问):

[Shared]

path = /mnt/shared

browseable = no # 隐藏共享

guest ok = no # 禁止来宾访问

valid users = 特定用户名 # 只允许特定用户(不包含拒绝的用户)

2. ‌重启Samba服务‌

sudo systemctl restart smbd nmbd


‌三、权限组合说明‌
权限类型 文件系统命令 Samba配置关键项
‌读写‌ chmod 775chmod 770 writable = yes
‌只读‌ chmod 750chmod 755 read only = yes
‌无权限‌ 不添加用户组 + chmod 750 不添加用户到 valid users

权限对照表

权限类型 关键配置项 生效场景
读写 writable = yes Samba共享
只读 read only = yes Samba共享
无权限 不在valid users列表中 所有共享类型

‌四、验证权限生效‌

‌本地验证‌:

# 尝试用不同用户创建文件

  1. sudo -u 用户名 touch /mnt/shared/test.txt

    • 成功:读写权限有效

    • 失败:检查用户组和文件权限

  2. ‌网络共享验证‌:

    • 从另一台电脑访问共享:

      smb://ubuntu_ip/Shared

    • 输入已授权的Samba用户密码测试读写操作。


‌五、高级权限控制‌

‌精细控制‌:使用ACL(访问控制列表)细化权限:

sudo apt install acl

sudo setfacl -m g:sharegroup:rwx /mnt/shared # 赋予组读写执行

sudo setfacl -m g:readonlygroup:r-x /mnt/shared # 只读组

匿名访问‌(慎用):

在Samba配置中添加:

guest ok = yes

public = yes

核心原则‌:

  1. 文件系统权限控制本地访问。

  2. Samba配置控制网络访问。

  3. 两者需配合使用以确保安全。

相关推荐
zhangrelay16 分钟前
三分钟云课实践速通--单片机原理与应用--Arduino--SimulIDE--
linux·单片机·嵌入式硬件·学习·ubuntu
孪生质数-1 小时前
Linux高危漏洞通报Copy Fail - CVE-2026-31431
linux·运维·服务器·ubuntu·网络安全·debian·cve-2026-31431
nudt_qxx1 小时前
Ubuntu 24.04/26.04 与 Windows 10/11 双系统时间不同步终极解决方案
windows·stm32·ubuntu
一叶龙洲2 小时前
Ubuntu24.04向日葵远程控制
linux·运维·ubuntu
叶 落2 小时前
Ubuntu 通过 Docker 安装 Mysql8
linux·ubuntu·docker
全球通史17 小时前
RDKS100 GPU量化环境配置
ubuntu
嵌入式×边缘AI:打怪升级日志17 小时前
100ASK-T113 Pro 开发板 Bootloader 完全开发指南
linux·ubuntu·bootloader
切糕师学AI20 小时前
Ubuntu 下 Git 完全使用指南
linux·git·ubuntu
老黄编程20 小时前
大型工地实时数据处理与三维重构系统方案
人工智能·ubuntu·信息可视化·重构·入侵检测·大型数据集中处理
05候补工程师21 小时前
【ROS 2 具身智能】Gazebo 仿真避坑指南:从“幽灵机器人”到传感器数据流打通
人工智能·经验分享·笔记·ubuntu·机器人