[redhat] comment = redhat 's files path = /var/redhat public = no valid users = tom @redhat /*设定有效用户为tom或者是redhat组的用户*/ 保存退出,重启smb服务 这里有必要提到samba用户帐户映射这具概念,出于帐号安全考虑,为防止samba 用户通过samba帐号来猜测系统用户的信息,所以,就出现了 samba用户映射,如 ,将上面的tom帐户映射成其他的名称,然后用其他的名称如jack、rhood都可以 登录,其权限及登录密码都与tom一样。 实现帐户映射的方法:先在/etc/samba/smb.conf中的帐户映射服务打开,方法很 简单,找到username map = /etc//samba/smbusers这一行,将其前面的;去掉即 可(linux中;表示关闭,#表示注释,注意与freebsd中的#号概念区别开来),然 后修改/etc/samba/smbusers vi /etc/samba/smbusers 在里面添加一行 tom = jack rhood 保存退出,重启smb服务,然后就可以用jack及rhood登录redhat共享目录,其权 限及登录密码与tom完全一致。5、samba服务器的权限设定我们用一个samba的配置文件的例子来说明这个问题
[redhat] comment = redhat 's files path = /var/redhat public = no valid = tom @redhat /*有效用户*/ write list = tom @redhat /*具有写权限的用户*/ create mask = 0660 /*能够创建文件的权限,这里是660,即rw-rw----权限,即 属主和同组人有可读可写权限*/ Directory mask = 0660 /*对目录的控制权限,这里亦是660权限*/ [补充一下权限方面知识:r=读,八进制中是4 w=写,八进制代码是2 x=执行,八 进制代码是1,在上面的rw-rw----中,9个字符划为三份,前三个字符为文件属主 的权限(即rw-,可读可写),中间三个字符为同组人的权限(rw-,可读可写), 后面则是其他人的权限(---,不可读不可写不可执行),换成八进制,r+w+- =2+1+0=6 ,所以构成了mask = 0660 之类的格式,至于770,775之类的权限,大 家可以自行去想了]6、举例场景:tom和jack为sales组的成员,rhood和joeys是技术部的成员,公司要求组 建samba服务器,每个人都有自己的samba帐户,分别有sales组和tech二个组,各 组成员不得跨组访问,不给成员分配shell 分析后的所需做的工作为:
1、为所有用户建立samba帐号
2、建sales和tech二个组,并为组分配权限
3、为所有成员设定不分配shell
4、将各自的文件共享出来
操作:
groupadd sales /*建组sales*/
groupadd tech
useradd -g sales -s /bin/false tom
/*将tom加入sales组(-g sales),并不分
配shell权限(-s /bin/false) */
useradd -g sales -s /bin/false jack
smbpasswd -a tom
smbpasswd -a jack
useradd -g tech -s /bin/false rhood
useradd -g tech -s /bin/false joeys
smbpasswd -a rhood
smbpasswd -a joeys
mkdir /home/sales /home/tech /*分别为sales和tech建立目录*/
chgrp sales /home/sales /*改变目录的属主*/
chgrp tech /home/tech
chmod 770 /home/sales /*改变目录的权限,为rwxrwx---*/
chmod 770 /hoem/tech
chmod g+s /home/sales /*为目录增加进程属主,
这一操作是为了确保该目录永
远地属于属主*/
chmod g+s /home/tech
ls -ld /home/sales /home/tech /*查看目录的权限*/
然后编辑samba的配置文件,将目录共享出来
vi /etc/samba/smb.conf
先将[global]里的security安全级别设为user
security = share
然后按shift+g到配置文件的末尾设置目录的共享
[sales]
comment = sales
path = /home/sales
public = no
valid users = @sales
write list = @sales
create mask = 0770
directory mask = 0770
[tech]
comment = tech
path = /home/tech
public = no
valid users = @tech
write list = @tech
create mask = 0770
directory mask = 0770
保存退出
用tail -f /etc/samba/smb.conf
上一页 [1] [2] [3] 下一页
来确认一下刚才修改的配置
确认正确,然后重启smb服务
service smb restart
(出处:http://www.sheup.com)