window访问ubuntu共享的samba文件夹没有写/修改/删除权限!!!

【问题点】搭好了samba服务器准备来骚操作一波,却发现在写文件时提示权限不足(如下图)

Ubuntu搭建Samba服务器详细步骤请双击!!!
在这里插入图片描述

【解决思路】思来想去,怀疑是否是smb.conf里面对文件操作权限没有打开写权限,于是乎打开配置文件一看,我可给的是最高权限了(0777),但为啥Windows就是没有写权限了,一顿猛操作后还是先问问度娘吧,度娘说可能是SElinux(防火墙)导致没有权限使用网络资源,于是我尝试着步骤去关闭,却发现我的Ubuntu系统根本就没有安装这个命令,也显然不是这个问题引起。

qiuhui@ubuntu:~/work$ setenforce 0
The program 'setenforce' is currently not installed. You can install it by typing:
sudo apt install selinux-utils
qiuhui@ubuntu:~/work$

后面才发现共享出去的文件夹只给了读权限:

qiuhui@ubuntu:~/work$ sudo ls -ld /home/qiuhui/work/share/*
-r--r--r-- 1 qiuhui qiuhui     0 Dec 29 17:04 /home/qiuhui/work/share/sss
dr--r--r-- 2 qiuhui qiuhui  4096 Dec 29 19:51 /home/qiuhui/work/share/Untitled Folder
dr--r--r-- 2 nobody nogroup 4096 Dec 29 19:17 /home/qiuhui/work/share/新建文件夹
dr--r--r-- 2 qiuhui qiuhui  4096 Dec 29 21:04 /home/qiuhui/work/share/新建文件夹 (2)
dr--r--r-- 2 qiuhui qiuhui  4096 Dec 29 21:07 /home/qiuhui/work/share/新建文件夹 (3)
qiuhui@ubuntu:~/work$ 

赋予共享文件夹写权限后就可以在Windows下任意修改了

qiuhui@ubuntu:~/work$ sudo chmod 777 /home/qiuhui/work/share/ -R
### 解决 Windows 系统通过 Samba 访问 Linux 文件夹权限问题 为了使 Windows 用户能够成功获取对 Samba 共享文件夹权限,需确保两个方面都已妥善处理: #### 一、修改 `/etc/samba/smb.conf` 中共享部分配置项 对于特定共享目录,在 `[SambaSharedFolder]` 下应设置 `writable = yes` 和 `create mask = 0775` 来允许创建新文件并赋予适当权限[^3]。 ```ini [SambaSharedFolder] comment = Network Shared Folder by Samba Server on Ubuntu path = /home/qinxk8/SambaSharedFolder valid users = @users, root ; 指定哪些用户有访问权 write list = @users ; 明确指出谁拥有的权利 force create mode = 0664 ; 新建文件默认权限模式 directory mask = 0775 ; 创建的新目录默认权限模式 public = no ; 不公开此分享给所有人 browseable = yes ; 浏览网络邻居可见 read only = no ; 设置为读/而非只读 ``` #### 二、调整 Linux 主机上的本地磁盘权限结构 除了上述 SMB 配置外,还需保证实际存储数据的位置具有足够的 Unix/Linux 文件系统级权限。假设共享位置位于 `/home/qinxk8/SambaSharedFolder` ,则可通过如下命令来设定合适的属组关系以及相应的 rwx 属性: ```bash sudo chown -R qinxk8:users /home/qinxk8/SambaSharedFolder/ sudo chmod -R g+rws /home/qinxk8/SambaSharedFolder/ ``` 这里 `-R` 参数表示递归应用更改;`g+rws` 表示给予所属组成员读取(`r`)、入(`w`)和执行(`x`)的权利,并启用 setgid 位使得新建子项目继承父目录相同的 group ownership[^1]。 完成以上两步之后重启 Samba 服务以加载新的配置: ```bash sudo systemctl restart smbd.service ``` 最后建议运行测试工具验证配置的有效性: ```bash testparm -s ``` 如果一切正常,则 Windows 应该能顺利连接至指定路径下的资源并且具备完整的读能力了。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值