Linux网络文件共享服务之SAMBA 服务
Posted 白-胖-子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux网络文件共享服务之SAMBA 服务相关的知识,希望对你有一定的参考价值。
SAMBA 服务简介
- SMB:Server Message Block 服务器消息块,IBM发布,
- SMB最早是DOS网络文件共享协议,是Windows中的私有协议
- CIFS:common internet file system,通用网络文件系统,微软基于SMB发布
- SAMBA:1991年 Andrew Tridgell 实现 Windows和UNIX相通
- 官方网站:http://www.samba.org/
SAMBA的功能:
- 在Linux中模仿SMB共享
- 共享文件和打印,实现在线编辑
- 实现登录SAMBA用户的身份认证
- 可以进行NetBios名称解析
- 外围设备共享
Windows计算机网络管理模式:
- 工作组WORKGROUP:计算机对等关系,帐号信息各自管理
- 域DOMAIN:C/S结构,帐号信息集中管理,DC,AD
SAMBA 软件介绍
SAMBA相关软件包:
- samba 提供smb服务器端
- samba-client 客户端软件
- samba-common 通用软件
- cifs-utils smb客户端工具
- samba-winbind 和AD相关
相关服务进程:
- smbd 提供smb(cifs)服务 TCP:139,445
- nmbd NetBIOS名称解析 UDP:137,138
主配置文件:
/etc/samba/smb.conf
帮助参看:
man smb.conf
语法检查:
testparm [-v] [/etc/samba/smb.conf]
客户端工具:
- smbclient
- mount.cifs
安装并启动服务器
dnf install samba
systemctl start smb
systemctl start nmb
SAMBA客户端工具
- smbclient
- UNC路径: Universal Naming Convention,通用命名规范,格式如下
\\\\sambaserver\\sharename
使用smbclient 访问SAMBA服务器
smbclient -L instructor.example.com
smbclient -L instructor.example.com -U smb用户%password
#可以使用-U选项来指定用户%密码,或通过设置和导出USER和PASSWD环境变量来指定
smbclient //instructor.example.com/shared -U wang
>cd directory
>get file1
>put file2
Linux挂载CIFS文件系统
mount -o user=sun,password=sun //server/shared /mnt/smb
实现开机自动挂载cifs
cat /etc/fstab
#可以用文件代替用户名和密码的输入
//server/homes /mnt cifs credentials或cred=/etc/smb.txt 0 0
cat /etc/smb.txt
username=sun #或 user=wang
password=123456 #或 pass=password
chmod 600 /etc/smb.txt
#此方法需要安装cifs-utils包
管理SAMBA用户
实现samba用户说明
- 包:samba-common-tools
- 工具:smbpasswd pdbedit
- 用户数据库:/var/lib/samba/private/passdb.tdb
说明:samba用户须是Linux用户,建议使用/sbin/nologin
管理用户命令
- 添加 samba用户:
smbpasswd -a <user>
pdbedit -a -u <user>
- 修改用户密码:
smbpasswd <user>
- 删除用户和密码:
smbpasswd -x <user>
pdbedit -x -u <user>
- 查看samba用户列表:
pdbedit -L -v
创建samba用户范例
#注意不要用-r 设为系统用户,因为不会生成家目录
[root@centos8 ~]#useradd -s /sbin/nologin smb1
[root@centos8 ~]#useradd -s /sbin/nologin smb2
[root@centos8 ~]#useradd -s /sbin/nologin smb3
[root@centos8 ~]#smbpasswd -a smb1
[root@centos8 ~]#smbpasswd -a smb2
[root@centos8 ~]#smbpasswd -a smb3
[root@centos8 ~]#pdbedit -L
useradd -s /sbin/nologin -p 123456 smb1
查看samba服务器状态:
smbstatus
以上是关于Linux网络文件共享服务之SAMBA 服务的主要内容,如果未能解决你的问题,请参考以下文章