SAMBA简单应用
首先: 做一个共享目录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测试你所做的是否正确.
加强配置
hosts deny = 192.168.0.
hosts allow = 192.168.0.24 表示允许192.168.0.24这个IP地址访问
hosts deny = .sale.com .net free 表示禁止.sale.com域和.net域及主机名为free的客户端访问public这个共享目录。中间用空格分开。
browseable = no表示隐藏该目录,直接输入文件夹路径还是可以看到
配置用户独立配置文件
cp smb.conf smb.conf.bose
编辑smb.conf ,在[global]中加入 config file = /etc/samba/smb.conf.%U,表示samba服务器读取/etc/samba/smb.conf.%U文件,其中%U代表当前登录用户。命名规范与独立配置文件匹配
编辑boss帐号的独立配置文件smb.conf.boss,将tech目录里面的browseable = no删除,这样当boss帐号访问samba时,tech共享目录对boss帐号访问就是可见滴,这样主配置文件smb.conf和boss帐号的独立配置文件相搭配就有实现其他用户访问时tech共享目录是隐藏滴,而boss帐号访问时就是可见滴。
帐号映射
username map = /etc/samba/smbusers开启用户帐号映射功能。
编辑/etc/samba/smbusers
smbusers文件保存帐号映射关系,其有固定滴格式:
samba帐号 = 虚拟帐号(映射帐号)