最新消息:

Linux受限shell软件lshell限制用户行为

Linux ipcpu 3895浏览

Linux受限shell软件lshell限制用户行为

有时我们需要限制登录到Linux系统用户的行为,最简单的办法莫过于限制其所能执行的命令。

之前我们写过bash自带的受限模式,虽然也能限制,但是容易逃逸,并且不是方便(不能执行cd)。

Lshell是另一款可以实现这个功能的软件,是由Python编写。

官方网站

https://github.com/ghantoos/lshell

lshell安装

  1. #@需要先安装EPEL
  2. yum install lshell -y

lshell的使用

我们可以新建一个用户user001并指定其shell为lshell

  1. useradd -s /usr/bin/lshell user001

编辑配置文件/etc/lshell.conf

  1. ##全局配置
  2. [global]
  3. logpath : /var/log/lshell/
  4. loglevel : 2
  5. logfilename : %y%m%d-%u
  6. ##默认用户策略
  7. [default]
  8. allowed : ['ls','echo','cd','ll','pwd','whoami','w','top','free','ps']
  9. forbidden : [';', '&', '|','`','>','<', '$(', '${']
  10. warning_counter : 2
  11. aliases : {'ll':'ls -l', 'vi':'vim'}
  12. #设置用户可以访问的路径
  13. path : ['/home/','/etc/','/tmp/']
  14. ##用户user001的策略(和default独立,没有继承关系)
  15. [user001]
  16. allowed : ['ls','echo','cd','ll','pwd','whoami','w','top','free','ps','su']
  17. forbidden : [';', '&', '|','`','>','<', '$(', '${']
  18. warning_counter : 3
  19. aliases : {'ll':'ls -l'}
  20. intro : "\n\nWelcome to Linux!\nPlease use su to switch your user."
  21. prompt : "%u@%h"
  22. path : ['/home/user001']

lshell的测试

现在我们使用user001用户登录进行测试

  1. user001@localhost.localdomain:~$ ll
  2. total 0
  3. -rw-r--r--. 1 root root 0 Aug  8 15:06 file01
  4. user001@localhost.localdomain:~$ pwd
  5. /home/user001
  6. user001@localhost.localdomain:~$ cat file01
  7. *** unknown command: cat
  8. user001@localhost.localdomain:~$ cd /tmp
  9. *** forbidden path -> "/tmp/"
  10. *** You have 2 warning(s) left, before getting kicked out.
  11. This incident has been reported.
  12. user001@localhost.localdomain:~$ su -
  13. Password:

经测试,lshell限制了用户可以进入的目录和可以执行的命令。

来自为知笔记(Wiz)

转载请注明:IPCPU-网络之路 » Linux受限shell软件lshell限制用户行为