除了那些包含给定单词的命令之外,是否可以获取bashrc
用户输入的每一个命令?
就像您可以使用别名来更改用户的含义一样,您可以将“cd”等别名设置为空。这样用户就无法再应用该命令。
也许这样你就可以让给定用户只能应用一个命令?
答案1
如果您只需要用户使用 sftp 或 rsync 远程访问文件,但无法运行 shell 命令,那么使用rssh
或者scponly
。
如果您需要用户只能运行几个程序,请设置受限外壳对于他们来说,例如rbash
或rksh
。在受限 shell 中,PATH
无法更改,只能执行路径中的程序。请注意不要允许允许用户运行其他程序的程序,!
例如.对文件的访问仍然由文件权限控制。|
vi
答案2
一些 shell(ksh、fe)具有受限模式,在这种模式下它们不会执行$PATH
.