如何限制用户只能执行/bin中的命令?

如何限制用户只能执行/bin中的命令?

我收到了一份包含几个问题的作业。其中一个问题是:

如何限制用户只能执行目录下的命令/bin

我尝试使用以下命令来解决它,但它们不起作用。

# useradd -s /bin/bash localuser
# usermod -s /bin/rbash localuser
# mkdir /home/localuser/programs

以下是 的内容/home/localuser/.bash_profile

# .bash_profile  

# Get the aliases and functions  
if [ -f ~/.bashrc ]; then  
. ~/.bashrc  
fi  
# User specific environment and startup programs  
PATH=$HOME/programs  
export PATH

然后我尝试:

[localuser@example ~]$ ls  
-rbash: ls: command not found  
[localuser@example ~]$ less file1  
-rbash: less: command not found  
[localuser@example ~]$ clear  
-rbash: clear: command not found  
[localuser@example ~]$ date  
-rbash: date: command not found  
[localuser@example ~]$ ping redhat.com  
-rbash: ping: command not found
# ln -s /bin/date /home/localuser/programs/  
# ln -s /bin/ls /home/localuser/programs/  
# ll /home/localuser/programs/  
total 8  
lrwxrwxrwx 1 root root 9 Oct 17 15:53 date -> /bin/date  
lrwxrwxrwx 1 root root 7 Oct 17 15:43 ls -> /bin/ls
[localuser@example ~]$ date  
Mon Oct 17 15:55:45 IST 2011  
[localuser@example ~]$ ls  
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 programs  
[localuser@example ~]$ clear  
-rbash: clear: command not found
# chattr +i /home/localuser/.bash_profile

你的答案是什么?

答案1

看来你也完全遵循了这个答案或者引导它链接到。但它们具体展示了如何限制用户只能运行特定命令。在他们的示例中,这些命令是 wheredatels.但您的问题有所不同,因为您希望用户能够运行 中的所有命令/bin,而不仅仅是特定命令。因此,您希望链接整个目录,而不是链接单独的命令。你应该能够做到这一点ln

相关内容