玩转 Linux rbash:提升系统安全的终极武器

在 Linux 和类 Unix 系统的世界中,安全性至关重要,尤其是当系统被多用户共享时。其中一个提升安全性的方式就是使用“受限 Shell”。rbash(即受限版 Bash Shell)就是这样的一个工具。

这篇文章将解释什么是 rbash,它与普通的 Bash 有何不同,并提供一些实际使用的示例。


什么是 Shell?

在深入了解 rbash 之前,我们先来明确一下什么是 Shell。

Shell 是一个程序,它允许用户通过命令行界面与 Linux 系统进行交互。用户输入命令,Shell 会解释这些命令并与系统通信以执行相关操作。

Bash(Bourne Again SHell)是 Linux 系统中最常用的 Shell 之一。


什么是 rbash?

rbash 是 Bash 的受限版本,旨在限制用户对某些命令和功能的访问,从而提高系统安全性。
当用户通过 rbash 登录系统时,他们无法执行可能威胁系统或其他用户安全的操作。


rbash 和 Bash 的关键区别

以下是 rbash 与普通 Bash 的一些主要区别:

  1. 目录切换受限:rbash 用户无法通过 cd 命令更改目录,只能在其主目录内操作。
  2. 限制某些命令:如 execsetunset,以防止用户更改 Shell 环境。
  3. 环境变量不可更改:用户无法修改可能影响其他用户或系统设置的环境变量。
  4. 禁止输入输出重定向:用户不能执行跨目录访问文件的操作,确保数据在安全范围内。

这些限制使 rbash 特别适用于需要提供有限访问权限但又要保持系统安全的场景。


rbash 的适用场景

以下情况中,使用 rbash 会非常有帮助:

  1. 公共终端:例如在图书馆或学校,用户需要使用基本命令,但不能更改系统设置。
  2. 共享服务器:在多用户系统中,rbash 能有效防止用户访问其他用户的数据或重要系统文件。
  3. 测试和教学环境:在教授命令行基础知识时,rbash 能限制用户的操作,避免误操作对系统造成破坏。

如何在 Linux 中配置 rbash

在系统中设置 rbash 非常简单,只需按照以下步骤操作:

1. 确保已安装 Bash

大多数 Linux 发行版默认安装了 Bash,可以通过以下命令检查:

linuxmi@linuxmi:~/www.linuxmi.com$ bash --version

2. 创建一个受限用户

使用以下命令创建一个专用用户:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo adduser linuxmicom

输出如下:

正在添加用户"linuxmicom"...
正在添加新组"linuxmicom" (1002)...
正在添加新用户"linuxmicom" (1002) 到组"linuxmicom (1002)"...
创建主目录"/home/linuxmicom"...
正在从"/etc/skel"复制文件...
新的密码: 
重新输入新的密码: 
passwd:已成功更新密码正在改变 linuxmicom 的用户信息请输入新值,或直接敲回车键以使用默认值        全名 []: 
        房间号码 []: 
        工作电话 []: 
        家庭电话 []: 
        其它 []: 
这些信息是否正确? [Y/n] Y
Adding new user `linuxmicom' to supplemental / extra groups `users' ...
正在添加用户"linuxmicom"到"users"组...

然后,将该用户的默认 Shell 修改为 rbash:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo usermod -s /bin/rbash linuxmicom

3. 创建用户专用目录

为该用户创建一个独立的目录,例如:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo mkdir /home/linuxmicom/bin
将需要开放给用户的脚本或命令放入该目录。

4. 设置用户的 PATH

限制用户的可用命令范围:

linuxmi@linuxmi:~/www.linuxmi.com$ echo 'export PATH=$HOME/bin' | sudo tee -a /home/linuxmicom/.bashrc

输出:

export PATH=$HOME/bin

完成后,可以以受限用户身份登录测试:

linuxmi@linuxmi:~/www.linuxmi.com$ su - linuxmicom

rbash 的实际使用示例

示例 1:尝试更改目录

作为受限用户登录后,执行以下命令:

linuxmicom@linuxmi:~$ cd /tmp

系统将提示:

-rbash: cd: 受限

示例 2:执行受限命令

尝试运行 execset 命令:

linuxmicom@linuxmi:~$ exec bash

系统提示:

-rbash: exec: 受限

示例 3:重定向输出

尝试以下操作:

linuxmicom@linuxmi:~$ echo "Linux迷LinuxMi.com测试" > test.txt

系统提示:

-rbash: test.txt: 受限:无法重定向输出

示例 4:允许的命令

在用户的 bin 目录中创建一个脚本:

echo "echo '你好,Linux迷 www.linuxmi.com'" > /home/linuxmicom/bin/hello.sh
chmod +x /home/linuxmicom/bin/hello.sh

受限用户执行该脚本:

./hello.sh

输出为:

你好,Linux迷 www.linuxmi.com

总结

rbash 是一个强大的工具,能够在多用户环境中提升安全性。通过限制某些命令和功能,它在保护系统完整性的同时,仍然允许用户完成基本任务。

如果你需要在共享系统中提供受控访问权限,rbash 是一个值得考虑的选择。

The post 玩转 Linux rbash:提升系统安全的终极武器 first appeared on Linux迷.

版权声明:
作者:Mr李
链接:https://www.techfm.club/p/179352.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>