IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> samba服务搭建 -> 正文阅读

[系统运维]samba服务搭建

一、 服务端配置

1 在服务端安装samba软件包

[root@Server ~]# yum -y install samba
已加载插件:langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You bscription-manager to register.
正在解决依赖关系
–> 正在检查事务
—> 软件包 samba.x86_64.0.4.6.2-8.el7 将被 安装

已安装:
samba.x86_64 0:4.6.2-8.el7

作为依赖被安装:
samba-client-libs.x86_64 0:4.6.2-8.el7
samba-common-libs.x86_64 0:4.6.2-8.el7
samba-common-tools.x86_64 0:4.6.2-8.el7

作为依赖被升级:
krb5-libs.x86_64 0:1.15.1-8.el7 libldb.x86_64 0:1.1.29-1.el7
libsmbclient.x86_64 0:4.6.2-8.el7 libtalloc.x86_64 0:2.1.9-1.e
libtdb.x86_64 0:1.3.12-2.el7 libtevent.x86_64 0:0.9.31-1.
libwbclient.x86_64 0:4.6.2-8.el7 pytalloc.x86_64 0:2.1.9-1.el
samba-common.noarch 0:4.6.2-8.el7 samba-libs.x86_64 0:4.6.2-8.

完毕!

1.2 关闭SELinux

[root@Server ~]# vim /etc/selinux/config 
[root@Server ~]# cat /etc/selinux/config | grep -v "#" | grep -v "^$"
SELINUX=disabled 
SELINUXTYPE=targeted 
[root@Server ~]# getenforce 
Disabled
[root@Server ~]# 

修改配置文件关闭SELinux是永久关闭,也可以使用以下命令进行关闭
setenforce0:临时生效,下次重启后,会重新打开SELinux
getenforce:查看SELinux的状态

1.3 防火墙放行Samba服务

[root@Server ~]# firewall-cmd --permanent --add-service="samba"
success
[root@Server ~]# firewall-cmd --reload 
success
[root@Server ~]# firewall-cmd --list-all
public (default, active)
  interfaces: eno16777736
  sources: 
  services: dhcp dhcpv6-client samba ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 
	
[root@Server ~]#

1.4 配置开机自启动Samba服务

[root@Server ~]# systemctl enable smb nmb
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
ln -s '/usr/lib/systemd/system/nmb.service' '/etc/systemd/system/multi-user.target.wants/nmb.service'
[root@Server ~]# systemctl restart smb nmb

Samba的服务名是依赖于smb和nmb的,所以在启动时,需要启动这两项服务

1.5 修改Samba配置文件

创建相关的文件夹,并创建用户和组

[root@Server ~]# mkdir /Public
[root@Server ~]# mkdir /Sale
[root@Server ~]# mkdir /Technology
[root@Server ~]# groupadd Sale
[root@Server ~]# groupadd Technology
[root@Server ~]# useradd -g Sale Sale1
[root@Server ~]# useradd -g Technology Technology1
[root@Server ~]# useradd Boss

修改Samba的配置文件

[root@Server ~]# vim /etc/samba/smb.conf
[root@Server ~]# cat !$ | grep -v "#" | grep -v "^$"
cat /etc/samba/smb.conf | grep -v "#" | grep -v "^$"
[global]
	workgroup = SAMBA
	security = user            //登录的安全模式,user表示需要输入用户名和密码
	passdb backend = tdbsam
	printing = cups
	printcap name = cups
	load printers = yes
	cups options = raw
[Public]
	path = /Public                         //共享文件夹的目录
	writable = yes                         //是否可写
	write list = Boss,Sale1,Technology1      //可写用户列表,如果是用户组,前面需要有"+"
	create mask = 0664                     //创建文件的默认权限
	directory mask = 0775
[Sale]
	path = /Sale
	writable = yes
	write list = Sale1,Boss
	create mask = 0664
	directory mask = 0775
[Technology]
	path = /Technology 
	write list = Boss,Technology1
	create mask = 0664
	directory mask = 0775
