linux中samba的应用

本文详细介绍了Samba服务在Linux系统中的应用,包括服务的基本信息如启动脚本、配置目录、端口等,以及Samba的安装、启用、用户建立、共享目录、访问控制、读写权限设置、匿名访问和多用户认证等关键步骤。通过实验环境展示了Samba的实际操作过程。

一. samba服务简介

作用:
smb = Server Message Block Sum
cifs = Common Internet File System Miscrosoft
windows系统共享文件时用到的协议smb
smb是由miscrosoft+sun

二.samba基本信息

1.服务启动脚本

smb.service

2.主配置目录

/etc/samba

3.主配置文件

/etc/smb.conf

4.安全上下文

samba_share_t

5.端口

139
445

6.安装包

samba
samba-common

三.samba的安装与启用

1.samba的安装

dnf install samba samba-common samba-client -y

2.samba服务启动

systemctl enable --now smb

3.samba服务启用

firewall-cmd --permanent --add-service=samba
firewall-cmd --reload 

4.实验环境

172.25.254.200 westos_storage ----samba的服务器端
172.25.254.202 westoslinux
借用真实主机的网络仓库就ok,=需要注意的是,现在虚拟机装好本地仓库,下载好httpd,然后再搭建网络仓库

5.安装及启用的实验

   15  dnf install samba samba-common.noarch samba-client.x86_64 -y
   16  systemctl enable --now smb.service 
   17  firewall-cmd --permanent --add-service=samba
   18  firewall-cmd --reload 
   22  smbclient -L //172.25.254.200

四.samba用户的建立

1.samba用户必须是被地存在的用户

2.samba用户的建立

smbpasswd -a lee	##添加用户
pdbedit -L		##查看用户列表
pdbedit -x lee		##删除用户

3.实验

   24  smbpasswd -a westos //添加一个westos的用户,这个用户必须是在samba上真实存在的
   25  smbpasswd -a hkk	//添加失败,因为hkk在samba服务器上不存在
   26  useradd -s /sbin/nologin hkk -M	//添加一个用户
   27  smbpasswd -a hkk			//再次添加用户,添加成功
   28  pdbedit -x hkk	//删除用户
   29  pdbedit -L	//列出所有的用户
   30  smbclient -L //172.25.254.200 -U westos    //以westos的身份连接
   32  smbclient  //172.25.254.200/westos -U westos	//连接该服务器的westos的文件,并列出

五.samba用户访问加目录

1.当selinux开启时

setsebool  -P samba_enable_home_dirs on	//允许访问家目录

2.windows下

\\172.25.254.20		##访问
net use			##查看访问记录
net use * /del		##删除访问记录

3.在linux下

smbclient  //172.25.254.20/westos -U westos

4.允许访问家目录的实验

   36  cd /etc/samba/
   37  ls
   38  cp smb.conf.example smb.conf
   39  vim /etc/samba/smb.conf	//删除27行的注释
   40  setsebool -P samba_enable_home_dirs on	//在selinux池中添加允许
   41  smbclient  //172.25.254.200/westos -U westos	//继续访问家目录,可以ls

六.samba服务共享目录

   46  mkdir /westos_share  //创建目录
   47  ls -ld /westos_share/	//查看目录的权限
   48  vim /etc/samba/smb.conf		//编辑配置文件
		314         [westos_share]
		315         comment = westos_share
		316         path = /westos_share

   49  systemctl restart smb.service 	//重启服务
   50  smbclient -L //172.25.254.200 -U westos		//登陆,可以登陆
   51  touch /westos_share/westosfile{1..5}		//创建文件
   52  smbclient -L //172.25.254.200/westos_share -U westos	//登陆这个目录,不能ls
   59  semanage fcontext -a -t samba_share_t '/westos_share(/.*)?'//更改selinux的安全上下文
   60  restorecon -RvvF /westos_share/	//重新加载安全上下文
   61  smbclient  //172.25.254.200/westos_share -U westos //重新访问目录

