由于工作实际需要,现在需要设置用户test只能使用ls ,cd,,exit, pwd,vi等命令,并且只能访问其家目录及其子目录。通过学习发现可以通过lshell来实现。

1、下载安装lshell包。http://sourceforge.net/projects/lshell/files/lshell/  通过下载不同的RPM包安装。

2、编辑配置文件。vi /etc/lshell.conf

   其中home_path和path注释掉则限制用户只能访问自己的家目录及其子目录。如果需要能访问其他目录,则需要在path中加入相应的目录,比如我们设置可以访问/test/log目录,path :['/test/log'],当前设置下,用户可以访问家目录及其子目录,也可以访问/test/log目录及其子目录,但不能访问/test目录。

   allowed         : ['ls','cd','pwd','vi'] 这一行可以添加我们限定用户所能使用的命令。

   warning_counter : -1 设置成-1是为了防止多次输入不容许的权限命令导致退出当前登陆,默认情况下是2,即两次输入错误命令则会退出当前用户。

3、更改用户的shell环境。 usermod -s /usr/bin/lshell test