在linux中如何配置samba服务器?
进入配置文件:
vi /etc/samba/smbconf
根据自己要求配:
格式
共享名字
path=文件路径
public=yes、no 是否公共
writable=yes、no 是否可写
3、安装samba服务
[root@localhost /]# yum install samba -y
4、创建共享用户
[root@localhost /]# smbpasswd -a smb
[root@localhost /]# smbpasswd -a smb
5、修改配置文件
[root@localhost /]# vim /etc/samba/smbconf
workgroup = WORKGROUP //Win需要修改为工作组
server string = Samba Server Version %v
security = user //可以改为everyone
passdb backend = tdbsam
[test]
path = /test
public = yes
writeable = yes
valid users = smb
[share]
path = /share
public = yes
writeable = yes
valid users = smb
6、创建本地共享目录和文件权限
[root@localhost /]# mkdir /test /share
[root@localhost /]# chown -R smbsmb /test/ /share/
[root@localhost test]# touch tp1 tp2
[root@localhost test]# chmod 444 tp1
[root@localhost test]# chmod 666 tp2
[root@localhost test]# echo "111" > /test/tp1 //ceshi 文本
[root@localhost test]# echo "222" > /test/tp2
[root@localhost test]# service smb restart //开启服务 测试
1samba服务器目录:
企业数据目录:/companydata
公共目录:/companydata/share
销售部目录:/companydata/sales
技术部:/companydata/tech
2企业员工情况:
总经理:gm
销售部:销售部经理 redking、员工 sky、员工 jane
技术部:技术部经理 michael、员工 bill、员工 joy
3搭建samba文件服务器,建立公共共享目录,允许所有人访问,权限为只读,为销售部和技术部分别建立单独的目录,只可以总经理和相应部门员工访问,并且公司员工禁止访问非本部门的共享目录。
案例解析:
1需求分析
对于建立公共目录public字段就可以实现匿名访问,员工只能访问本部门的共享目录,禁止访问非本部门的共享目录,可以通过设置目录共享字段“browseable = no”及字段“valid users”来实现其隐藏功能和相应的访问权限。这样设置不能很好得解决同一目录多种需求的权限设置,所以需要建立独立配置文件,为每个部门建立一个组后并为每个组建立配置文件来实现隔离用户权限会比较灵活。
2 解决方案
1)建立各部门专用共享目录
使用mkdir建立需求的共享目录以便分门别类的存储相应资料。
[root@RHEL ~]#mkdir /companydata
[root@RHEL ~]#mkdir /companydata/share
[root@RHEL ~]#mkdir /companydata/sales
[root@RHEL ~]#mkdir /companydata/tech
同时设置/companydata共享目录的用户权限
[root@RHEL ~]#chmod –R 777 /companydata
2)添加samba服务器描述及设置smbpasswd文件
默认/etc/samba/目录下没有smbpasswd文件,要先关闭samba的tdbsam验证。
解决方法:在smbconf文件中注释掉passdb backend = tdbsam 一行,为了指定samba用户的验证我们加上这一条smb passwd file = /etc/samba/smbpasswd,然后保存退出。
3)添加用户和组
先建立销售部组sales,技术部组tech,然后使用useradd命令添加总经理帐号gm及各个员工的帐号并加入相应的用户组。
[root@RHEL ~]#groupadd sales
[root@RHEL ~]#groupadd tech
[root@RHEL ~]#useradd gm
[root@RHEL ~]#useradd –g sales redking
[root@RHEL ~]#useradd –g sales sky
[root@RHEL ~]#useradd –g sales jane
[root@RHEL ~]#useradd –g tech michael
[root@RHEL ~]#useradd –g tech bill
[root@RHEL ~]#useradd –g tech joy
接着使用smbpasswd命令添加samba用户:
[root@RHEL ~]#smbpasswd –a gm
New SMB password:
Retype new SMB password:
Added user gm
[root@RHEL ~]#smbpasswd –a redking
New SMB password:
Retype new SMB password:
Added user reding
[root@RHEL ~]#smbpasswd –a sky
New SMB password:
Retype new SMB password:
Added user syk
[root@RHEL ~]#smbpasswd –a jane
New SMB password:
Retype new SMB password:
Added user jane
[root@RHEL ~]#smbpasswd –a michael
New SMB password:
Retype new SMB password:
Added user michael
[root@RHEL ~]#smbpasswd –a bill
New SMB password:
Retype new SMB password:
Added user bill
[root@RHEL ~]#smbpasswd –a joy
New SMB password:
Retype new SMB password:
Added user joy
4)配置smbconf文件
(1)建立单独配置文件
用户配置文件使用用户名命令,组配置文件使用组名命令。
[root@RHEL ~]#cp /etc/samba/smbconf /etc/samba/gmsmbconf
[root@RHEL ~]#cp /etc/samba/smbconf /etc/samba/salessmbconf
[root@RHEL ~]#cp /etc/samba/smbconf /etc/samba/techsmbconf
(2)设置主配置文件smbconf
配置smbconf主配置文件,在global节点中添加相应字段,确保samba服务器的主配置文件可以调用独立的用户配置文件和组配置文件。
include = /etc/samba/%Usmbconf表示使samba服务器加载/etc/samba目录下格式为“用户名smbconf”的配置文件。
include = /etc/samba/%Gsmbconf表示使samba服务器加载/etc/samba目录下格式为“组名smbconf”的配置文件。
设置共享目录/companydata/share
添加如下内容:
[public]
comment=public data
path=/companydata/share
public=yes
5)设置总经理gm配置文件
[root@RHEL ~]#vim /etc/samba/gmsmbconf
添加如下内容:
[sales]
comment=sales data
path=/companydata/sales
writable=yes
valid users=gm
[tech]
comment=tech data
path=/companydata/tech
writable=yes
valid users=gm
6)设置销售部组sales配置文件
[root@RHEL ~]#vim /etc/samba/salessmbconf
添加如下内容:
[sales]
comment=sales data
path=/companydata/sales
writable=yes
valid users=@sales,gm
7)设置技术部组tech配置文件
[root@RHEL ~]#vim /etc/samba/techsmbconf
添加如下内容:
[tech]
comment=tech data
path=/companydata/tech
writable=yes
valid users=@tech,gm
8)开启samba服务
[root@RHEL ~]#service smb start
9)测试
分别用所设置账号进行测试。
0条评论