RedHat : SAMBA 服务

本文介绍了如何在RedHat系统中配置SMB服务,包括安装samba软件包、配置yum源、设置共享目录及权限、添加访问用户等步骤,并解决了因SeLinux导致的访问问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


从在 VirtualBox 刚装好的 RedHat 开始,首先安装 samba,检查 samba 是否已经安装

[root@com5 Desktop]# rpm -qa | grep samba
samba-winbind-3.6.9-151.el6.x86_64
samba-winbind-clients-3.6.9-151.el6.x86_64
samba4-libs-4.0.0-55.el6.rc4.x86_64
samba-client-3.6.9-151.el6.x86_64
samba-common-3.6.9-151.el6.x86_64

配置 yum 源为 ISO 文件

在virtualBox 菜单中选择 Devices --> CD/DVD Devices --> choose a virtual CD/DVD disk file...   找到 ISO 文件

找到 ISO 文件所在路径,进入 /media 目录 tab 提示出目录以避免路径字符转义问题,将路径/RHEL_6.4\ x86_64\ Disc\ 1/ 复制到repo文件

修改 /etc/yum.repos.d/rhel-source.repo 文件,添加一个ISO 文件所在路径,将其他yum源禁用

[iso]
name=use ISO install
baseurl=file:///media/RHEL_6.4\ x86_64\ Disc\ 1/
enabled=1
gpgcheck=0

安装 samba,设置smb服务开机自启动

[root@com5 Desktop]# yum install samba
[root@com5 Desktop]# rpm -qa | grep samba
samba-3.6.9-151.el6.x86_64
samba-winbind-3.6.9-151.el6.x86_64
samba-winbind-clients-3.6.9-151.el6.x86_64
samba4-libs-4.0.0-55.el6.rc4.x86_64
samba-client-3.6.9-151.el6.x86_64
samba-common-3.6.9-151.el6.x86_64
[root@com5 yum.repos.d]# chkconfig  | grep smb
smb            	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@com5 yum.repos.d]# chkconfig smb on
[root@com5 yum.repos.d]# chkconfig  | grep smb
smb            	0:off	1:off	2:on	3:on	4:on	5:on	6:off

创建共享目录和文件

[root@com5 /]cd /
[root@com5 /]mkdir smbshare
[root@com5 /]# echo sambaData > /smbshare/file1.data
[root@com5 /]# ll smbshare/
total 4
-rw-r--r--. 1 root root 10 Dec 28 05:22 file1.data
[root@com5 /]# ll -d smbshare/
drwxr-xr-x. 2 root root 4096 Dec 28 05:22 smbshare

添加访问用户

[root@com5 /]# useradd smbuser1
[root@com5 /]# smbpasswd -a smbuser1
New SMB password:
Retype new SMB password:
Added user smbuser1.
[root@com5 /]# 

编辑 /etc/samba/smb.conf 文件,在最后添加下面两行,分别为共享名和共享目录

[shareA]
path = /smbshare

重启 smb 服务

[root@com5 samba]# service smb restart

在 Windows 中访问 SMB 共享目录: 在浏览器中访问 SMB 服务IP, \\192.168.1.111,输入添加的用户 smbuser1 和密码

可以看到在 /etc/samba/smb.conf 中配置的 shareA 目录,但无权限访问。

在主机中测试,同样无法访问

[apache@indigo ~]$ uname -a
Linux indigo 3.10.10-200.fc19.x86_64 #1 SMP Thu Aug 29 19:05:45 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[apache@indigo ~]$ smbclient -L //192.168.1.111 -U smbuser1%smbuser1
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-151.el6]

	Sharename       Type      Comment
	---------       ----      -------
	shareA          Disk      
	IPC$            IPC       IPC Service (Samba Server Version 3.6.9-151.el6)
	smbuser1        Disk      Home Directories
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-151.el6]

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

	Workgroup            Master
	---------            -------
[root@indigo apache]# mount -t cifs //192.168.1.111 /tmp/smbshare/ -o username=smbuser1,password=smbuser1
[root@indigo smbmount]# cd /tmp/smbmount/
[root@indigo smbmount]# ll
ls: reading directory .: Permission denied
total 0
这个访问问题是由于 SeLinux 阻挡了,解决办法有三个: 关闭SeLinux,临时修改SeLinux boolean值或修改共享目录的属性

方法一、关闭 Selinux:
[root@com5 Desktop]# setenforce 0
方法二、修改 Selinux boolean  值,只要查看可能需要修改哪些值,最多将他们全部修改即可,例如下面如设置了 samba_export_all_rw 一个值,客户端便可以访问了

[root@com5 Desktop]# getsebool -a | grep samba
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off
[root@com5 Desktop]# setsebool samba_export_all_rw=1
[root@com5 Desktop]# getsebool -a | grep samba
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> on
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off
[root@com5 Desktop]# 
方法三、修改共享目录的标签

在文件 /etc/samba/smb.conf 中已经告诉我们该怎么做了,拿过来运行一下就可以了

[root@com5 samba]# chcon -R -t samba_share_t /smbshare/
[root@com5 samba]# ls -ldZ /smbshare/
drwxr-xr-x. root root unconfined_u:object_r:samba_share_t:s0 /smbshare/
[root@com5 samba]# 
以上即为 SMB 的最简配置


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值