码迷,mamicode.com
首页 > 系统相关 > 详细

Linux7/Centos7 samba服务配置详解

时间:2018-06-12 10:23:34      阅读:457      评论:0      收藏:0      [点我收藏+]

标签:Linux   Centos   系统   运维   

RHEL7配置samba:开机自动挂载以及多用户挂载

安装samba(centos 7/redhat 7提供的samba版本是samba 4)

技术分享图片

开机启动

技术分享图片

启动服务
技术分享图片

查看监听端口(使用netstat或ss命令查看连接状态)

技术分享图片

防火墙放行
技术分享图片

然后我们看看配置文件 smb.conf

注意配置任何服务的时候,涉及到权限访问的配置都有一个基本的顺序:

1.配置文件,各种conf文件里面的设置

2.文件权限的访问,用户是否有对应的rwx权限

3.SELinux的上下文和布尔值是否打开了

SMB也不例外。

配置文件一开始就提醒SELinux的配置。

技术分享图片

标号1:告诉我们可以执行testparm检测samba配置文件的语法正确性

标号2:samba_enable_home_dirs布尔值允许访问用户的家目录

标号3:samba_share_t需要把这个上下文分配给对应的共享文件

global的配置部分主要设置工作组名、描述信息、netbios名、监听接口或IP、允许域名或网络范围等等

技术分享图片

注:hostsallow表示允许的IP或域名,书写格式可以用以下方式表示

  1. 主机IP:多个IP地址用空格分隔,如:172.25.0.1172.25.0.2

  2. 网段:可以用掩码长度或子网掩码表示,如:172.25.0.0/24或172.25.0.0/255.255.255.0

  3. IP子网前缀:172.25.0.或172.25.表示以172.25.0.或172.25.开始的地址

  4. 主机名或主机后缀名:如desktop.example.com或.example.com

  5. IPV6地址:2001:db8:0:1::/64

日志存放点,本地验证的方式使用user(用户名方式验证)

技术分享图片

samba 4 下参数security的值不再允许是share和server,建议使用user

samba 4 下如果希望有匿名访问共享,可将 map to guest = Bad User 打开

在[global]节中加入map to guest =Bad User,这个配置的意思是将所有samba系统主机所不能正确识别的用户都映射成guest用户,这样其他主机访问samba共享目录时就不再需要用户名和密码了,在定义共享部分添加guestok = yes。

最后是共享文件

技术分享图片

例1:接下我们来创建一个目录(如:/common),通过samba输出共享

通过 SMB 共享/common 目录,samba服务器必须是 STAFF 工作组的一个成员,共享名必须为 common,只有 group3.example.com 域内的客户端可以访问 common 共享(group3.example.com中的系统都在子网172.24.3.0/24中),同样在这个子网中的系统都在,common 必须是可以浏览的,用户 harry 必须能够

读取共享中的内容,如果需要的话,验证的密码是 migwhisk

#yuminstall –y samba samba-client samba-common //该包里有 smbpasswd 命令

#mkdir /common

#chcon -R -t samba_share_t /common

#setsebool -P samba_export_all_rwon

vim/etc/samba/smb.conf

workgroup= STAFF

[common]

path =/common

browseable= yes

#useradd harry

#smbpasswd -a harry ->密码设置为 migwhisk

注:与samba配套使用的smbpasswd在samba-client中,建议安装时一并安装samba-client

#systemctl start smb

#systemctl enable smb

#firewall-cmd--zone=public --permanent–add-rich-rule=’rule family=”ipv4” source address=172.24.3.0/24service name=samba accept’

#firewall-cmd–reload

或者

在smb.conf配置文件的共享定义中使用hosts allow = 172.24.3.只允许group3.example.com 域内的客户端访问。

在客户端上测试访问samba共享

Windows客户端

输入”//samba服务器的IP”回车

技术分享图片

输入用户名和密码,回车

技术分享图片
从linux客户端测试访问

技术分享图片

技术分享图片

注:挂载smb共享使用的是cifs文件系统

或使用mount.cifs挂载

