首先: 做一个共享目录public ,使匿名用户可读,可写。
第一步 编辑samba配置文件 /etc/samba/smb.conf
[global] 全局配置
workgroup = MYHOME ---- 指定工作组
server string = File Server ---- 服务器的说明
security = share ----安全级别: 共分四种
1.share (任何用户都不需要密码,直接可以访问)
2.user 要提供用户名和密码才能访问
3.server 将用户和密码提交到另一服务器验证,如果递交失败,就 退到user安全级。 要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。
[public]
comment = Public Stuff
path = /home/public
public = yes
browseable = yes
writeable = yes
常用参数:
comment : 目录说明
path : 目录路径
public 开放共享 默认为no , 如果=yes 表示无需身份验证
browseable: 显示共享名称。
valid users: 允许列表中的用户访问
read only: 默认为yes,共享目录只读 。
write able: write able =no 与read only = yes 一样的效果
wire list: 如果前面只读,只有在此里面的用户才有写的权利
creat mask: 指定在共享目录里面建立文件的权限, 权限最高只能为 766
directory mask: 指定建立目录的权限
force user: 指定存取的用户张号
force group: 指定用户存取组
然后 建立共享目录,并设定目录的权限
# mkdir /home/public
# chmod 777 /home/public
实例:公司有三个部门分别是: 业务 财务 经理
每个部门假设有2个人员,分别为 yewu01,yewu02 caiwu01,caiwu02 jingli01 jingli02
1 每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,
而其他人不能看到你的宿主目录。
2 建立一个caiwu 的文件夹, 要求对财务组和领导组的可看到, 只有caiwu01有写入的权限 , 其他的不能访问
3 建立一个yewu的文件夹, 要求对业务组可读写, 经理组的可查看.
4 建立一个公司文件共享目录, 要求全部人可查看, 但每个人只能删除自己的文件, 不能删除别人。
第一步 先建立用户的帐号与所属工作组, 建立对应的目录并给目录777的权限
# groupadd caiwu
# groupadd yewu
# groupadd jinli
# useradd caiwu01 -g caiwu
# useradd caiwu02 -g caiwu
# userdel yewu01 -g yewu
# useradd yewu01 -g yewu
# useradd yewu02 -g yewu
# useradd jinli01 -g jinli
# useradd jinli02 -g jinli
# mkdir -p /home/samba/caiwu
# mkdir -p /home/samba/yewu
# mkdir -p /home/samba/public
# chmod 777 -R /home/samba
这里给777的权限,避免后面的因为权限而产生的麻烦.
# 使用smbpasswd -a caiwu01(caiwu02...)将6个用户加到samba用户中.
第二步 设定samba配置文件.
一般主要修改下面几个选项就可以了
#======================= Global Settings=====================================
[global]
workgroup = MYHOME
hosts allow = 192.168.1. (安全设定允许访问的网段, 注释掉意思不加限制允许任意网络访问)
security = user
#============================ Share Definitions ==============================
[homes]
comment = Home Directories
browseable = no
writable = yes
上面是设定每个用户的宿主目录, 一般samba是设定好的,无需更改.
[caiwu]
comment = caiwu directory
path = /home/samba/caiwu
public = no
write list = caiwu01
valid users = @caiwu,@jinli
[yewu]
comment = yewu directory
path = /home/samba/yewu
public = no
write list = @yewu
valid users = @jinli
[public]
comment = Public Stuff
path = /home/samba/public
public = yes
browseable = yes
writeable = yes
完成后记得重起samba
# service smb restart
第三步 设定public的权限, 因为samba的不能做到每个人只能删除自己的文件, 不能删除别人的功能,linux设置目录Sticky bit权限. 目录设定了Sticky的权限,在这个目录下的文件只有root与文件的所有者才能删除, 这样可以实现我们上面第四个要求.
# chmod 1777 /home/samba/public
五 测试
用windows或samba client测试你所做的是否正确.