如何用 Linux 权限管理打造无懈可击的系统?

Linux作为一款开源的操作系统,以其强大的权限管理系统著称,为用户提供了一种有效的方式来保护其重要文件和数据的安全性。本文将带您深入了解如何通过Linux权限管理来构建一个更加安全、可靠的操作环境,并提供详细的实操教程。

一、权限基础

什么是权限?

权限是指某个用户对软件资源(包括但不限于文件)的访问与操作权利。Linux系统中,一切皆文件!因此,我们讨论的权限主要指的是文件权限。

权限分类

  • 普通权限:最基本的rwx权限,分别代表读取、写入和执行。
  • 高级权限:如SetUID、SetGID以及Sticky Bit等,提供了更细致的控制。
  • 默认权限:由umask值决定的新创建文件或目录的初始权限。

实操教程:权限设置

普通权限设置

创建测试文件和目录
bash 复制代码
mkdir /tmp/dir1
touch /tmp/dir1/file{1..5}
touch /tmp/test{1..3}
修改文件权限

/tmp/test1为例,给拥有者添加执行权限:

bash 复制代码
chmod u+x /tmp/test1
ls -l /tmp/test1

查看结果,应该看到拥有者现在有了执行权限。

接着给组添加写权限:

bash 复制代码
chmod g+w /tmp/test1
ls -l /tmp/test1

最后移除其他人的读权限:

bash 复制代码
chmod o-r /tmp/test1
ls -l /tmp/test1

高级权限设置

设置SetUID

对于命令文件,比如passwd,可以通过以下命令查看并设置SetUID:

bash 复制代码
ls -l /usr/bin/passwd # 查看当前状态
sudo chmod u+s /usr/bin/passwd # 设置SetUID
设置SetGID

如果希望所有在特定目录下创建的文件都继承该目录的属组,可以设置SetGID:

bash 复制代码
chmod g+s /path/to/directory
设置Sticky Bit

为了防止公共目录下的文件被随意删除,可以设置Sticky Bit:

bash 复制代码
chmod o+t /path/to/public_directory

ACL访问控制列表

设置ACL策略

例如,给单个用户增加读写权限:

bash 复制代码
setfacl -m u:user01:rw /home/redhat/file1

给单个组增加读写权限:

bash 复制代码
setfacl -m g:sysadmin:rw /home/redhat/file1
查看ACL策略

使用getfacl命令查看文件的ACL策略:

bash 复制代码
getfacl /home/redhat/file1

配置默认权限

设置umask

通过编辑全局配置文件/etc/bashrc或用户级别的.bashrc文件来永久设置用户的umask值。例如,针对所有用户生效:

bash 复制代码
vim /etc/bashrc
# 在文件末尾添加 umask 0007
source /etc/bashrc

或者只针对特定用户生效:

bash 复制代码
vim ~/.bashrc
# 在文件末尾添加 umask 0007
source ~/.bashrc

通过上述步骤,您可以有效地利用Linux的强大权限管理功能,确保您的系统更加安全。无论是日常维护还是紧急情况处理,掌握这些技能都将大大提升您的工作效率和系统的安全性。希望这篇文章能帮助您更好地理解和应用Linux权限管理知识。

相关推荐
会飞的小蛮猪7 分钟前
SkyWalking运维之路(Java探针接入)
java·运维·经验分享·容器·skywalking
不懂音乐的欣赏者17 分钟前
Windows 下 ROS/ROS2 开发环境最优解:WSL 比直接安装、虚拟机、双系统更优雅!
linux·windows·ubuntu·ros·wsl·ros2·双系统
天一生水water1 小时前
docker-compose安装
运维·docker·容器
神仙别闹1 小时前
基于C语言 HTTP 服务器客户端的实验
服务器·c语言·http
AuroraDPY1 小时前
计算机网络:基于TCP协议的自定义协议实现网络计算器功能
网络·tcp/ip·计算机网络
Archy_Wang_11 小时前
基于BaGet 构建NuGet私有库并实现类库打包到NuGet私有库
运维·jenkins
小狗爱吃黄桃罐头2 小时前
正点原子【第四期】Linux之驱动开发学习笔记-10.1 Linux 内核定时器实验
linux·驱动开发·学习
初听于你2 小时前
运维高级故障排除与恢复-SysRq
运维·服务器·安全
张人玉2 小时前
TCP 的三次握手和四次挥手
网络·tcp/ip·c#
RPA机器人就用八爪鱼2 小时前
RPA自动化程序:企业数字化转型的智能引擎
运维·自动化·rpa