Linux下通过受限bash创建指定权限的账号

简介:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[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<br>
[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命令外。不能执行其他命令!

1
2
3
4
5
6
[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命令查看二进制命令的全路径)

1
2
3
4
5
6
7
8
9
10
11
[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用户就拥有了上面加入的命令的执行权

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[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
***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************

本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/7897150.html,如需转载请自行联系原作者
相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
25天前
|
存储 安全 前端开发
《Linux 简易速速上手小册》第3章: 文件系统与权限(2024 最新版)
《Linux 简易速速上手小册》第3章: 文件系统与权限(2024 最新版)
42 1
|
14天前
|
存储 Shell Linux
Linux Bash 脚本中的 IFS 是什么?
【4月更文挑战第25天】
22 0
Linux Bash 脚本中的 IFS 是什么?
|
3天前
|
Linux
如何在 Linux 中递归更改文件的权限?
【5月更文挑战第10天】
14 3
|
5天前
|
算法 Linux 数据安全/隐私保护
Linux:权限
Linux:权限
14 0
|
6天前
|
Linux 数据安全/隐私保护 Windows
【Linux】权限 !
关于Linux的权限问题,可以理解为不同级别的工作者,分别拥有不同的能力来管理文件。
21 5
|
6天前
|
Linux 开发工具 数据安全/隐私保护
深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘
深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘
|
6天前
|
存储 安全 Linux
从基础到高级:Linux用户与用户组权限设置详解
从基础到高级:Linux用户与用户组权限设置详解
|
7天前
|
Linux 数据安全/隐私保护
Linux 读写权限的配置
Linux 读写权限的配置
13 0
|
7天前
|
关系型数据库 MySQL Linux
Linux 文件访问权限说明
Linux 文件访问权限说明
12 0
|
8天前
|
Linux Shell 程序员
【Linux】权限(shell运行原理、概念,Linux权限)
【Linux】权限(shell运行原理、概念,Linux权限)
14 2