分享

原创:samba实现不同权限进入不同文件夹

 昵称806630 2018-06-02
要实现的效果:
共享文件夹:user1, user2, user3, group1, group2
1、用户user1属于组group1; 用户user2属于组group1和组group2;用户user3属于组group3
2、用户user1 user2 user3可以各自进入自己的文件夹
3、用户user1 user2可以进入文件夹group1;用户user2 user3可以进入文件夹group2

在根目录下新建文件夹smb文件夹及其下属子文件夹
mkdir /smb
cd /smb
mkdir user1 user2 user3 group1 group2

添加用户组
groupadd group1  group2

添加用户
useradd -s /sbin/nologin -G group1 user1
useradd -s /sbin/nologin -G group1,group2 user2 
useradd -s /sbin/nologin -G group2 user3

变更文件夹的用户和用户组
chown -R user1:user1 user1
chown -R user2:user2 user2 
chown -R user3:user3 user3
chown -R :group1 group1
chown -R :group2 group2

变更文件夹访问权限
chmod 770 -R group1 group2
chmod 700 -R user1 user2 user3

在samba中添加用户
pdbedit -a user1
pdbedit -a user2
pdbedit -a user3

打开samba的配置文件/etc/samba/smb.conf

[global] 部分内容如下:

[global]

        workgroup = WORKGROUP

        server string = Samba Server Version %v

        security = user

        passdb backend = tdbsam

        load printers = yes

        cups options = raw


还需要加入以下内容:
[user1]
        comment = User1
        path = /smb/user1
        valid users = user1
        read only = No

[user2]
        comment = User2
        path = /smb/user2
        valid users = user2
        read only = No

[user3]
        comment = User3
        path = /smb/user3
        valid users = user3
        read only = No

[group1]
        comment = group1
        path = /smb/group1
        valid users = @group1
        read only = No

[group2]
        comment = group2
        path = /smb/group2
        valid users = @group2
        read only = No

重新启动samba服务:
service smb restart 

在windows资源管理器地址栏中输入 \\IP,本例中是\\10.0.0.72 就会弹出如下窗口要求输入网络密码
 


最终效果:
用user1登录后,可以访问 user1和group1; 
用user2登录后,可以访问user2,group1和group2; 
用user3登录后,可以访问user3和group2。
如果登录没有访问权限的文件夹后,还会弹出输入网络密码的窗口。

还有一种应用情形,在实际工作中经常遇到:公司里每一个部门都有以自己部门名称来命名的文件夹,但部门内的每个人都需要有自己的私人文件夹,在不增加共享文件夹数量的情况下,在部门文件夹内部实际只有自己可以访问的文件夹。这样做的好处就是使共享文件夹数量不致于太多而难于管理,同时也不方便查找文件。
拿本例来说:
user1和user2都属于group1这个组,他们都可以访问共享文件夹group1,但是在文件夹group1中用户user2有些文件夹(比如文件夹user2)不想让本组的其他人访问。
这种情况属于共享的问题,而属于文件夹权限的问题。
因些只需要在linux命令行下修改文件夹group1中文件夹user2的用户和用户组以组权限就可以。
chown -R user2:user2 /smb/group1/user2
chmod -R 700 /smb/group1/user2
大多数情况下,这些在一个共享文件夹里的私有文件夹都是由管理员来设置的,用户是无法设置的。
这样设置后,非用户user1访问这个文件时,系统就会有如下提示:
 

更多Linux方面的资料请访问:http://www./bbs/?fromuid=4297

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多