Linux下通过受限bash创建指定权限的账号
2017-11-25 23:51
489 查看
在日常业务运维中,有时为了配合解决问题,需要给非运维人员开通系统账号,用于查询日志或代码。通常为了系统安全或避免不必要的误操作等目的,会将账号权限降至最低。下面介绍下在Linux下通过受限bash创建指定权限账号的操作记录:
如上设置后,可以发现创建的wangshibo用户家目录下的文件权限是root.root,上面只设置了wangshibo用户的cat权限,并且只能cat查看wangshibo用户家目录/home/wangshibo下的文件。除了cat命令外。不能执行其他命令!
如果要想在其家目录下有其他命令的执行权,那么需要添加这些命令的软链接到/home/wangshibo/bin目录下(可以通过which命令查看二进制命令的全路径)
这样,wangshibo用户就拥有了上面加入的命令的执行权
[root@mq-server ~]# ln -s /bin/bash /bin/rbash [root@mq-server ~]# useradd -s /bin/rbash wangshibo [root@mq-server ~]# passwd wangshibo [root@mq-server ~]# mkdir /home/wangshibo/bin [root@mq-server ~]# chown root. /home/wangshibo/.bash_profile [root@mq-server ~]# chmod 755 /home/wangshibo/.bash_profile [root@mq-server ~]# vim /home/wangshibo/.bash_profile //复制下面的内容覆盖原内容 # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$HOME/bin export PATH [root@mq-server ~]# ln -s /bin/cat /home/wangshibo/bin/cat [root@mq-server ~]# ll /home/wangshibo/ total 4 drwxr-xr-x 2 root root 4096 Nov 25 23:38 bin [root@mq-server ~]# ll /home/wangshibo/bin/ total 0 lrwxrwxrwx 1 root root 8 Nov 25 23:12 cat -> /bin/cat
如上设置后,可以发现创建的wangshibo用户家目录下的文件权限是root.root,上面只设置了wangshibo用户的cat权限,并且只能cat查看wangshibo用户家目录/home/wangshibo下的文件。除了cat命令外。不能执行其他命令!
[wangshibo@mq-server ~]$ cat /var/log/messages cat: /var/log/messages: Permission denied [wangshibo@mq-server ~]$ ls -rbash: /home/wangshibo/bin/ls: No such file or directory [wangshibo@mq-server ~]$ touch test -rbash: /home/wangshibo/bin/touch: No such file or directory
如果要想在其家目录下有其他命令的执行权,那么需要添加这些命令的软链接到/home/wangshibo/bin目录下(可以通过which命令查看二进制命令的全路径)
[root@mq-server ~]# ln -s /bin/ls /home/wangshibo/bin [root@mq-server ~]# ln -s /bin/touch /home/wangshibo/bin [root@mq-server ~]# ln -s /bin/mkdir /home/wangshibo/bin [root@mq-server ~]# ln -s /usr/bin/vim /home/wangshibo/bin/ [root@mq-server ~]# ll /home/wangshibo/bin/ total 0 lrwxrwxrwx 1 root root 8 Nov 25 23:12 cat -> /bin/cat lrwxrwxrwx 1 root root 7 Nov 25 23:44 ls -> /bin/ls lrwxrwxrwx 1 root root 10 Nov 25 23:45 mkdir -> /bin/mkdir lrwxrwxrwx 1 root root 10 Nov 25 23:44 touch -> /bin/touch lrwxrwxrwx 1 root root 12 Nov 25 23:45 vim -> /usr/bin/vim
这样,wangshibo用户就拥有了上面加入的命令的执行权
[root@mq-server ~]# su - wangshibo [wangshibo@mq-server ~]$ ls bin [wangshibo@mq-server ~]$ touch test [wangshibo@mq-server ~]$ mkdir ops [wangshibo@mq-server ~]$ vim test [wangshibo@mq-server ~]$ cat test dsfdsafsadf [wangshibo@mq-server ~]$ rm -f test -rbash: rm: command not found [wangshibo@mq-server ~]$ ls /usr/ bin etc games include lib lib64 libexec local sbin share src tmp [wangshibo@mq-server ~]$ cat /var/log/messages cat: /var/log/messages: Permission denied
相关文章推荐
- Linux创建普通账号并授予sudo权限
- Linux下创建用于并指定该用户的主目录和相关权限
- Linux创建指定用户特定指定目录权限
- Linux创建用户并指定目录权限
- linux创建sftp账号及访问权限
- linux 创建用户(批量创建用户) 账号管理与 ACL 权限配置
- linux下创建用于并指定该用户的主目录和相关权限
- linux 下如何给一个普通用户有在指定目录下有创建文件的权限
- linux创建用户指定bash为tcsh
- 介绍linux下利用编译bash设置root账号共用的权限审计设置
- Linux上创建一个用户,并给该用户指定目录的权限,修改时区
- 第14章、 Linux 账号管理与 ACL 权限设定
- linux:服务器SSH账号权限配置sudo
- Note For Linux By Jes(8)-Linux 账号管理与ACL权限控制
- java通过进程名杀掉指定的linux进程
- php linux 创建文件夹权限问题
- Linux中想进入一个目录、 在目录下创建文件、在文件内部删除文件 各需要什么权限?
- Linux中通过setfacl实现目录下创建文件
- 创建MySQL用户 赋予某指定库表的权限
- linux下创建mysql用户,并且给增删改查的权限