linux限制用户访问,如何限制用户访问Linux系统

受限的shell是什么?

受限制的shell将限制用户执行大多数命令和更改当前工作目录,受限制的shell将对用户施加以下限制:只能停留在当前工作目录中它不允许你修改$PATH,$SHELL,$BASH_ENV或者$ENV环境变量

它不允许你执行包含/(斜线)字符的程序,例如,不能运行/usr/bin/uname或./uname命令,但是,可以执行uname命令,换句话说,只允许在当前路径中运行命令

不能使用重定向输出'>'',''> |'',''< >'',''> &'',''& >'>和>'> >'>重定向操作符

它不允许你在脚本中退出受限制的shell模式

它不允许使用shell或'set +r'来关闭受限制的'set +o restricted'模式

这在大量用户使用共享系统时非常有用,如果想允许用户只执行特定的命令,受限的shell是实现此目的的一种方法。

使用受限制的Linux系统限制用户访问shell

首先,从Bash创建一个rbash的符号链接,如下所示,以下命令应作为root用户运行。# ln -s /bin/bash /bin/rbash

接下来,使用rbash创建一个名为"helplib"的用户作为他/她的默认登录Shell。# useradd helplib -s /bin/rbash

设置新用户的密码。# passwd helplib

在新用户的主文件夹中创建一个bin目录。# mkdir /home/helplib/bin

现在,我们需要指定用户可以运行的命令。

在这里,我将让用户只运行"ls","mkdir"和"ping"命令,当然,你可以指定命令。

为此,请运行以下命令:# ln -s /bin/ls /home/helplib/bin/ls# ln -s /bin/mkdir /home/helplib/bin/mkdir# ln -s /bin/ping /home/helplib/bin/ping

现在,你明白了为什么我们在前面的步骤中创建了"bin"目录,除以上三个命令外,用户不能运行命令。

接下来,防止用户修改,bash_profile,# chown root. /home/helplib/.bash_profile# chmod 755 /home/helplib/.bash_profile

编辑/home/helplib/. bash_profile文件:# vi /home/helplib/.bash_profile

修改PATH变量,如下所示。[...]

PATH=$HOME/bin

[...]

按ESC键并键入 :wq保存并关闭文件。

现在,当用户登录时,restricted shell ( rbash )将作为默认登录shell运行并读取.bash_profile文件,它将PATH设置为$HOME/bin,这样用户将只能运行ls 、 mkdir和ping命令。

验证Rbash

现在,从root用户注销,并使用新创建的用户重新登录

然后,运行一些命令来检查它是否有效,例如,想清除终端。

为此,我运行了:$ clear

示例输出:-rbash: clear: command not found

不能使用cd命令切换到不同的目录。$ cd /root

示例输出:-rbash: cd: restricted

不能使用>运算符重定向输出。$ cat > file.txt

示例输出:-rbash: file.txt: restricted: cannot redirect output

用户"helplib"只允许使用(系统管理员当然)分配的命令,在例子中,用户可以执行ls,mkdir和ping命令。$ ls$ mkdir helplib$ ping -c 3 google.com

除了这三个命令,用户无法执行任何操作,用户完全在你的控制之下。

允许用户使用新命令

如果要为用户分配更多命令,请从当前用户注销,然后再次返回到root用户,并按如下所示分配命令。

例如,允许用户(即helplib )要执行rm命令,请以root user身份运行以下命令。# ln -s /bin/rm /home/helplib/bin/rm

现在用户可以使用"rm"命令。

有关详细信息,请参阅下面的链接中的手册页。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值