samba共享服务是linux系统里可以跨平台共享文件的一种服务,在多个不同系统之间创建共享文件。
步骤一:安装服务
1.准备网络环境:2台linux主机,一台为服务器端,另一台为客户端。在服务器端配yum仓库
2. 安装服务
[root@svr5 桌面]#yum -y install samba samba-client
installed: samba.x86_64 0:3.6.9-164.el6
[root@svr5 桌面]# service smb start
启动 smb 服务: [确定]
[root@svr5 桌面]# chkconfig smb on
步骤二:配置共享文件
[root@svr5 samba]# vim/etc/samba/smb.conf
配置文件的一些参数说明:
[global] //全局配置
workgroup = mygroup //工作组名称
security = user //安全级别:share、user、server、domain四个级别
//share:允许匿名用户访问;
//user:用户验证访问;
//server:指定第三方服务器认证;
//domain:域用户验证访问。
[tools] //共享目录名称
comment = test share direstory. //共享目录的描述
path = /usr/src //指定共享路径
public = yes //所有人都可访问
read only = yes //默认的权限为只读
writable = no //写入权限设置
browseable = no //隐藏共享设置
valid users=user1,user2.. .. //user级别下合法访问的用户名
write list= user1,user2.. .. //拥有写入权限的用户
注:以上参数中有冲突的权限只能选择一个
步骤三:客户端验证
1. windows客户端
在资源管理器中输入ip地址,即可访问共享文件
2.linux客户端
[root@pc205 桌面]#smbclient -l //192.168.4.5 //-l查询共享文件列表
enter root's password: //直接按enter键
sharename type comment
--------- ---- -------
tools disk software source //type为disk的即为网络共享文件
[root@pc205 桌面]# smbclient //192.168.4.5/tools //访问共享文件
enter root's password:
domain=[mygroup] os=[unix]server=[samba 3.6.9-164.el6]
server not using user levelsecurity and no password supplied. //这里提示不需要密码
smb: \> //smb开头表示已经入共享目录
smb: \> ls //列出共享文件目录内容
debug d 0 tue jun 28 22:13:01 2011
kernels d 0 tue mar 17 14:01:37 2015
步骤四:user级别下的共享设置
samba共享账号的用户密码是独立的,也就是说一个账号2个密码,一个是登录密码、一个是共享密码。
设置共享密码
[root@svr5 samba]# pdbedit -azhangsan //-a:添加新密码,默认为修改密码
new password:
retype new password:
unix username: zhangsan
2. 修改共享配置
[root@svr5 ~]# vim /etc/samba/smb.conf
[global]
security = user //安全级别改为user
[tools]
comment = software source
path = /usr/src
public = no //public改为no
read only = yes
valid user = zhangsan,lisi //指定合法用户
write list = lisi //用户lisi可读可写
3.配置共享目录权限、重启服务
[root@svr5 samba]# setfacl -m u:lisi:rwx /usr/src/
[root@svr5 samba]#service smb restart
4.客户端验证
[root@pc205 桌面]# smbclient //192.168.4.5/tools
tree connect failed: nt_status_access_denied //匿名用户登录失败
[root@pc205 桌面]#smbclient -u zhangsan//192.168.4.5/tools //zhangsan登录成功
smb: \> mkdir zhangsan
nt_status_media_write_protectedmaking remote directory \zhangsan //zhangsan没有写入权限
[root@pc205 桌面]# smbclient -u lisi //192.168.4.5/tools //用户lisi登录
smb: \> mkdir lisi //新建目录
smb: \> ls //查看,创建成功
lisi d 0 mon mar 23 11:00:06 2015
挂载共享目录
[root@pc205 桌面]# mount -o user=lisi,password=222 //192.168.4.5/tools /mnt/samba/
[root@pc205 桌面]# df –h
filesystem size used avail use% mounted on
//192.168.4.5/tools 50g 3.5g 44g 8% /mnt/samba
步骤五:共享账号的别名设置
在网络中,账号的泄露会增加被攻击的风险。为了安全samba服务提供了别名设置。就是提供给使用者的共享账号并不是服务器上真实的用户账号,而是真实账号映射的别名,通过这种机制大大的提高了服务器的安全性
1.默认情况下别名设置的文件在/etc/samba/sbmusers路径下,通过修改文件来实现
user = 别名
lisi = hello
2.修改配置文件(/etc/samba/smb.conf),在全局配置下添加
username map =/etc/samba/smbusers
3.重启smb服务
[root@svr5 samba]# service smbrestart
[root@pc205 桌面]# smbclient -u hello //192.168.4.5/tools
smb: \> ls
debug d 0 tue jun 28 22:13:01 2011
lisi d 0 mon mar 23 11:00:06 2015