cifs文件存储与samba服务(二)samba在linux下的配置


由于实验环境的限制(本人主机上没有windows)本文主要讲解linux下的samba服务的搭建与基本配置。希望以linux下的samba基本操作来更好的理解samba。

搭建samba服务器

实验背景
服务端: desktop 172.25.254.110 客户端: server 172.25.254.210
实验步骤:

在服务端 desktop

yum install  samba(服务的启动软件)samba-common (包括服务的配置文件) samba-client((安装此软件才能添加samba用户) -y #samba服务比较特殊,两个都安装,才能启动samba服务

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

rpm -qa | grep samba 
rmp -qc samba-common #查看配置文件
rpm -ql samba-4.1.1-31.el7.x86_64

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

cd  /etc/samba
ls
vim smb.conf

添加共享
[WESTOS]
comment = share local directory #对共享的描述
path = /sambashare #共享的文件路径
writeable = yes #设置可写

在这里插入图片描述

mkdir  -vp /sambashare #显示创建过程
chmod 777 /sambashare
getenforce

在这里插入图片描述

systemctl start smb
systemctl enable smb
netstat - antlupe | grep smb

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

firewall-cmd --permanment --list -services
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

firewall-cmd --list-all

在这里插入图片描述
在客户端 server中

yum install samba-client -y

在这里插入图片描述

smbclient -L //172.25.254.110 -U  
查看是否能看到desktop共享的WESTOS

在这里插入图片描述

服务端添加samba用户

在服务器端

useradd -s /sbin/nologin(不提供shell登录界面) -M (不建立用户家目录)  westos #添加samba用户westos
id westos
smbpasswd -a westos 设置westos的密码

useradd  -s /sbin/nologin -M lee
smbpasswd -a lee

ls /home/
pdbedit -L #查看新添加的samba用户
pdbedit -x xxx 删除samba用户

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

在客户端

smbclient -L //172.25.254.110 -U lee #列出共享

smbclient //172.25.254.110/WESTOS -U lee #进入WESTOS共享

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

本机位置在root的家目录
smbclient //172.25.254.110/WESTOS -U lee 
!ls  #查看本机的当前位置的文件
put anaconda-ks.cfg  将此文件上传至共享

在这里插入图片描述
在服务器

cd /sambashare/
ll #发现文件的用户和组都是lee

在这里插入图片描述

客户端手动挂载

在客户端

mount //172.25.254.110/WESTOS  /mnt -o username=lee,password=lee
cd /mnt/
ls
df
umount /mnt

在这里插入图片描述

永久挂载

方式一:vim /etc/fstab
添加 //172.25.254.110/WESTOS  /mnt cifs  defaults,username=lee,password=lee 0(不备份)  0(不检测)

方式二:或者将上述命令写在
 /etc/rc.d/rc.local里
 
mount -a  
df

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

客户端aufs自动挂载

autofs的作用:
将挂载信息写入到/etc/fstab文件中,可实现开机自动挂载。如果远程共享资源过多,则会给网络带宽和服务器的硬件资源带来很大负载。如果挂载的资源长期不使用,也会造成服务器资源的浪费。
autofs自动挂载服务是一种Linux系统守护进程,当检测到用户试图访问一个尚未挂载的文件系统时,会自动挂载该文件系统。简单来说,将挂载信息写入/etc/fstab文件中,系统在每次开机时都会自动挂载,而autofs服务则是在用户需要使用该文件系统时才去动态挂载,从而节约了网络资源和服务器硬件资源的开销

在客户端:

yum search autofs
yum install autofs.x86_64 -y
systemctl start antofs.service
systemctl enable autofs.service

在这里插入图片描述在这里插入图片描述
目的:
将//172.25.254.110/WESTOS自动挂载到/mnt/WESTOS里面

当你想用目录时,自动挂载(/mnt/WESTOS下),不想用时 ,自动卸载

1.vim /etc/auto.master
/mnt   (最终挂载点的上层目录)  /etc/auto.samba  (挂载的策略文件,名字可以随便起)

2. vim /etc/auto.samba 

WESTOS(最终挂载的目录,相对路径)   -fstype=cifs(文件系统类型),username=lee,password=lee(常规mount时 -o后面的)  ://172.25.254.110/WESTOS(共享源(服务器端)中真实存在的文件)


systemctl restart autofs

在这里插入图片描述在这里插入图片描述在这里插入图片描述
上层目录什么意思?

/mnt/haha/ssbss/123  上层目录是 /mnt/haha/ssbss  挂载目录 123

== 测试:==

cd /mnt/
ls 什么都没有
cd WESTOS
df  看到自动挂载

cd 别处 退出挂载点目录时     df  默认等待300秒会自动卸载

在这里插入图片描述
改变退出卸载时长

vim  /etc/sysconfig/autofs   
编辑
TIMEOUT=3
设置不访问时3秒之后 自动卸载 

systemctl restart autofs

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

samba 服务的全局设定

服务端 即改即生效
vim /etc/samba/smb.conf 分号是注释的意思

1.更改域

89 行 workgroup = WESTOS 表示共享的域是WESTOS

在这里插入图片描述

测试:

smbclient -L //172.25.254.110
Domain = WESTOS

在这里插入图片描述
2.黑白名单的设定

hosts deny = 172.25.254.210  # 禁止210连接

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

客户机:smbclient -L //172.25.254.110 连接失败

在这里插入图片描述
注释掉黑名单,设置白名单

hosts allow = 172.25.254.210 #只允许210连接

3.匿名用户的登录

map to guest =bad user  把匿名用户(bad user) 映射成guest
并且 在WESTOS域中添加
guest ok = yes

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

 客户机:smbclient // 172.25.254.110/WESTOS 匿名用户登录时不需要密码

在这里插入图片描述

4.匿名用户的挂载

客户机:

mount //172.25.254.110/WESTOS /media/ -o username=guest
df
umount /media/

在这里插入图片描述

服务端对某个共享的设定

1.隐藏列出

在WESTOS共享下
添加
browseable = no 

在这里插入图片描述

测试:

在客户机 smbclient -L //172.25.254.110 发现sharename等被隐藏

在这里插入图片描述
2.生效的用户 表示哪些用户或者哪些用户组可以挂载等

在WESTOS共享下添加

valid users = lee

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

测试:

在客户端
mount //172.25.254.110/WESTOS  /mnt/ -o username=westos,password=westos #发现挂载失败

在这里插入图片描述

valid  users = +lee 或者@lee    表示lee组的成员 是生效的

在这里插入图片描述

usermod -G lee westos 将lee组添加至westos的附加组

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

mount //172.25.254.110/WESTOS /mnt/ -o username=westos,password=westos  挂载成功

在这里插入图片描述
3.write list 可写的用户列表或者组 和 writeable =yes 冲突
不成功就重启服务

在WESTOS共享下添加

write list = westos 应该先将writebale = yes 注释掉

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

mount //172.25.254.110/WESTOS /mnt/ -o username=lee,password=lee #失败
cd /mnt/
ll

在这里插入图片描述
在服务端

vim /etc/samba/smb.conf
添加 write list = @westos

systemctl restart smb
id  lee
usermod -G westos lee
id lee

在这里插入图片描述
在这里插入图片描述
在客户端

mount //172.25.254.110/WESTOS /mnt/  -o username=lee,password=lee
cd /mnt/
ls
touch ll
ll

在这里插入图片描述
在服务端:
在这里插入图片描述
4.成为某个共享的超级用户

在共享WESTOS下添加

 admin users = lee

在这里插入图片描述
在客户端

mount //172.25.254.110/WESTOS /mnt/ -o username=lee,password=lee
cd /mnt/
ls
touch iamlee 发现文件的用户都是root ,id为0

有一部分截图遗漏了
在这里插入图片描述服务端;
在这里插入图片描述

samba的多用户(客户端)挂载

在客户端做 多用户是指客户机的多用户
student 和root 是你本机客户机的用户
你添加的 lee westos是samba的用户

1.root用户添加samba用户lee

yum install cifs-utils -y  
保证系统内核在3以上
uname -r 查看内核 版本


vim /etc/auto.samba 
添加如图
WESTOS  -fstype=cifs,credentials=/root/smbpass,sec=ntlmssp,multiuser ://172.25.254.110/WESTOS

1.在这里插入图片描述2.在这里插入图片描述3.在这里插入图片描述

vim /etc/root/smbpass #root用户执行samba服务时,可用的samaba用户
添加
useraname=lee
password=lee

chmod 600 /root/smbpass
systemctl restart autofs

1.在这里插入图片描述2.在这里插入图片描述3.在这里插入图片描述

cd /mnt/
cd WESTOS
ls

在这里插入图片描述客户端:
在这里插入图片描述服务端:
在这里插入图片描述
2.student用户添加samba用户westos
开始时

su -student
cd /mnt/
cd WESTOS
ls 显示被拒绝

在这里插入图片描述

rpm -ql cifs-utils
cifscreds --help

添加 cifscreds add  -u westos 172.25.254.110

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

cd /mnt/
cd WESTOS
ls 成功
touch ff 
ll 发现用户和组的id ,虽然id和服务器端一样都是1001,但是用户名不一样。

在这里插入图片描述

cifscreds clearall #清除student用户的所有samba用户
cifscreds clear -u westos 172.25.254.110 #清除指定用户

在这里插入图片描述

cd /mnt/
cd WESTOS
ls 被拒绝

selinux影响下的samba的相应设置

打开 desktop(服务端)的selinux
getenforce
在这里插入图片描述在这里插入图片描述
1.自建目录 要共享 ——>更改安全上下文

ls -Zd /sambashare/
semanage fcontext -a -t samba_share_t '/sambashare(/.*)?'
restorecon -RVVF /sambashare/

在这里插入图片描述

在客户端

cd /mnt/
cd WESTOS
touch bb
ll

在这里插入图片描述

2.系统目录的更改要共享——>设置它的sebool值
不能改它的安全上下文 否则会影响目录对其他的 影响

在服务端

vim /etc/samba/smb.conf
在WESTOS共享中
更改共享文件为
path = /mnt

在这里插入图片描述

touch /mnt/hello

不做任何设置时,students ls不到任何内容
在这里插入图片描述

getsebool -a | grep samba
setsebool -P samba_export_all_rw on 或者1  或者true

在这里插入图片描述
在客户端

cd /mnt/
cd WESTOS
ls
touch gg
ll

在这里插入图片描述

注意:

smb/cifs 主要实现windows——>linux(unix) ----samba
linux/unix——> linux/unix ====nfs

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值