博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux下通过受限bash创建指定权限的账号
阅读量:7080 次
发布时间:2019-06-28

本文共 2442 字,大约阅读时间需要 8 分钟。

 

在日常业务运维中,有时为了配合解决问题,需要给非运维人员开通系统账号,用于查询日志或代码。通常为了系统安全或避免不必要的误操作等目的,会将账号权限降至最低。下面介绍下在Linux下通过受限bash创建指定权限账号的操作记录:

[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 functionsif [ -f ~/.bashrc ]; then        . ~/.bashrcfi # 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 4drwxr-xr-x 2 root root 4096 Nov 25 23:38 bin[root@mq-server ~]# ll /home/wangshibo/bin/total 0lrwxrwxrwx 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/messagescat: /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 0lrwxrwxrwx 1 root root  8 Nov 25 23:12 cat -> /bin/catlrwxrwxrwx 1 root root  7 Nov 25 23:44 ls -> /bin/lslrwxrwxrwx 1 root root 10 Nov 25 23:45 mkdir -> /bin/mkdirlrwxrwxrwx 1 root root 10 Nov 25 23:44 touch -> /bin/touchlrwxrwxrwx 1 root root 12 Nov 25 23:45 vim -> /usr/bin/vim

这样,wangshibo用户就拥有了上面加入的命令的执行权

[root@mq-server ~]# su - wangshibo[wangshibo@mq-server ~]$ lsbin[wangshibo@mq-server ~]$ touch test[wangshibo@mq-server ~]$ mkdir ops[wangshibo@mq-server ~]$ vim test[wangshibo@mq-server ~]$ cat testdsfdsafsadf[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/messagescat: /var/log/messages: Permission denied

转载地址:http://xopml.baihongyu.com/

你可能感兴趣的文章
为什么游戏服务端用开发效率低的C++来写,其他语言无法胜任吗? ...
查看>>
如何检测视频异常事件?阿里工程师提出全新检测模型 ...
查看>>
精读《如何编译前端项目与组件》
查看>>
Python数值运算与赋值的快捷方式
查看>>
# Apache Spark系列技术直播# 第七讲 【 大数据列式存储之 Parquet/ORC 】
查看>>
非root权限scp免密传输
查看>>
java B2B2C 多级分销多租户电子商城系统-hystrix资源隔离技术
查看>>
云服务平台的架构及优势(下)
查看>>
「OpenGL」未来视觉1-Android摄像头采集基础
查看>>
Apache Module加载问题解决方案
查看>>
吉利集团子公司研发全球首款飞行车将于明年上市
查看>>
掌握多少门编程语言才能成为优秀程序员?
查看>>
vector二维数组初始化
查看>>
买电脑装什么系统好?win7还是win10?
查看>>
python爬虫系列之初识爬虫
查看>>
1月16日云栖精选夜读 | 阿里P8架构师谈:Zookeeper的原理和架构设计,以及应用场景...
查看>>
How do you create a DynamicResourceBinding that supports Converters, StringFormat?
查看>>
《快学 Go 语言》第 9 课 —— 接口
查看>>
HTML5抽奖转盘
查看>>
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 31 章 逻辑复制_31.6. 监控
查看>>