[root@Server ~]# 

向Samba服务中添加用户,并重新启动Samba服务

[root@Server ~]# pdbedit -au Boss   //在Samba服务中添加用户Boss
new password:123                    //为用户设置密码,不显示
retype new password:123                //再次输入密码,不显示
Unix username:        Boss
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-252106335-936056488-221418339-1000
Primary Group SID:    S-1-5-21-252106335-936056488-221418339-513
Full Name:            
Home Directory:       \\server\boss
HomeDir Drive:        
Logon Script:         
Profile Path:         \\server\boss\profile
Domain:               SERVER
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:, 06 22036 23:06:39 CST
Kickoff time:, 06 22036 23:06:39 CST
Password last set:, 10 122021 17:02:47 CST
Password can change:, 10 122021 17:02:47 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@Server ~]# pdbedit -au Sale1        //同样的将另外两个用户加入到Samba用户列表中
[root@Server ~]# pdbedit -au Technology1
[root@Server ~]# pdbedit -L   //列出Samba服务的用户列表
Boss:1003: 
Technology1:1002:
Sale1:1001:
[root@Server ~]# systemctl restart smb nmb   //重新启动Samba服务
[root@Server ~]#

为不同的文件夹设置特殊权限

[root@Server ~]# chmod o+x /Public/         //修改共享文件夹的权限
[root@Server ~]# chmod o+x /Sale/
[root@Server ~]# chmod o+x /Technology/
[root@Server ~]# setfacl -m u:Sale1:rwx /Public/             //设置特殊权限,使Sale1可以对共享文件夹进行读写操作
[root@Server ~]# setfacl -m u:Technology1:rwx /Public/
[root@Server ~]# setfacl -m u:Boss:rwx /Public/
[root@Server ~]# setfacl -m u:Boss:rwx /Sale/
[root@Server ~]# setfacl -m u:Boss:rwx /Technology/
[root@Server ~]# setfacl -m g:Sale:rwx /Sale/         //使Sale用户组的用户都可以对Sale文件夹进行读写操作
[root@Server ~]# setfacl -m g:Technology:rwx /Technology/

二、客户端配置

2.1 Linux客户端安装Samba客户端

[root@Client ~]# yum -y install samba-client
已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 samba-client.x86_64.0.4.6.2-8.el7 将被 安装

...

已安装:
  samba-client.x86_64 0:4.6.2-8.el7                                             

作为依赖被安装:
  samba-common-libs.x86_64 0:4.6.2-8.el7                                        

完毕!
[root@Client ~]# 

2.2 Linux客户端进行测试

[root@Client ~]# smbclient -L //192.168.43.128 -U Boss
Enter SAMBA\Boss's password: 
Domain=[SERVER] OS=[Windows 6.1] Server=[Samba 4.6.2]

	Sharename       Type      Comment
	---------       ----      -------
	Public          Disk      
	Sale            Disk      
	Technology      Disk      
	IPC$            IPC       IPC Service (Samba 4.6.2)
Domain=[SERVER] OS=[Windows 6.1] Server=[Samba 4.6.2]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	SAMBA                SERVER
	WORKGROUP            HASEE-BAD
[root@Client ~]# 

以上可以看到可以正常访问Samba服务器

2.3 Linux客户端将Samba服务器的共享目录进行本地挂载

Samba服务器的共享目录进行本地多用户挂载
将Public目录以Boss身份登入,挂载到/Samba/Public目录下
将Sale目录以Sale1身份登入,挂载到/Samba/Sale_Sale1目录下
将Sale目录以Technology1身份登入,挂载到/Samba/Sale_Technology1目录下
将Technology目录以Technology1身份登入,挂载到/Samba/Technology目录下
[root@Client ~]# vim /etc/fstab 
[root@Client ~]# cat /etc/fstab | grep -v "#" | grep -v "^$"
/dev/mapper/rhel-root   /                       xfs     defaults        0 0
UUID=303f3e9b-272c-45d4-b73d-54daff254def /boot                   xfs     defaults        0 0
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/cdrom /mnt iso9660 defaults 0 0

