支持混合型系统共享的服务器samba

1.smaba是什么?

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

对于一些企业来讲,smb是一个很好解决文件共享的方案,这个软件可以在linux下运用,
smb支持混合型的共享:window和linux、windows和类unix、windows和windows,所以会很好用。

因为我没有windows虚拟机,因此直接做linux和linux之间的实验
一共两台主机,一个客户端,一个服务端

2.SMB文件共享:

实验步骤:
先配置两个虚拟机的ip
配置yum源
(以上操作大家应该都知道,我就不再重复了)

在client105上面:
yum install samba-client -y安装这个服务,我这个客户端才可以使用smb服务端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

***在server205上面:***
yum search samb安装smb服务
yum install 3个一共需要安装三个
samba-client.x86_64 samba-common.x86_64 samba.x86_64

在这里插入图片描述

rpm -ql samba 查看

在这里插入图片描述

rpm -ql samba-common 查看

在这里插入图片描述

getenforce
vim /etc/sysconfig/selinux
getenforce
vim /etc/samba/smb.conf 查看配置文件里面的要求
mkdir /westos建立一个共享目录
semanage fcontext -a -t samba_share_t '/westos(/.*)?'更改安全上下文
restorecon -RvvF /westos加载

在这里插入图片描述
在这里插入图片描述

vim /etc/samba/smb.conf编辑配置文件
加入:[LEE]对外共享的总名称
     path=/westos实际共享的目录

在这里插入图片描述

systemctl restart smb 重启
systemctl enable smb 开机启动
systemctl status firewalld
systemctl stop firewalld关闭火墙

在这里插入图片描述

id westos查看westos用户是否存在
useradd westos先建立westos用户
smbpasswd -a westos设置密码

在这里插入图片描述

pdbedit -L查看用户
cd /westos切换到共享目录下面
ls
touch file建立测试的文件
ls

在这里插入图片描述
在client105上面:

smbclient -L //172.25.254.111匿名用户不可以
smbclient -L //172.25.254.111/LEE查看对方共享出来的东西

在这里插入图片描述

smbclient  //172.25.254.111/LEE -U westos加上用户之后查看共享目录
ls
mount //172.25.254.111/yyh /mnt -o username=westos,password=lee挂载才能使用
df
cd /mnt
ls
rm -rf * (read-only 服务本身不允许)

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
所以接下来就是在配置文件里写上该有的权力,这样才可以进行一系列的工作

########################################以下是在配置文件修改权限,之后在客户端进行测试;

服务端:

vim /etc/samba/smb.conf
加入:comment=westos dir 加入对这个共享目录的说明
 systemctl restart smb.service

在这里插入图片描述

客户端测试:

列出信息smbclient -L //172.25.254.205/yyh,可以看到刚才的说明

在这里插入图片描述

服务端:

vim /ect/samba/smb.conf
browseable=no 隐藏这个共享目录,-L看不见,但是可以进去
systemctl restart smb
在这里插入图片描述
客户端测试:

smbclient -L //172.25.254.111/yyh 看不到LEE
smbclident //172.25.254.111/LEE -U westos 登陆进去可以

在这里插入图片描述
在这里插入图片描述

服务端:

vim /etc/samba/smb.conf
valid users=westos 客户端可以用来登陆服务端的用户身份

在这里插入图片描述
pdbedit -L查看smb用户(我的用户已经存在就不再建立了,但是命令还是有滴)
在这里插入图片描述

    useradd lee
    smbpasswd -a lee
    pdbedit -L

假如系统本身就有此用户,比如student用户,就不用新建立,只需添加金smb服务里就行

smbpasswd -a student(student是系统本身的本地用户,现在加到smb服务里面)
pdbedit -L
pdbedit -x student删除
pdbedit -L

测试:
smbclient //172.25.254.111/LEE -U westos可以
smbclient //172.25.254.111/LEE -U lee 不可以
在这里插入图片描述
在这里插入图片描述
服务端:

valid users=+westos 属于westos组的用户才可以

在这里插入图片描述

usermod -G westos lee 将lee用户加入westos组
id lee
刚才lee不可以,现在lee就可以了

在这里插入图片描述
在这里插入图片描述

服务端:

writable =yes 登陆进去是可以rm删除和put上传(不识别touch)

在这里插入图片描述
setfacl -m u:lee:rwx /westos设定权限
在这里插入图片描述

测试:看是否符合设定
在这里插入图片描述
注意:服务和目录本身的写权力都要开启才可以

服务端:

 write list =@westos  westos这个组的用户才可以写(这个和writable=yes不能同时出现)

在这里插入图片描述
测试:
在这里插入图片描述

服务端:

guest ok =yes 使匿名用户可以

在这里插入图片描述
测试:直接可以
在这里插入图片描述
但是不能挂载
mount //172.25.254.111/LEE /mnt -o username=guest,password=""

加入map to guest = bad user 使匿名用户可以挂载

在这里插入图片描述

3.怎样实现smb的多用户挂载?

刚才在服务端将smb服务设置好之后
客户端实现挂载,对smb的共享目录进行修改
这个时候客户端以服务端lee身份实现登陆
现在客户端的linux用户也想使用smb服务
当linux用户直接可以查看root用户挂载在/mnt的东西时,这样是很不安全的
应该客户端地每一个用户在smb服务端均有自己的用户

实验步骤如下:
客户端:

mount //172.25.254.111/LEE /mnt -o username=lee,password=lee客户端挂载
df查看挂载

在这里插入图片描述

cd /mnt
ls
useradd linux
id linux
su - linux
cd /mnt
ls也可以看到root用户挂载后/mnt下面的东西

在这里插入图片描述

mount 可以看到是lee身份的smb

在这里插入图片描述
在这里插入图片描述

umount /mnt
df

在这里插入图片描述

 yum install cifs-utils -y 安装可以实现多用户挂载的服务

在这里插入图片描述
在这里插入图片描述

vim /root/smbauth smb挂载用户身份的一个认证文件
之前挂载的时候用户是裸露在外面的,现在写在认证文件里面
username=lee
password=lee

在这里插入图片描述
chmod 600 /root/smbauth
ls -l /root/smbauth
在这里插入图片描述

mount //172.25.254.111/LEE /mnt -o credentials=/root/smbauth

在这里插入图片描述
mount(仍然可以看到挂载用户)
在这里插入图片描述

su - linux
cd /mnt
ls  还是可以看到共享的文件
exit

在这里插入图片描述

umount /mnt

在这里插入图片描述

mount //172.25.254.111/LEE /mnt -o credentials=/root/smbauth,sec=ntlmssp,multiuser
su - linux
cd /mnt
ls
被拒绝

在这里插入图片描述

4.现在为linux用户创建挂载用户

cifscreds --help 
cifscreds add -u westos 172.25.254.111
cd /mnt
ls
此时就可以看了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cifscreds clear -u westos 172.25.254.111
(清理一些文件的东西,但是已经创建的samba用户的这个结果在,想要清除的话,就得关闭系统)

在服务端:

cd /westos
ll 在服务端是属于westos的

在这里插入图片描述

5.怎样实现永久挂载

在客户端:
先卸载掉之前临时挂载的

    vim /etc/fstab
    //172.25.254.111/LEE /mnt cifs defaults,credentials=/root/smbauth,sec=ntlmssp,multiuser 0 0
    mount -a  
    df

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值