ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RedHat学习笔记40--Samba文件共享服务

2021-09-10 21:33:02  阅读:193  来源: 互联网

标签:samba RedHat database 文件共享 systemctl Samba home smb


本系列博客是笔者在学习刘遄的《Linux就该这样学》的笔记,个人觉得这是一本很好的书,很值得我们去学习。因为笔者是自学,可能有些问题了解的层面没有那么深,各位大牛在看到笔者写的内容有错漏,望指出并给出建议,感激不尽!



  1. Samba文件共享服务
# 1.配置好yum仓库,安装samba服务程序
yum install samba.x86_64

# 2.筛选没有注释的内容
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf
cat /etc/samba/smb.conf

# 内容如下:
[global]
	workgroup = SAMBA			# 工作组名称;
	security = user				# 安全验证的方式,4种;
	# share:来访主机无需验证口令,方便,但安全性差;
	# user:需验证来访主机提供的口令后才可以访问,安全性提升;
	# server:使用独立的远程主机验证来访主机提供的口令(集中管理账户);
	# domain:使用域控制器进行身份验证;
	passdb backend = tdbsam		# 定义用户后台的类型,3种;
	# smbpasswd:使用smbpasswd命令为系统用户设置Samba服务程序的密码;
	# tdbsam:创建数据库文件并使用pdbedit命令建立Samba服务程序的用户;
	# ldapsam:基于LDAP服务进行账户验证。
	printing = cups				
	printcap name = cups		
	load printers = yes			# 设置在Samba服务启动时是否共享打印机设备;
	cups options = raw			# 打印机的选项;
[homes]
	comment = Home Directories	# 描述信息;
	valid users = %S, %D%w%S	
	browseable = No				# 指定共享信息是否在"网上邻居"可见;
	read only = No
	inherit acls = Yes			
[printers]						# 打印机共享参数;
	comment = All Printers
	path = /var/tmp
	printable = Yes
	create mask = 0600
	browseable = No
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	write list = @printadmin root
	force group = @printadmin
	create mask = 0664
	directory mask = 0775

12

  1. 配置共享资源
    Samba服务程序主配置文件包括:全局配置参数、区域配置参数;
    全局配置参数:设置整体的资源共享环境,对里面的每一个独立的共享资源都有效;
    区域配置参数:设置单独的共享资源,仅对该资源有效。
设置Samba服务程序的参数及作用:
[database]:共享名称为database;
comment=Do not arbitraily modify the database file:警告用户不要随意修改数据库;
path=/home/database:共享目录为/home/database;
public=no:关闭"所有人可见";
writable=yes:允许写入操作。
# Tips:
# a.Samba服务默认使用用户口令认证模式;
# b.Samba服务的数据库要求账户必须在当前系统已经存在,
# 否则日后创建文件时将导致文件的权限属性混乱不堪,引发错误。

# 1.创建用于访问共享资源的账户信息;
# pdbedit命令:
# 含义:管理SMB服务程序的账户信息数据库;
# 格式:pdbedit [选项] 账户

# pdbedit参数:
-a 用户名:建立Samba账户;
-x 用户名:删除Samba账户;
-L :列出账户列表;
-Lv:列出账户详细信息的列表。

id hackerluo
pdbedit -a -u hackerluo

# 2.创建用于共享资源的文件目录。
# a.考虑文件读写权限问题;
# b.考虑应用于该目录的SELinux安全上下文的限制。
mkdir /home/database
chown -Rf hackerluo:hackerluo /home/database
semanage fcontext -a -t samba_share_t /home/database
restore -Rv /home/database

# 3.设置SELinux服务与策略,使其允许通过Samba服务程序访问普通用户家目录;
getsebool -a | grep samba
setsebool -P samba_enable_home_dirs=on

# 4.在Samba主配置文件中写入共享信息
vim /etc/samba/smb.conf

# 内容:
[database]
	comment = Do not arbitrarily modify the database fiile
	path = /home/database
	public = no
	writable = yes

# 5.重启服务
systemctl restart smb.service
systemctl enable smb.service
iptables -F
service iptables save 

# 注:The service command supports only basic LSB actions 
# (start, stop, restart, try-restart, reload, force-reload, status). 
# For other actions, please try to use systemctl.

# 解决方案:
systemctl stop firewalld.service
systemctl mask firewalld.serviec
yum install iptables-services.x86_64
systemctl enable iptables
systemctl restart iptables
iptables -F
service iptables save

1
2
345

  1. Windows访问文件共享服务
# 1.在Window系统-->运行(win+R):输入"\\服务器IP"
\\192.168.1.103
# 输入账号密码

# 2.可以正常共享文件

# 测试网络连通性:
# Linux下ping 192.168.1.102
# Windows下ping 192.168.1.103
# 如果Linux下可以ping通 Windows,Windows下不能ping通 Linux,
# 关闭Linux防火墙
systemctl stop firewalld.service

6
7

  1. Linux访问文件共享服务
    (因笔者的笔记本内存较低,同时运行不了两个虚拟机,该实验过几天补上。)

标签:samba,RedHat,database,文件共享,systemctl,Samba,home,smb
来源: https://blog.csdn.net/qq_39032096/article/details/120228161

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有