Linux下通过受限bash创建指定权限的账号代码详解

本文研究的主要是在Linux下通过受限bash创建指定权限的账号的相关内容,具体介绍如下。

在日常业务运维中,有时为了配合解决问题,需要给非运维人员开通系统账号,用于查询日志或代码。通常为了系统安全或避免不必要的误操作等目的,会将账号权限降至最低。下面介绍下在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 functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$HOME/bin

export PATH<br data-filtered="filtered">
[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下通过受限bash创建指定权限的账号代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

(0)

相关推荐

  • CentOS系统管理_基本权限和归属的详解

    CentOS系统管理_基本权限和归属的详解 Linux系统管理_基本权限和归属-Redhat Enterprise 5 文件和目录在linux系统中是最为重要的,经常使用root用户登录系统可能没感觉 ...

  • java中4种修饰符访问权限的区别及详解全过程

    java中4中修饰符分别为public.protect.default.private,他们这就说明了面向对象的封装性,所以我们要适用他们尽可能的让权限降到最低,从而安全性提高. 下面详细讲述下它们的 ...

  • LINUX下FTP用户和apache用户权限问题的解析

    原来完全没有研究过LINUX系统,由于论坛空间的需要,购买的国外的VPS,装的LINUX系统。刚得到后台帐号时完全就晕菜了,什么都是空白的,没有系统,没有HTTP服务器,就是一个全裸的“网络硬盘”。还 ...

  • 在Linux下创建分区和文件系统的方法详解

    在 Linux 中创建分区或新的文件系统通常意味着一件事:安装 Gnome Parted 分区编辑器(GParted).对于大多数 Linux 用户而言,这是唯一的办法.不过,你是否考虑过在终端创建这 ...

  • Linux下利用vi编辑器创建文件并写入内容

    Linux系统作为一款以命令行操作为主的系统,vi编辑器无疑大大扩展了命令行的功能,使用户在命令行下可以进行文件的各种操作,学会vi编辑器的使用无疑是非常必要的.而且vi的使用和vim的使用非常相似, ...

  • Linux系统中列出PCI设备和USB设备的命令详解

    lspci NAME lspci - 列出所有PCI设备 [[ ]]总览 SYNOPSIS lspci [ options ] [[ ]]描述 DESCRIPTION lspci 是一个用来显示系统中 ...

  • Windows 7系统中如何创建.删除或格式化硬盘分区?方法详解

    Windows 7系统如何创建、删除或格式化硬盘分区? 一、创建和格式化新分区(卷) 若要在硬盘上创建分区或卷(这两个术语通常互换使用),您必须以管理员身份登录,并且硬盘上必须有未分配的磁盘空间或者在 ...

  • 微信朋友圈批量屏蔽指定联系人小技巧图文详解

    微信是现在人群必备的通讯工具,但小编就有一个烦恼了:不想让一部分人看到我的动态,可是微信里的不给谁看都要一个个的选择屏蔽哪些人,太繁琐了.其实只要利用微信的标签功能给自己的微信好友分个组,在发朋友圈时 ...

  • linux下lftp连接ftp服务器上传下载命令

    linux下lftp连接ftp服务器上传&下载 Java代码 用法: lftp ftp://用户名:密码@IP > 下载目录 mirror DIRNAME 【下载整个目录里包含子目录,推 ...