共享权限可上传不可删不可改可新建文件夹

本帖最后由 911061873 于 2019-11-2 02:48 编辑

写这篇帖子记录设置的过程及原理,方便大家交流学习,也可以防止我以后忘记。如果有不对的地方欢迎指正。

需求

前一阵给一小公司弄了台电脑,当局域网服务器使用,主要用来做文件服务器,然后客户有个需求,文件所有人只能上传,下载,不能删除,覆盖,更改等写操作。

过程

刚开始用Windows的权限管理
Windows权限设置.png
实现了只能上传下载,不能删除改写,但是可以覆盖。达不到要的效果。
经过漫长的搜索,查阅,终于实现了。

步骤

搜索了好多相关文档,感觉Windows的权限设置达不到我想要的效果(如果有哪位老兄有解决办法,欢迎交流讨论),于是想到了Linux。

1. Linux安装

关于Linux安装我这里不打算多做介绍(网上相关教程太多了,且没有技术含量),如果你没有一丁点的Linux基础,那这个帖子你有可能看不懂。

2. Samba安装

也简单,一行命令搞定。
两个主流的发行版

  • Debian
    sudo apt-get install samba -y
  • Redhat
    sudo yum install samba -y

3. 磁盘挂载

参考linux如何mount挂载磁盘并设置开机自动mount
最终就是在 /etc/fstab 下加一行,这样重启就会自动挂载,
如果分区是NTFS的,要先安装NTFS-3G

sudo apt-get install ntfs-3g

4. Samba配置文件修改

实现思路及原理

把共享的根目录加上 t 标志位,使用户虽然有写权限,但不能删除不属于自己的文件。
然后利用Samba设置,文件上传后自动继承父目录的属主,使其他用户没有写权限,就可以阻止更名、修改、覆盖、删除等写操作。

具体操作

假设我共享的根目录为 /mnt/disk1/

sudo chown root:root /mnt/disk1/ #更改文件夹属主为root
sudo chmod 1777 /mnt/disk1/ #所有人可写,并加t

然后编辑Samba的配置文件

sudo vi /etc/samba/smb.conf

在末尾添加

游客,如果您要查看本帖隐藏内容请回复

上传一个文件时,对父目录有写权限,上传成功。
然后自动更改了文件的属主,实现上传后只读。
这样就实现了想要的效果。

THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发
  • 管埋员

    昵称

  • 取消
    昵称