一、程序环境
1. 相关程序包
samba
:服务端程序包
samba-client
:客户端程序
samba-dc
:使samba称为域控的程序包
samba-python
:与python交互的必要程序包
samba-python-test
:与python交互的必要程序包
samba-test
:测试套件
samba-test-libs
:测试套件
samba-vfs-glusterfs
:与glusterfs交互的程序包
samba-winbind
:samba加入域的重要程序包
samba-winbind-clients
:samba加入域的重要程序包
samba-winbind-krb5-locator
:samba加入域的重要程序包
samba-winbind-modules
:samba加入域的重要程序包
2. 服务端环境文件
/etc/sanba/smb.conf
:主配置文件
/usr/sbin/nmbd
:主程序文件
/usr/sbin/smbd
:主程序文件
/usr/lib/systemd/system/nmb.service
:NetBIOS协议unit文件
/usr/lib/systemd/system/smb.service
:SMB/CIFG协议unit文件
/usr/lib64/samba/vfs
:各种文件系统的模块文件
3. 服务端口
4. 主配文件中的指令
workgroup:工作组名称
server string:光标悬浮提示信息
netbios name:网络中查看的主机名称
interfaces:监听的网卡接口或ip地址,如果只给网卡表示监听这个网卡的所有地址
hosts allow:白名单
hosts deny:黑名单
log file:日志文件
max log size:日志最大滚动阈值,默认单位为KB
security:认证用户时靠samba主机自己的本地用户认证的
passdb backend:存放密码格式及位置
wins support:加速名称解析的机制
wins server:写明wins server的ip地址
wins proxy:代理,主要跨网段时使用
load printers:是否启用打印机驱动1234567891011121314
二、共享目录配置
共享目录配置需要自行定义一个配置段
[shared_fs]comment:注释信息
path:当前共享的文件系统路径
browseable:是否可被其他用户查看
guest ok:是否可被来宾用户访问
public:是否公开所有用户
writable:是否可写write list:定义拥有写权限的用户列表,可是直接给定用户名称、@组名、+组名12345678
三、命令
1. smbclient命令
通过命令行链接samba服务,类似lftp
命令格式1:smbclient [option]
-L:指定远程主机地址
-U:指定用户名称12
命令格式2:smbclient //IP//Sharename [option]
-L:指定远程主机地址
-U:指定用户名称12
2. mount.cifs命令
如果没有这个命令可以尝试安装cifs-utils
包
3. smbpasswd命令
访问samba的用户必须是在/etc/passwd
中存在的,但是其密码不会查看/etc/shadow
文件,需要使用smbpasswd命令为其设置专用于访问samba的密码
命令格式:smbpasswd [option] USER_NAME
-a:第一次为用户设定密码使用-a选项,不加-a表示改密码
-x:删除指定用户
-d:临时禁用某个用户
-e:取消禁用某个用户
-n:设定用户使用空密码12345
4. pdbedit命令
命令格式:pdbedit [option]
-L:列出samba服务中的所有用户
-a:添加新用户
-x:删除指定用户
-u:指定用户名称
-v:显示用户详细信息12345
5. smbstatus命令
命令格式:smbstatus [option]
-v:显示状态信息
-b:显示简要信息