技术分享图片

注:mount.cifs命令由cifs-utils软件提供

注:sec选项的作用是选择安全模型

注:linux作为客户端挂载windows的共享(共享目录是ntfs文件系统)也需要安装cifs-utils包

可以用man mount.cifs查看手删页

技术分享图片

例2:配置多用户SMB挂载

在system1共享通过SMB目录/devops满足以下要求:

共享名为devops

共享目录devops只能被group3.example.com域中的客户端使用

共享目录devops必须可以被浏览

用户kenji必须能以读的方式访问此共享,该问密码是atenorth

用户chihiro必须能以读写的方式访问此共享,访问密码是atenorth

此共享永久挂载在system2.group3.example.com上的/mnt/dev目录,并使用用户kenji作为认证。任何用户可以通过用户chihiro来临时获取写的权限。

在 system1 (smb共享服务器)上创建目录

#mkdir /devops

创建相关用户

#useradd kenji

#useradd chihiro

设置/devops目录的acl权限

#setfacl -m u:chihiro:rwx /devops

设置selinux

#chcon -R -t samba_share_t /devops

#setsebool -P samba_export_all_rwon

修改配置文件

vim/etc/samba/smb.conf

[devops]

path =/devops

browseable= yes

writelist = chihiro

添加samba用户

#smbpasswd -a kenji

#smbpasswd -a chihiro

重启服务

#systemctl restart smb nmb

system2(smb客户端)上的配置如下:

创建用于测试相关用户

#useradd lisi

#useradd zhangsan

创建挂载点:

#mkdir /mnt/dev

创建密码文件

vim/root/multiuser.txt

username=kenji

password=atenorth

在 fstab 中写入:

//system1.group3.example.com/devops /mnt/dev cifs

defaults,credentials=/root/multiuser.txt,multiuser,sec=ntlmssp0 0

注:在客户端挂载smb共享若使用credentials(指定验证凭证)参数则要安装cifs-utils软件包。

或在 fstab 中写入:

//system1.group3.example.com/devops /mnt/dev cifs

defaults,username=kenji,password=atenorth,multiuser,sec=ntlmssp0 0

#mount –a

执行df –hT验证挂载

技术分享图片

#su – lisi

技术分享图片

从上图可以看到客户端用户lisi没有任何权限,lisi若要以只读方式访问共享目录则执行下面的命令同步服务器kenji用户身份

#cifscredsadd system1 -u kenji

如下图所示:
技术分享图片

从上图可以看到客户端用户lisi可以进行读操作但仍然不能执行写操作。

客户端zhangsan用户可以对共享目录执行写操作又如何实现呢?

方法是执行下面的命令同步服务器chihiro用户身份

#su – zhangsan

#cifscredsadd system1 –u chihiro

技术分享图片

注:cifscreds是管理认证凭据(用户名和密码),用于多用户建立会话目的的工具

例3:需求描述

共享名路径权限

sharedoc/smb/docs所有人员包括来宾均可以访问

rddocs /smb/tech 仅允许特定组的用户进行读写访问

特定组的组名为rd,目前的Alice、Jack、Tom三个人

配置samba服务器

创建共享目录(假设共享/smb目录下的文件)

#mkdir -p /smb/docs

#mkdir -p /smb/tech

编辑smb.conf文件

在全局部分添加map to guest项

技术分享图片
在共享定义部分添加如下共享配置项
技术分享图片

创建系统用户和组账户

技术分享图片

将用户添加到rd组
技术分享图片

创建samba用户

技术分享图片

修改目录权限

技术分享图片

重启smb服务
技术分享图片

在客户端上测试访问smb共享

以windows系统为例,在客户端上输入:\samba服务器ip

直接打开共享窗口,当访问rrdocs共享目录时,需要输入用户名和密码

如果对此有兴趣,请扫下面二维码免费获取更多详情
技术分享图片

Linux7/Centos7 samba服务配置详解

标签:Linux   Centos   系统   运维   

原文地址:http://blog.51cto.com/11233498/2128292

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!