目 录
一、SAMBA服务介绍
1、SAMBA的功能
2、计算机网络管理模式
3、相关包
4、相关服务进程
5、主配置文件
6、语法检查
7、客户端工具
二、SAMBA服务配置
1、全局配置
2、特定的共享设置
3、宏定义
三、管理samba用户
四、配置目录共享
五、基于特定用户和组的共享
六、SMB客户端访问
七、挂载CIFS文件系统
1、手动挂载
2、开机自动挂载
SMB:server message block 服务器消息块,IBM发布,最早DOS网络文件共享协议。
Cifs: common internet file system,微软基于SMB发布
SAMBA:1991年Andrew Tridgell,实现windows和UNIX相通
一、SAMBA服务介绍
1、SAMBA的功能:
共享文件和打印,实现在线编辑
实现登录SAMBA用户的身份认证
可以进行NetBIOS名称解析
外围设备共享
2、计算机网络管理模式:
工作组WORKGROUP:计算机对等关系,帐号信息各自管理
域DOMAIN:C/S结构,帐号信息集中管理, DC,AD
3、相关包
Samba 提供smb服务
Samba-client 客户端软件
Samba-common 通用软件
Cifs-utils smb 客户端工具
4、相关服务进程
Smbd 提供smb (cifs) 服务TCP:139,445
nmbd NetBIOS 名称解析 UDP:127,138
5、主配置文件
/etc/samba/smb.conf
6、语法检查
testparm [-v] [/etc/samba/smb.conf]
7、客户端工具
smbclient,mount.cifs
二、SAMBA服务配置
Smb.conf 继承了.ini文件的给事,用[ ] 分成不同的部分
1、全局配置
[global] 服务器通用或全局设置部分
workgroup 指定工作组名称
server string 主机注释信息
netbios name 指定netbiso名
interfaces 指定服务侦听接口和IP
hosts allow 可用”,”,空格,或tab分隔,默认允许所有主机访问,也可在每个独立共享配置,如在 [global] 设置,将应用并覆盖所有共享设置
ipv4 network/prefix: 172.16.252.0.0/24
ipv4 network/netmask 172.16.252.0/255.255.255.0
ipv4前缀:172.16.250
ipv6 network/prefix:[2001:db8:0:1::/64]
主机名:desktop.example.com
以example.com后缀的主机名: .example.com
示 例:
host allow = 172.16.252
host allow = 172.16. .example.com
Log file=/var/log/samba/log.%m 日志文件 %m每个主机不同日志
max log size =50 日志文件达到50k,将轮训rotate,单位KB
Securtiy 三种认证方式
share :匿名(Centos 7 不在支持)
user:samba 用户(采用linux用户,samba 的独立口令)
domain:使用DC(DOMAIN CONTROLLER) 认证
passdb backend = tdbsam 密码数据库格式
实现samba用户:
包:samba-common-tools
工具:smbpasswd pdbedit
Samba用户必须linux用户,建议使用/sbin/nologin
2、特定的共享设置
[homes] 用户的家目录共享
[printers] 定义打印机资源和服务
[sharename] 自定义的共享目录配置
其中:#和;开头的语句为注释,大小写不敏感
3、宏定义
%m 客户端主机的NetBIOS名
%M 客户端主机的FQDN
%H 当前用户家目录路径
%U 当前用户用户名
%g 当前用户所属组
%h samba服务器的主机名
%L samba服务器的NetBIOS名
%I 客户端主机的IP
%T 当前日期和时间
%S 可登录的用户名
三、管理samba用户
添加samba用户
smbpasswd -a <user>
pdbedit -a -u <user>
修改用户密码
smbpasswd <user>
删除用户和密码
smbpasswd -x <user>
pdbedit -x -u <user>
查看samba 用户列表:/var/lib/samba/private/passdb.tab
pdbedit -L -v
查看samba服务器状态:smbstatus
四、配置目录共享
每个共享目录应该有独立的 [ ] 部分
[共享名称] 远程网络看到的共享名称
comment 注释信息
path 所共享的目录路径
public 能否被guest访问的共享,和guest ok类似
browsable 是否允许所有用户浏览到此共享
writable=yes 可以被所用用户读写,默认为no
read only=no 和writable =yes 等价,如与以上设置冲突,放在后面的设置生效
write list 三种形式:用户,@组名,+组名, 用,分隔
如writable=no , 列表中用户或组可都读写,不在列表中用户只读
valid users 特定用户才能能访问该共享,如为空,将允许所有用户,用户名之间用空格间隔。
五、基于特定用户和组的共享
编辑/etc/samba/smb.conf
[appdata]
path = /var/apps
valid users=wang,@admins
writeable = no
browseable = no
六、SMB客户端访问
UNC路径: Universal Naming Convention,通用命名规范
格式: \\sambaserver\sharename
终端下使用smbclient登录服务器
smbclient –L instructor.example.com
smbclient -L instructor.example.com -U wang
> cd directory
> get file1
> put file2
smbclient //instructor.example.com/shared -U wang
可以使用-U选项来指定用户%密码,或通过设置和导出USER和PASSWD环境变量来指定
七、挂载CIFS文件系统
1、手动挂载
mount –t cifs –o user=wang,password=magedu //server//shared /mnt/smb
2、开机自动挂载
cat /etc/fstab 可以用文件代替用户名和密码的输入
//server/homes /mnt cifs credentials=/etc/smb.txt 0 0
cat /etc/smb.txt
username=wang
password=password
chmod 600 /etc/smb.txt