Linux云计算基础篇(28)-Samba文件服务

一、Samba文件共享

Samba实现Linux和Linux之间的文件共享,还可以实现Linux和Windows之间的文件共享。允许在不同的操作系统之间共享文件和打印机。

Samba是一个C/S架构,也就是客户端服务端

Samba套件构成:

samba:Samba的主程序和穿护进程以及相关文档内容

samba-common:提供主要的配置文件以及语法校验命令

samba-client:提供客户端的工具命令

Samba主要得配置文件内容

samba的主要配置目录:/etc/samba

root@samba \~\] ll /etc/samba/ imhosts文件:主要配置IP和主机名的对应关系,类似/etc/hosts smb.conf文件:Samba最主要的配置文件,指定共享目录等内容 smbpasswd文件:默认没有,存放samba的用户和密码的文件;进行用户验证需要使用 **samba主配置文件常用内容** samba的主要配置文件:/etc/samba/smb.conf 更多配置内容参考/etc/samba/smb.conf.example文件 **\[global\] #samba的全局配置** Workgroup=MYGROUP#指定工作组名称 security=user #设置安全等级,user模式需用户验证,share模式无需验证 server string=Samba Server Version#指定主机注释说明 netbiosname=MYSERVER #指定Samba默认主机名,例如在windows上查看共享显示的主机名 hosts allow=127.192.168.12.192.168.13. #允许访问samba服务器IP地址范围,默认允许所有的IP访问 \[homes

valid users = #指定允许访问用户

invalid users= #指定不允许访问用户

write list = #指定写入用户

read list = #设置只读用户

public = yes #是否可以匿名访问


Samba常用命令

smbpasswd命令:设置samba的用户以及密码,管理samba用户和密码

常用选项:

-a 添加一个用户为samba用户

-x 删除一个samba用户

pdbedit命令:管理samba用户数据库

常用选项:

-L 列出所有的samba用户

-Lv 显示详细信息

-x 删除samba用户

-a 创建samba用户

testparm命令:测试samba配置文件设置是否正确

smbclient命令:查看samba服务的共享目录。 -L指定sama服务器ip地址,-U指定用户名


Samba共享实战(一)

创建/samba目录,允许所有主机访问,登陆账户和密码分别是Sambauser和passwd

1.安装samba软件

root@samba \~\]# dnf install samba -y 2.创建/samba目录,授予目录权限 \[root@samba \~\]# mkdir /samba \[root@samba \~\]# chmod 777 /samba 3.修改smb.conf配置文件 \[share

path = /samba

comment = This is a directory

browseable = yes

writeable = yes

write list = sambauser

read list = sambauser


Samba共享实战(二)

创建/samba目录,允许所有主机访问,登录账户和密码分别是Sambauser和passwd

4.创建Samba用户,并且指定密码

root@samba \~\]# useradd -s /sbin/nologin sambauser \[root@samba \~\]# smbpasswd -a sambauser 5.启动smb服务,关闭防火墙,关闭Selinux \[root@samba \~\]# systemctl start smb \[root@samba \~\]# systemctl stop firewalld \[root@samba \~\]# setenforce 0 **Samba共享实战(三)** 创建/samba目录,允许所有主机访问,登录账户和密码分别是sambauser和passwd 6.Linux客户端配置,安装samba-client 和cifs-utils \[root@samba \~\]# dnf install -v samba-client \[root@samba \~\]# dnf install cifs-utils -y 7.查看samba服务端的共享目录 \[root@samba \~\]# smbclient -L 192.168.68.150 -U sambauser **Samba共享实战(四)** 创建/samba目录,允许所有主机访问,登录账户和密码分别是sambauser和passwd 8.Linux客户端配置,手动挂载 \[root@samba \~\]# mount -t cifs //192.168.68.150/share /mnt -o username=sambauser \[root@samba \~\]# df -Th /mnt **Samba共享实战(五)** 9.创建一个TXT文件,里面填充username,与passwd密码相关信息 \[root@samba \~\]#cat /etc/samba/password.txt username=user1 password=redhat \[root@samba \~\]# chmod 400 password.txt \[root@samba \~\]# vim /etc/fstab //192.168.10.10/SHARE /mnt/it cifs defaults,**credentials**=/etc/samba/password.txt 0 0 #Credentials (调用设置的密码本,该本只允许自己查看) \[root@samba \~\]# mount -a ## **二、配置阶段** **samba 配置** \[root@web01 \~\]# yum -y install samba \[root@web01 \~\]# systemctl enable smb.serice --now \[root@web01 \~\]# netstat -tulnp \| grep :139 \[root@web01 \~\]# netstat -tulnp l grep :445 \[root@web01 \~\]# systemctl enable smb.serice --now \[root@web01 -\]# netstat -tuinp l grep:137 \[root@web01 -\]# netstat -tulnp l grep :138 smb service: 文件和打印机共享 nmb .service: 名称解析 **需求一: 共享/public 目录,共享名为 IT,该共享允许 IT 组的所有成员可以访问,仅允许user1和 user2 用户有写入权限;** \[root@web01 -\]# vim /etc/samba/smb.conf **\[IT\]** comment =IT team public directory path = /publice write list = userl.user2 browseable = yes valid users = @it #挂载、访问权限 create mask = 64 4 directory mask = 0755 \[root@web01 \~\]# systemctl restart smb.service **samba 用户:** **1. 首先必须是本地用户(用户列表必须存在)** #useradd user1 #useradd user2 **2.将该用户转换为 samba 用户** #smbpasswd -a user1 #smbpasswd -a user2 **\[root@web01 -\]# smbpasswd -a user1** New SMB password: Retype new SMB password: Added user user1. **\[root@web01 -\]# smbpasswd -a user2** #将本地用户添加到SMB用户中 New SMB password: Retype new SMB password: Added user user2. \[root@web01 -\]# pdbedit -L #查询SMB用户列表 user1:2003: user2:2004: \[root@web01 -\]#chmod 777 /public/ **在客户端测试** \[root@web02 \~\]# yum -y install samba-client \[root@web02 \~\]#smbclient -L //192.168.6.101 \[root@web01 -\]# groupadd it \[root@web01 \~\]#usermod -aG it user1 \[root@web01 -\]#usermod -aG it user2 \[root@web01 \~\]#usermod -aG it user4 root@web01 \~\]#systemctl restart smb.service ------------------------------------------------------------------------------------------------------------------------------

相关推荐
技术杠精15 小时前
Docker Swarm 的负载均衡和平滑切换原理
docker·容器·负载均衡·1024程序员节
芙蓉王真的好116 小时前
时序数据库选型革命:Apache IoTDB 与客户端工具集成的实战方案
1024程序员节
LEEBELOVED16 小时前
R语言基于selenium模拟浏览器抓取ASCO数据-连载NO.03
selenium·r语言·1024程序员节
GeminiJM16 小时前
在Windows上使用Selenium + Chrome Profile实现自动登录爬虫
1024程序员节
PyAIGCMaster17 小时前
设置一个自定义名称的密钥,用于 git 仓库上下传使用
1024程序员节
物联网软硬件开发-轨物科技17 小时前
【轨物方案】母线槽智能在线监测解决方案:构筑电力系统安全防线,驱动制造业数智化升级
1024程序员节
潜心编码17 小时前
基于Django的医疗电子仪器系统
前端·数据库·1024程序员节
Dontla17 小时前
Web单页应用(SPA)路由设计(以React为例)
1024程序员节
colus_SEU17 小时前
【计算机网络笔记】第二章 应用层 (Application Layer)
笔记·计算机网络·1024程序员节