22020309128 信安一班 黄宏伟
一、Samba简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
Samba提供了基于CIFS的四个服务:文件和打印服务、授权与被授权、名称解析、浏览服务。前两项服务由smbd提供,后两项服务则由nmbd提供。 简单地说,smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与Linux进行协商,nmbd进程使主机(或工作站)能浏览Linux服务器。
二、Samba安装与配置
安装samba应用
进入root 输入命令: [root@centos7 ~]# yum list installed lgrep samba 检查samba套件是否安装完成
启动Samba应用
[root@centos7 ~]# systemctl start smb nmb
smb/nmb添加到开机启动项
[root@centos7 ~]# systemctl enable smb nmb
查看smb和nmb进程状态
[root@centos7 ~]# ps -ef | grep -E 'smb|nmb'
三.认识Samba服务的配置文件
1.主配置文件/etc/samba/smb.conf
[root@centos7 ~] # vim /etc/samba/smb.conf
centos6中有定义共享的模版。 我们将centos6中的模版拷贝到centos7配置文件的末尾
(1)全局参数
workgroup:该参数设置本机的域名或工作组名称。
该参数定义Samba服务器的安全级别,Samba服务器共有3个安全级security:别:user、server、domain.
passdb backend:该参数定义用户后台管理Samba有三种后台smbpasswd.系统默认是tdbsam。tdbsam和ldapsam,系统默认是tdbsam。
(2)共享定义参数
comment:设置共享目录或设备的描述,例如comment=Home Directories。path:指定共享路径和被共享目录名,例如path=home。 任何一个目录或设备的共享,都必须有以上两个访问控制参数选项,否则无法完成共享操作访问控制参数:
valid users:设置允许访问共享的用户,例如valid users =user1,user2,@group1,@group2(多用户或组使用逗号隔开,@group表示group用户组)。
browseable:是否允许网络用户浏览共享目录,例如browseable=yes。
writeable:被共享目录是否允许网络用户改写共享资源,例如writeable=yes。
read only:客户端对共享目录是否为只读权限,例如read only=yes。
read list:设置只读用户的列表。
write list:设置读写用户的列表。
create mask:创建的文件权限。
directory mask创建的目录权限
将[share]修改为:
[share]
comment=sdcet share
path=/share
public=no
valid users=@sdcet
writable=yes
write list=@sdcet
四.配置步骤
(1)检查系统中是否有bob和marry用户
[root@centos7 ~]# cat /etc/passwd
(2)samba的口令文件
当设置了user的安全等级后,需要使用pdbedit命令创建口令文件。用户第一次使用pdbedit命令创建Samba服务的帐号时,自动创建passdb.tdb文件。Linux操作系统中的本地用户帐号不能直接登录Samba服务器需要为Linux用户创建新的Samba用户帐号密码。例如:
[root@centos7 ~]# pdbedit -a bob
(3).创建目录/share,并使该目录属于sdcet组,修改组对该目录的权限。
root@centos7 ~]]# mkdir /share //创建共享目录share
[root@centos7 ~]]# chmod 775 /share //修改目录权限
[root@centos7 ~]]# touch /share/1.txt //创建测试文件1.txt
[root@centos7 ~]]#cat /etc/group //查看是否存在sdcet组
//创建sdcet组[root@centos7 ~]]#groupadd sdcet //创建sdcet组
[root@centos7 ~]]#gpasswd -a bob sdcet //向组添加用户bob
[root@centos7 ~]]#gpasswd -a marry sdcet //向组添加用户mary
[root@centos7 ~]]# chown -R :sdcet /share/ //将share目录修改为sdcet组,R
选项递归
[root@centos7 ~]]#ll /share/ //检查目录所属组是否更改
下图显示我已经有组,所以只需要将用户bob和用户mary添加至组内,进行后续步骤
完成配置文件后,重启samba服务使配置生效
[root@centos7 ~] #systemctl restart smb nmb
文章到此结束,谢谢!!