# 共享目录              挂载点                     username表示以哪个用户进行登录挂载
//192.168.43.128/Public /Samba/Public cifs multiuser,username=Boss,password=123,sec=ntlmssp 0 0
//192.168.43.128/Sale /Samba/Sale_Sale1 cifs multiuser,username=Sale1,password=123,sec=ntlmssp 0 0
//192.168.43.128/Sale /Samba/Sale_Technology1 cifs multiuser,username=Technology1,password=123,sec=ntlmssp 0 0
//192.168.43.128/Technology /Samba/Technology cifs multiuser,username=Technology1,password=123,sec=ntlmssp 0 0

[root@Client ~]# mkdir -p /Samba/Public
[root@Client ~]# mkdir /Samba/Sale_Sale1
[root@Client ~]# mkdir /Samba/Sale_Technology1
[root@Client ~]# mkdir /Samba/Technology
[root@Client ~]# mount -a
[root@Client ~]#

进行权限测试

[root@Client ~]# cd /Samba/
[root@Client Samba]# ls
Public  Sale_Sale1  Sale_Technology1  Technology
[root@Client Samba]# cd Public/
[root@Client Public]# touch file1
[root@Client Public]# ll
总用量 0
-rw-r--r-- 1 1003 1003 0 1211 04:55 file1
[root@Client Public]# cd ..
[root@Client Samba]# cd Sale_Sale1/
[root@Client Sale_Sale1]# touch file1
[root@Client Sale_Sale1]# ll
总用量 0
-rw-r--r-- 1 1001 1001 0 1211 04:56 file1
[root@Client Sale_Sale1]# cd ..
[root@Client Samba]# cd Sale_Technology1/
[root@Client Sale_Technology1]# touch file1
touch: 无法创建"file1": 权限不够
[root@Client Sale_Technology1]# cd ..
[root@Client Samba]# cd Technology/
[root@Client Technology]# touch file1
[root@Client Technology]# ll
总用量 0
-rw-r--r-- 1 1002 1002 0 1211 04:58 file1
[root@Client Technology]# 

如上,在不同的目录中进行了文件权限测试
Public目录中,是以Boss身份登入挂载的,所以可以进行读写操作,创建文件的用户UID为1003,可以在服务端看到即为Boss账户的UID
Sale_Sale1目录中,是将Sale共享目录以Sale1身份登入挂载的,所以可以进行读写操作,文件的所有者UID为1001,即为Sale1账户的UID
Sale_Technology1目录中,是将Sale共享目录以Technology1身份登入挂载的,所以没有权限进行读写操作
Technology目录中,是将Technology共享目录以Technology1身份登入挂载的,所以可以进行读写操作,文件的所有者UID为1002,即为Technology1账户的UID

服务器端检查是否创建相应文件以及文件所有者信息

root@Server ~]# cd /Sale/
[root@Server Sale]# ll
总用量 0
-rw-r--r-- 1 Sale1 Sale 0 1211 2021 file1
[root@Server Sale]# cd /Technology/
[root@Server Technology]# ll
总用量 0
-rw-r--r-- 1 Technology1 Technology 0 1211 2021 file1
[root@Server Technology]# cd /Public/
[root@Server Public]# ll
总用量 0
-rw-r--r-- 1 Boss Boss 0 1211 2021 file1
[root@Server Public]# 

三、Windows客户端进行测试

在Windows客户端进行访问测试 在此电脑中输入\192.168.43.128,进行访问测试 或Win +
R输入\192.168.43.128,进行访问测试 以不同的身份登入到Samba服务器,分别在不同的文件夹中创建文件,查看是否具有权限
创建完成后,可以在服务端,查看相应的目录下是否存在该文件,以及该文件的所有者信息
在Windows客户端访问后,需要切换账户登录,则需要退出登录 在CMD中执行net use * /del /y命令,以清除所有远程

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:39:35  更:2022-10-31 12:40:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:36:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码