samba服务
一、简单介绍NFS网络文件系统是不能跨操作系统使用的,至少说现在跨windows和linux之间完成文件系统级的共享nfs是无法完成的,据说在上个世纪90年度的时候,在澳大利亚有一个大学生就面临这样的现状,于是他决定造一个能跨多种平台实现文件共享的文件系统级的服务。在当时各windows主机之间所能实现的共享方式就是smb协议(Service Message Block),现在我们通常称之为CIF
一、简单介绍
NFS网络文件系统是不能跨操作系统使用的,至少说现在跨windows和linux之间完成文件系统级的共享nfs是无法完成的,据说在上个世纪90年度的时候,在澳大利亚有一个大学生就面临这样的现状,于是他决定造一个能跨多种平台实现文件共享的文件系统级的服务。在当时各windows主机之间所能实现的共享方式就是smb协议(Service Message Block),现在我们通常称之为CIFS协议。但是windows是闭源的,有些功能需要在内核中实现,我们不可能知道windows的源码的,于是这个作者就从linux开始解决问题。它需要实现可以基于NetBIOS协议解析主机名称、实现smb协议、可以兼容windows活动目录,于是samba就诞生了,它的作者是Andrew Tridgell
二、程序环境
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. 服务端口
- UDP:137、138
- TCP:139、445
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:是否启用打印机驱动
三、共享目录配置
共享目录配置需要自行定义一个配置段
[shared_fs]
comment:注释信息
path:当前共享的文件系统路径
browseable:是否可被其他用户查看
guest ok:是否可被来宾用户访问
public:是否公开所有用户
writable:是否可写
write list:定义拥有写权限的用户列表,可是直接给定用户名称、@组名、+组名
四、命令
1. smbclient命令
通过命令行链接samba服务,类似lftp
命令格式1:smbclient [option]
-L:指定远程主机地址
-U:指定用户名称
命令格式2:smbclient //IP//Sharename [option]
-L:指定远程主机地址
-U:指定用户名称
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:设定用户使用空密码
4. pdbedit命令
命令格式:pdbedit [option]
-L:列出samba服务中的所有用户
-a:添加新用户
-x:删除指定用户
-u:指定用户名称
-v:显示用户详细信息
5. smbstatus命令
命令格式:smbstatus [option]
-v:显示状态信息
-b:显示简要信息
更多推荐
所有评论(0)