Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协议做链接的*软件。第三版不仅可访问及分享SMB的文件夹及打印机,本身还可以集成入Windows Server的网域,扮演为网域控制站(Domain Controller)以及加入Active Directory成员。简而言之,此软件在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。
一 服务端配置
1 安装所需软件
[root@centos7 ~]# yum install samba samba-common -y
samba主要提供SMB服务所需的各项服务程序、相关的文件及其他和Samba相关的设置等
samba-common提供服务端和客户端都会用的的数据,包括主配置文件、语法检查等
2 添加Samba用户
添加smb1、smb2、smb3,所属组为centos组。
(1)添加系统用户,因为Samba用户必须是系统中已经存在的用户
[root@centos7 ~]# useradd smb1 -G centos
[root@centos7 ~]# useradd smb2 -G centos
[root@centos7 ~]# useradd smb3 -G centos
(2)设置系统用户为Samba用户并修改密码
smbpasswd [options] USERNAME
-a:添加
-x:删除
-d:禁用
-e:启用
[root@centos7 ~]# smbpasswd -a smb1
New SMB password:
Retype new SMB password:
Added user smb1.
[root@centos7 ~]# smbpasswd -a smb2
New SMB password:
Retype new SMB password:
Added user smb2.
[root@centos7 ~]# smbpasswd -a smb3
New SMB password:
Retype new SMB password:
Added user smb3.
(3)查看Samba用户
pdbedit
-L:列出samba服务中的所有用户;
-a, --create:添加用户为samba用户;
-u, --user=USER:要管理的用户;
-x, --delete:删除用户;
-t, --password-from-stdin:从标准输出接收字符串作为用户密码;使用空提示符,而后将密码输入两次;
[root@centos7 ~]# pdbedit -L
smb1:1001:
smb3:1003:
smb2:1002:
3 新建用共享目录
(1)新建目录/samba作为共享目录
[root@centos7 ~]# mkdir /samba
(2)修改共享目录所属组,由于Samba用户都属于centos组
[root@centos7 ~]# chgrp centos /samba/
(3)修改共享目录的权限
[root@centos7 ~]# chmod 2770 /samba/
[root@centos7 ~]# ll /samba/ -d
drwxrwx--- 2 root centos 6 Jun 7 16:24 /samba/
4 编辑Samba配置文件
(1)修改主配置文件/etc/samba/smb.conf
[root@centos7 ~]# vim /etc/samba/smb.conf
[global]
workgroup = MYGROUP ##工作组的名称
security = user ##指定用户通过密码才能访问
在最后添加如下几行
[samba]
comment=My samba share ##只是这个目录的说明而已
path=/samba ##共享的目录
browseable=yes ##是否让所有用户看到这个项目
create mask = 0664 ##建立文件的权限
directory mask = 0775 ##建立目录的权限
write list=@centos ##写入者包括哪些人
(2)检查配置文件语法
[root@centos7 ~]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[samba]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[samba]
comment = My samba share
path = /samba
create mask = 0664
directory mask = 0775
write list = @centos
5 启动服务
[root@centos7 ~]# systemctl start smb.service
smbd主要功能就是管理Samba主机共享的目录、文件与打印机
[root@centos7 ~]# systemctl start nmb.service
nmbd主要用来管理工作组、netBIOS name等的解析
二 客户端配置
1 安装所需软件
[root@centos7 ~]# yum install samba-client samba-common -y
samba-client提供Samba客户端所需的命令和工具,比如挂载文件格式的mount.cifs
2 使用smb1用户登录试试
[root@centos7 ~]# smbclient -L //192.168.29.130 -U smb1
Enter smb1's password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4] ##有时候OS=[Unix] 这个我也不知道为何
Sharename Type Comment
--------- ---- -------
samba Disk My samba share
IPC$ IPC IPC Service (Samba 4.4.4)
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
3 挂载
(1)新建本地挂载目录
[root@centos7 ~]# mkdir /smb/
(2)使用用户smb1挂载
[root@centos7 ~]# mount -t cifs //192.168.29.130/samba /smb/ -o username=smb1,password=1234
(3)查看挂载
[root@centos7 ~]# df -h /smb
Filesystem Size Used Avail Use% Mounted on
//192.168.29.130/samba 10G 1.2G 8.9G 12% /smb
(4)设置开机挂载
[root@centos7 ~]# vim /etc/fstab
#
UUID=3ecec458-d4e7-4545-91bf-19cc36ce2ef7 / xfs defaults 0 0
UUID=b7dbdf8d-753a-441b-b9ad-99c261908427 /boot xfs defaults 0 0
UUID=05838299-1ad0-4e0b-a113-74ab99ed00f7 swap swap defaults 0 0
//192.168.29.130/samba /smb cifs defaults,username=smb1,password=1234 0 0