RHCE课程-RH253Linux服务器架设笔记三-Samba服务器配置(2)

简介:
上季我们介绍了samba服务器的安装,常用配置文件,还有匿名登陆的samba服务器
今天我们主要学习基于用户名的访问控制
其实samba的访问控制参数都不是很多,只要是你灵活运用,把samba自带的访问控制,防火墙,文件权限等等结合使用,就能搭建功能强大的samba服务器
上季已经说了share级别的安全,今天我们就讲user级别了,把我们下面的任务规划一下
1.一个公司要求一个公共的交换文件服务器,都可以访问并写入,但是不可以删除和修改其他用户的文件
2、技术部需要一个文件服务器,用于存放常用的软件工具,所有人都可以访问,但是只有技术部的人可以写入 
主要就是上面两个功能来开展,我们来分析下
一个samba服务器,要实现上面两个功能
用我们以前学过的知识,你们觉得可以有哪些方案?
用samba服务器实现上面的功能,有两种规划方案
使用域和user级别都可以,但是测试域比较麻烦,还要活动目录,所以我们就使用user级别
有人可能会问为什么不可以使用share级别,如果全局使用share,局部需要用户登陆的话,登陆框是灰色的,不能输入用户名,这个是不是samba服务器设置的一个bug,我也说不清楚,反正我们就尽量不这样设计吧
如果使用user模式,应该需要两个目录,一个是交换目录,一个是技术部的目录,交换目录都可以写入,所以权限要777,但是都可以写入的话,就可以删除别人的文件,所以我们要加个冒险位,限制只有root和文件所有者才能删除,第一个题目完成了
第二个题目就更简单了,所有人可以访问,但是只有技术部的可以写,我们只需要在局部设置write list = @jishubu 就可以了,如果想要更安全的话,还可以设置目录权限是775,让目录属于技术部组
下面我们开始测试吧,建立两个目录,一个是exchange,一个是jishubu,都建立在/下吧,然后改变他们的权限
image
然后添加用户test1 和添加jishubu组,把test1加入到技术部组,最后把/jishubu的所属组改成技术部
image
我们还要建立一个公共的用户,提供所有用户登陆samba服务器使用
useradd smbtest
image
到这里,我们的工作就算完成了,下面我们就开始配置我们的服务器
请大家打开samba服务器的主配置文件 
vim /etc/samba/smb.conf
第一步打开selinux,如果你没有打开的话
复制29行的语句,然后在终端里面执行
image
我们架设服务器的环境是,selinux强制
system-config-selinux修改bool值的
RHEL4的selinux只保护了40多个进程,RHEL5的selinux保护达到了200个进程吧,具体数值记不得了,selinux都是安装了的
setenforce 1,然后getenforce 查看
image
如果是enforcing 处于强制状态就算打开了
selinux有三种状态
image
ENFORCING,就是处于保护状态,selinux会禁止危险的动作并记录日志
permissive  是只记录日志
disabled 关闭 
用setup设置吧
好了,我们继续,然后设置目录的上下文
复制39行的内容,修改要共享目录的上下文,只复制冒号后面的部分
image
chcon -t samba_share_t /exchange/ 
chcon -t samba_share_t /jishubu/
image
改变上下文都使用使用的chcon -t
设置selinux都是setsebool -P 
selinux的相关知识,大家看看吧
RHCE考试,要求一般selinux是处于强制状态的
workgroup 设置工作组 
server string 服务器描述 
username map 用户名映射,默认没有,等会我们会讲
interfaces 如果服务器有多块网卡,可以设置你想开放的网卡,一般不管,默认都开放
hosts allow 设置可以访问服务器的网段,注释表示不限制
image
使用user安全模式security = user 
image
其他的全局配置都不管了,直接跳到最后,开始定义共享目录
exchange的定义
[exchange] 共享目录名字
comment 目录描述
path 共享目录的路径
public 所有用户可以访问
writeable 所有用户可以写入
printable 不是打印机
write list 在这个位置是没有意义的 
image
public和valid users 不能同时使用,这样public没效果
如果writables 和write list同时使用,应该是以writable 起作用,但是最好,避免歧义,我们删除write list字段哈~
这样第一个目录就OK了
下面写第二个目录的定义
image
在samba服务器里表示一个组可以使用@组名 也可以使用 +组名
一个简单samba服务器配置就算完成了,保存退出配置文件
下面我们建立samba用户
建立samba用户的前提是,/etc/passwd文件里要有这个用户名,我们才可以建立成samba用户
我们刚才建立了smbtest和test1两个用户
现在我们把他们建立成samba用户
建立用户的时候要使用 -a 参数,如果改samba用户的密码,就不用加-a参数了
image
下面我们重新启动服务器,开始测试
image
开始测试
image
我们先使用smbtest用户
image
image
三个目录都可以看见,smbtest是用户的家目录,这个是自己私有的空间
大家测试下可以进入jishubu和exchange,然后分别往这两个目录写入文件
image
image
测试成功,下面换test1用户,看能不能在技术部写入文件
删除刚才的用户登陆缓存
image
然后使用test1登陆
image
image
jishubu目录可以写入
image
然后我们去删除smbtest用户的文件试试
image
测试成功
image
用户写入的文件权限是744
################Michael分割线###################
我们再讲两个小的应用
1、控制用户写入的文件权限为750,也就只有用户自己可以RWX,用户的所有组可以读
2、使用虚拟用户名,提高samba服务器的安全性 
分析第一个问题,大家觉得怎么实现?
第一个问题使用 
directory mask = 750 
create mask = 750  
set GID
组合就可以实现
第二个问题就是刚才你们看见的username map = /etc/samba/smbuser 参数
我们来实现
image
提示一下: 
directory mask 和directory mode 功能都一样,当然 create 也是 
directory mask 是控制用户创建的目录权限
create mask 是控制用户创建的文件权限 
这个参数只在用户是图形界面有效
刚才是1777 现在是3777 添加一个set gid
image
重启下服务
image
好了,我们测试下
image
发现了吗,这个文件的权限和刚才的不一样了,完全是按照我们要求来的
image
这样就只有自己和所有组可以读取了,其他用户没有任何权限
建立目录也一样
image
image
我们测试完成第二个功能
加入这样一行参数 username map =  ,然后保存退出
image
vim /etc/samba/smbusers 
image
左边是真正的用户名字,右边是虚拟的名字,你想怎么写,就怎么写,最好是系统里面没有的用户名字
image
好了,测试
密码是对应ID的密码
image
image
####################Michael分割线#######################





本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/141325 ,如需转载请自行联系原作者
相关文章
W9
|
29天前
|
运维 关系型数据库 MySQL
轻松管理Linux服务器的5个优秀管理面板
Websoft9 应用管理平台,github 2k star 开源软件,既有200+的优秀开源软件商店,一键安装。又有可视化的Linux管理面板,文件、数据库、ssl证书方便快捷管理。
W9
85 1
|
1月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
38 4
|
20天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
1月前
|
安全 Linux API
Linux服务器安全
人们常误认为服务器因存于数据中心且数据持续使用而无需加密。然而,当驱动器需维修或处理时,加密显得尤为重要,以防止数据泄露。Linux虽有dm-crypt和LUKS等内置加密技术,但在集中管理、根卷加密及合规性等方面仍存不足。企业应选择具备强大验证、简单加密擦除及集中管理等功能的解决方案,以弥补这些缺口。
26 0
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
107 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
377 6
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
86 3
|
1月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
80 2
|
20天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
49 14
Linux 10 个“who”命令示例
|
9天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
78 20

热门文章

最新文章