七.samba的访问控制

  81  vim /etc/samba/smb.conf
	 90       hosts allow = 127. 192.168.12. 192.168.13.	//允许的ip
	 91       hosts deny = 172.25.254.202					//拒绝的ip

八.samba的常用配置参数

writable = yes		##可写
write list = westos	##指定用户可写
write list = +westos	##指定组可写
write list = @westos
valid users = lee	##指定访问用户
valid users = +lee|@lee	##指定访问组
browseable = yes|no	##是否隐藏共享

map to guest = bad user	##写到全局设定中
guest ok = yes		##允许匿名用户访问
admin users = lee	##指定此共享的超级用户身份呢

九.samba的读写

1.服务器

chmod 777 /westos_share ##只考虑实验的情况下,给/westos_share/满权限
vim /etc/smb.conf:
	[westos_share]
	comment=westos_share dir
	path=/westos_share
	wreitable=yes /no ##共享文件读写权限开放/

2.客户端测试

mount //172.25.254.137/westos_share /mnt -o username=lee,password=lee
touch /mnt/file ##此时可以写入 

3.服务器

vim /etc/smb.conf:
	[westos_share]
	comment=westos_share dir
	path=/westos_share
	write list =用户  (+/@用户) ##writeable只对指定用户生效,(对指定用户及用户组成员生效。)

十.指定匿名用户访问

默认情况下匿名用户不可以访问samba服务

1.允许匿名访问

vim /etc/smb.conf
118        map to guest=bad user ##把匿名用户映射为guest
 
	[westos_share]
	comment=westos_share
	path=/westos_share
	;writeable=yes
	;       write list=+lee
	guest ok =yes | no  ##此共享允许/不允许

2.测试

smbclient //172.25.254.137/westos_share
ls

十一.autofa自动化挂载(客户端)

1.配置

   71  umount /mnt
   48  vim /etc/auto.master
	/westos  /etc/auto.share		/挂载的目录的上层目录	子配置文件
   49  vim /etc/auto.share			//编辑子配置文件	
	samba   -fstype=cifs,username=westos,password=westos            ://172.25.254.200/westos_share		//挂载点    挂载的类型 用户名  密码		挂载的资源
   50  vim /etc/autofs.con	//5s自动卸载
	timeout = 5
   58  systemctl restart autofs.service 	//重启

2.测试

   73  cd /westos	//进入挂载点,
   74  ls			//查看文件有无samba
   75  cd samba		//发现没samba,但是可以cd进去
   76  ls			//samba中有文件
   77  df			//有挂载的信息
   78  cd 			//返回根
   79  df			//5s后df发现挂载的信息没了

十二.多用户认证访问

1.问题

root用户用自己的samba账号挂载了服务器的资源,自己可以使用,但是客户端的westos没有samba认证挂载也可以使用

mount //172.25.254.200/westos_share /mnt -o username=westos,password=westos		
su - westos
ls  /mnt   //可以访问服务器的资源,出现了严重的越级错误

2.密码加密

dnf install cifs-utils -y   //多用户认证插件
vim  /etc/smbpass     //编辑认证的账号的配置文件,直接书写账号密码,会被查询历史纪录,所以用文件加密
	username=westos
	password=westos
chmod 600 /etc/smbpass    //除了文件的拥有者,其他人不能看
mount -o credentials=/root/smbpass  //172.25.254.200/westos_share /mnt/			//用参数指定密码文件后密码文件不能被看到了

3.多用户的认证和认证方式

mount -o credentials=/root/smbpass,multiuser  //172.25.254.200/westos_share /mnt/	//添加了多用户认证,未认证不能访问
ls /mnt/	//显示被拒绝
mount -o credentials=/root/smbpass,multiuser,sec=ntlmssp  //172.25.254.200/westos_share /mnt/		//挂载的时候添加了认证的安全方式
cifscreds add -u westos 172.25.254.200		//添加用户,如果添加完输入密码时错误,使用cifscreds clearall,再次重复添加
cifscreds add -u westos 172.25.254.200	
ls /mnt/		//这个时候可以访问服务器的资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值