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
Enter root's password:
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 �Ch
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),在全局配置下添加
[global]
username map =/etc/samba/smbusers
3.重启smb服务
[root@svr5 samba]# service smbrestart
4.客户端验证
[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
kernels D 0 Tue Mar 17 14:01:37 2015