标签: restricted-shell

在 Linux 中为特定用户阻止特定命令

如何阻止命令,比如说mkdir针对特定用户?

我所做的只是创建了只读函数并存储在用户配置文件中 ~/.bashrc

/bin/mkdir() {
        echo "mkdir command not allow for you"

}

mkdir() {
        echo "mkdir command not allow for you"

}
./mkdir() {

        echo "mkdir command not allow for you"
}

readonly -f /bin/mkdir
readonly -f mkdir
readonly -f ./mkdir
Run Code Online (Sandbox Code Playgroud)

测试:

rahul@ubuntu:~$ cd /bin/
rahul@ubuntu:/bin$ ./mkdir /home/rahul/ggg
mkdir command not allow for you
rahul@ubuntu:/bin$ cd
rahul@ubuntu:~$ mkdir testing
mkdir command not allow for you
rahul@ubuntu:~$ /bin/mkdir testing
mkdir command not allow for you
Run Code Online (Sandbox Code Playgroud)

所以我的问题是实现这一目标的方法是什么?有什么工具可以做到这一点吗?

更新 1 …

linux security account-restrictions restricted-shell

27
推荐指数
2
解决办法
4万
查看次数

如何在受限的 Bash shell 中丢弃 stderr?

在我的 .bashrc 中有几个命令将标准错误重定向到 /dev/null,这在以下内容中是不允许的rbash

bash: /dev/null: restricted: cannot redirect output
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题(除了修改 Bash)?也就是说,要么

  • 以其他方式丢弃标准错误或
  • 仅在允许的情况下尝试重定向。

bash io-redirection restricted-shell

7
推荐指数
1
解决办法
1万
查看次数

为什么“echo os.system('/bin/bash')”有效?

我正在做一种黑客挑战,其中一部分发现我被困在一个只有很少命令的受限 shell 中。可用的命令之一是echo. 在我的头撞墙几个小时后,我决定在一些提示下达到顶峰。事实证明,这echo os.system('/bin/bash')会让你摆脱受限制的外壳......只有在我看到这个之后我才能用谷歌搜索它,但我没有找到任何关于它的信息,除了你可以在一些受限的环境中做到这一点壳的情况。当我用 zsh 和 bash 尝试它时,它在我的终端上不起作用......为什么这甚至有效?这os.system部分对我来说看起来像 Python .. 有人可以向我提供一些背景知识吗?如果这是 Python,它还能如何与 echo 一起使用?

python echo restricted-shell

5
推荐指数
1
解决办法
4182
查看次数

使用 rbash 的 Bash 限制 Shell

我正在/bin/rbash为一些用户使用。它按预期工作,但有一些黑客行为,例如当用户运行bash或 时dash,他们获得了不受限制的 shell,因此为了避免这些命令,我​​在他们的.bashrc文件中添加了以下函数。

bash() {
echo "WARNING: NOT ALLOW!!"
}

sh() {
echo "WARNING: NOT ALLOW!!"
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:

1#我们可以使用具有多个名称的函数,如下所示

func1,func2 () {
 # do stuff
}
Run Code Online (Sandbox Code Playgroud)

2#我也试过:

case $BASH_COMMAND in # check each command`
        bash|dash|sh) 
        echo "WARNING: NOT ALLOW!!" 
        ;;
esac
Run Code Online (Sandbox Code Playgroud)

3#/bin/rbash -> bash它只是bash的一个软链接,那么它是如何工作的呢?

还有一些命令可以避免用户执行该命令unset HISTFILEkill -9 $$ 是否有其他替代方法可以实现相同的目标?

shell bash account-restrictions restricted-shell

2
推荐指数
1
解决办法
5600
查看次数

如何在 CentOS 7 中安装 rbash?

我运行了这个命令:

yum install rbash
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它告诉我该软件包不可用。它也没有预装在我的系统上,当我查找它时,我找不到其他人遇到这个问题。那么如何在 CentOS 7 上安装 rbash 呢?

bash yum centos software-installation restricted-shell

1
推荐指数
1
解决办法
1674
查看次数