RHEL8---权限管理

本章主要介绍Linux系统中的权限管理。

  • 所有者和所属组的管理
  • 权限管理
  • 用数字表示权限
  • 默认权限、特殊权限和隐藏权限

所有者和所属组 

为了理解所有者和所属组的概念,我们先看下图。

  张老板是某公司老板,买了一套房作为员工宿舍给A部门员工居 住。张老板是房主,所以他对房子具有很多权限,A部门员工只有使 用权而不能私自装修等,除张老板和A部门员工外,其他所有人都没 有任何权限。

那么,这套房子对三组人设置的权限如下表所示。

所有者所属组其他人
张老板A部门员工其他人
ugo

同理,在Linux系统中对文件的授权也是通过这样的分组来进行的,如下图所示。

 查看文件所有者和所属组

1 的位置是所有者,这里/opt/hosts的所有者为root。

2 的位置是所属组,这里/opt/hosts的所属组为root。

如果想改变所有者,可以使用chown命令来实现,chown的用法如下。

  • chown user1 file 

这里的意思是把file的所有者改为user1(理解为过户)。例如,把/opt/hosts的所有者改 为bdqn,如下所示。 

[root@rhel03 ~]# chown bdqn /opt/hosts
[root@rhel03 ~]# ls -lh /opt/hosts 
-rw-r--r--. 1 bdqn root 158 12月  2 05:34 /opt/hosts

chown也可以用于修改组,用法如下。

  • chown .group1 file 或 chown :group1 file 

  把file的所属组改成 group1,这里组前面有一个点或冒号。例如,把/opt/hosts 的所属 组改成users,如下所示。 

[root@rhel03 ~]# chown .users /opt/hosts
[root@rhel03 ~]# ls -l /opt/hosts 
-rw-r--r--. 1 bdqn users 158 12月  2 05:34 /opt/hosts

  需要注意的是,这里的点或冒号一定不要忘记了,否则就是修改所有者了。

  也可以同时修改所有者和所属组,用法为“chown user1.group1 file”。例如, 把/opt/hosts的所有者改成root。所属组改成bdqn,如下所示。 

[root@rhel03 ~]# chown root.bdqn /opt/hosts
[root@rhel03 ~]# ls -l /opt/hosts 
-rw-r--r--. 1 root bdqn 158 12月  2 05:34 /opt/hosts

  创建目录/opt/xx,把/etc/hosts拷贝到/opt/xx中,然后查看/opt/xx和 /opt/xx/hosts的 权限,如下所示。 

[root@rhel03 ~]# mkdir /opt/xx
[root@rhel03 ~]# cp /opt/hosts /opt/xx/
[root@rhel03 ~]# ls -ld /opt/xx/
drwxr-xr-x. 2 root root 19 12月  3 12:50 /opt/xx/
[root@rhel03 ~]# ls -l /opt/xx/hosts 
-rw-r--r--. 1 root root 158 12月  3 12:50 /opt/xx/hosts

可以看到,所有者都是root。

现在修改/opt/xx的所有者为bdqn,如下所示。

[root@rhel03 ~]# chown bdqn /opt/xx/
[root@rhel03 ~]# ls -ld /opt/xx/
drwxr-xr-x. 2 bdqn root 19 12月  3 12:50 /opt/xx/
[root@rhel03 ~]# ls -l /opt/xx/hosts 
-rw-r--r--. 1 root root 158 12月  3 12:50 /opt/xx/hosts

  可以看到, /opt'xx的所有者变为了bdqn,但是/opt/xx 中文件hosts的所有者并没有修 改,这就意味着,当修改目录的所有者或所属组时,并不会影响目录中文件的属性。如果在 改变目录属主/组时,想把里面内容的属主/组一起改掉,需要加上-R选项(表示递归),如下 所示。 

[root@rhel03 ~]# chown -R bdqn /opt/xx/
[root@rhel03 ~]# ls -ld /opt/xx/
drwxr-xr-x. 2 bdqn root 19 12月  3 12:50 /opt/xx/
[root@rhel03 ~]# ls -l /opt/xx/hosts 
-rw-r--r--. 1 bdqn root 158 12月  3 12:50 /opt/xx/hosts

  可以看到,不仅把/opt/xx的属主改了,同时把/opt/xx里面内容的属主也改了。 如果想单独修改所属组,还可以使用chgrp命令,用法如下。 

  • chgrp group1 file

  把/opt/hosts的所属组改为users,如下所示。 

[root@rhel03 ~]# ls -l /opt/hosts 
-rw-r--r--. 1 root bdqn 158 12月  2 05:34 /opt/hosts
[root@rhel03 ~]# chgrp users /opt/hosts 
[root@rhel03 ~]# ls -l /opt/hosts 
-rw-r--r--. 1 root users 158 12月  2 05:34 /opt/hosts

  当然,chgrp也可以使用-R选项(表示递归),大家自行练习即可。

  再次把/opt/hosts的所有者和所属组改为root,如下所示。

[root@rhel03 ~]# chown root.root /opt/hosts 
[root@rhel03 ~]# ls -l /opt/hosts 
-rw-r--r--. 1 root root 158 12月  2 05:34 /opt/hosts

查看及修改权限 

  对于一个文件来说,我们可以设置某用户对它具有什么操作权限,例如,是否可以看这个文件中的内容,是否可以往这个文件中写内容等。具有的权限包括以下3种。 

  • r:读权限。
  • w:写权限。
  • x :可执行权限。

  r 权限和 w 权限比较好理解,x 权限如何理解呢?

  对于一个目录 dir1来说,如果用户 user1 对目录 dir1 有x权限,则 user1 是可以用 cd 命令进入到dir1 中的,反之则不能用 cd 命令进人到此目录。  

  对于文件file1来说,如果用户user1对file1具有x权限,则用户可以把 file1当成一个命令 来执行,当然运行的结果就要看file1的内容写的是什么了。

  在 Linux系统中,文件或目录的权限是通过u、g、o授权的,看下面的例子,如下图所示。

  •  1 是所有者的权限,这里的权限为rw。
  • 2 是所属组的权限,这里的权限为r。
  • 3 是其他人的权限,这里的权限为r。

查看bdqn所属组,命令如下。

[root@rhel03 ~]# groups bdqn
bdqn : bdqn
[root@rhel03 ~]# 

bdqn用户只属于bdqn组,所以 blab 用户对/opt/hosts文件只能使用 o 的权限,即只读 r。

修改权限使用的是 chmod 命令,用法如下图所示。

 

设置 o 不允许读 /opt/hosts。

[root@rhel03 ~]# ls -l /opt/hosts
-rw-r--r--. 1 root root 158 12月  2 05:34 /opt/hosts
[root@rhel03 ~]# chmod o-r /opt/hosts 
[root@rhel03 ~]# ls -l /opt/hosts 
-rw-r-----. 1 root root 158 12月  2 05:34 /opt/hosts

使用bdqn用户读取此文件

[bdqn@rhel03 ~]$ cat /opt/hosts 
cat: /opt/hosts: 权限不够

可以看到,bdqn用户没有读取 /opt/hosts 的权限。 现在把所有者的写权限去掉,同时给 o 加上读和写权限。 

[root@rhel03 ~]# chmod u-w,o+rw /opt/hosts 
[root@rhel03 ~]# ls -l /opt/hosts 
-r--r--rw-. 1 root root 158 12月  2 05:34 /opt/hosts

测试bdqn是否对此文件可读可写。 

[bdqn@rhel03 ~]$ cat /opt/hosts 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[bdqn@rhel03 ~]$ echo 1234 >> /opt/hosts 
[bdqn@rhel03 ~]$ cat /opt/hosts 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
1234

可以看到,bdqn对此文件具备读和写权限了。 然后使用 root 进行写测试。 

[root@rhel03 ~]# ls -l /opt/hosts 
-r--r--rw-. 1 root root 163 12月  3 13:06 /opt/hosts
[root@rhel03 ~]# echo 5678 >> /opt/hosts 
[root@rhel03 ~]# cat /opt/hosts 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
1234
5678

  从权限来看,root对此文件是只读权限,应该是写不进去的,但是实际却写进去了,这是 因为很多时候这些权限设置对root是不生效的。 

刚  才对权限的修改使用的是+和-,都是在原有权限的基础上进行增添删减,还可以直接 用=,就是把权限设置为=后面的值,不管原来的权限是什么,如下所示。

[root@rhel03 ~]# chmod o=rwx /opt/hosts 
[root@rhel03 ~]# ls -l /opt/hosts 
-r--r--rwx. 1 root root 168 12月  3 13:06 /opt/hosts

这里就是直接把 o 的权限设置为 rwx,不管 o 原来的权限是什么。 

用数字表示权限

我们还可以用三个数字分别表示u、g、o的权限,规则如下。

  • r——4。
  • w——2。
  • x——1。 

再来看下面的图

用数字表示权限 

  这里u的权限为rw,则r=4,w=2,没有x则是0数字加起来为6,所以用6表示u的权限。g的 权限为r,所以用4表示g的权限。o的权限为r,所以用4表示o的权限。 

查看目录/opt的属性,命令如下。

[root@rhel03 ~]# ls -ld /opt/
drwxr-xr-x. 3 root root 29 12月  3 12:50 /opt/

这里u的权限为rwx,对应数字的和是4+2+1=7。

g的权限为x,对应数字的和是4+0+1=5。

o的权限为x,对应数字的和是4+0+1=5。

  除给出权限能知道对应的数字外,给出数字也要能知道对应的权限。给出3个数字,要知 道第一个数字是u的权限,第二个数字是g的权限,第三个数字是o的权限,然后每个数字用 4、2、1进行分解。案例如下  

[root@rhel03 ~]# chmod 426 /opt/hosts

此处4是u的权限,4不能再次拆分,对应的权限为r。

2是g的权限,对应的权限为w。

6是o的权限,6=4+2,所以对应的权限为r和w。

[root@rhel03 ~]# chmod 426 /opt/hosts 
[root@rhel03 ~]# ls -l /opt/hosts 
-r---w-rw-. 1 root root 168 12月  3 13:06 /opt/hosts

  使用chmod命令改变目录权限时,也可以使用-R选项,这样改变目录权限时也会把里面 的文件及子目录的权限也改掉。 

  如果想给一个目录/文件设置权限,让所有人都具备所有权限,可以把此目录/文件的权限 设置为777。

默认权限

先做如下操作,清空/opt中所有的内容,命令如下。

[root@rhel03 ~]# cd /opt/
[root@rhel03 opt]# rm -rf *
[root@rhel03 opt]# ls
[root@rhel03 opt]# 

然后创建两个目录aa和 bb,创建两个文件11和22。

[root@rhel03 opt]# mkdir aa bb
[root@rhel03 opt]# touch 11 22
[root@rhel03 opt]# ll
总用量 0
-rw-r--r--. 1 root root 0 12月  3 13:15 11
-rw-r--r--. 1 root root 0 12月  3 13:15 22
drwxr-xr-x. 2 root root 6 12月  3 13:14 aa
drwxr-xr-x. 2 root root 6 12月  3 13:14 bb

  可以看到,文件的默认权限都是644,目录的默认权限都是755(大家可以自行再多创建 几个文件和目录进行验证),这个默认权限是哪里来的呢?系统中存在一个叫umask的值。

[root@rhel03 opt]# umask
0022
[root@rhel03 opt]# 

  这个umask值我们称为权限过滤符,有四个数字,其中第一个数字0表示八进制,默认权限就是由后面三个数字决定的,这里看到的umask默认值是022。 

  创建文件时最多能具有的权限是666,创建目录时最多能具有的权限是777,然后通过 umask命令来过滤,最终得到的权限就是默认权限了。

  此时有人会得到一个结论:文件的默认权限是666-umask,目录的默认权限是777- umask。但这个结论并不完全正确。

先用默认的umask=022来分析,如下图所示。

  在上图中,u的权限不做任何过滤,g和o的权限分别把w给过滤掉,所以文件的权限为 644,目录的权限为755。

现在把umask设置为033再次进行分析,如下图所示。

 

  在上图中,umask要过滤g和o的wx权限,但是创建文件时本身就不带x,所以这里过滤 x 并没用。对于目录来说,则是把g和o的wx都过滤掉了。

所以,得到的结论如下。

  • 目录的默认权限 =777-umask。
  • 文件的默认权限=666(umask每个奇数-1),如umask=333,则目录默认权限=666- 222.相反,如果需要在创建一个文件时要有一个特定的默认权限,就要知道如何设置umask 的值。例如,要求创建文件时默认权限为222,umask=666-222=444,所以umask可以设 置为444,也可以设置为544、554、455等,只要umask的三个数字中有奇数就减1,最后为 444即可。

特殊权限s和t

除具有r、w、x三个权限外,还有 s 和 t 权限。

s 设置在可执行命令上 

  当某可执行命令的所有者的位置上有s位时,那么当普通用户再执行这个命令时将具有所有者的权限。

  例如,济公的扇子在济公手中是有法力的,但是这扇子在张 三手中就没有了法力,济公如果在扇子上加上一个s位,则 张三拿到此扇子将和济公一样具有法力。

  我们知道用户的密码都是存放在/etc/shadow中的,而/etc/shadow对其他人来说是没有 任何权限的。

[root@rhel03 ~]# ls -l /etc/shadow
----------. 1 root root 1522 12月  2 05:15 /etc/shadow
[root@rhel03 ~]# 

普通用户是可以修改密码的。

[bdqn@rhel03 ~]$ passwd
更改用户 bdqn 的密码 。
Current password: 
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

  能修改密码,也就意味着/etc/shadow 的内容被修改了,这与普通用户没有权限修改 /etc/shadow相冲突,为什么能修改呢?问题在于passwd命令身上,我们来看一下此命令的属性。 

[root@rhel03 ~]# which passwd
/usr/bin/passwd
[root@rhel03 ~]# ls -l /usr/bin/passwd 
-rwsr-xr-x. 1 root root 33544 12月 13 2019 /usr/bin/passwd

  先通过which命令查看passwd的路径,然后使用ls -l命令查看它的属性,其实这两条命令可以写成一条,如下所示。 

[root@rhel03 ~]# ls -l $(which passwd)
-rwsr-xr-x. 1 root root 33544 12月 13 2019 /usr/bin/passwd
[root@rhel03 ~]# 

  这样可以把 $() 中命令的结果传递给外面的命令使用,此处 $() 可以换成反引号 ``,记住 是反引号不是单引号,反引号就是键盘上的【~】键。 

  可以看到,passwd命令所有者的位置上有s位。所以,root用户用passwd命令可以修改 密码,即修改/etc/shadow的内容,如下所示。

[root@rhel03 ~]# echo cisco@123 | passwd --stdin bdqn
更改用户 bdqn 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@rhel03 ~]# 

那么,普通用户使用passwd命令也能修改/etc/shadow 的内容。

再举一个例子,查看/opt/11的权限。

[root@rhel03 ~]# touch /opt/11
[root@rhel03 ~]# ls -l /opt/11
-rw-r--r--. 1 root root 0 12月  3 13:26 /opt/11
[root@rhel03 ~]# 

再看一下 vim 命令的属性。

[root@rhel03 ~]# ls -l $(which vim)
-rwxr-xr-x. 1 root root 3063600 9月  20 2021 /usr/bin/vim
[root@rhel03 ~]# 

这里 vim命令没有s位。

bdqn用户对/opt/11只能使用o的权限,即r--,是没有写权限的,请自行用vim打开此文 件,写入一些数据,然后强制保存,如下所示,发现是写不进去的。 

 

 给vim命令所有者位置上加上 s 权限。

[root@rhel03 ~]# chmod u+s $(which vim)
[root@rhel03 ~]# ls -l $(which vim)
-rwsr-xr-x. 1 root root 3063600 9月  20 2021 /usr/bin/vim
[root@rhel03 ~]# 

然后再次使用bdqn用户编辑/opt/11文件,按【i】键进入插入模式,随意写入一些内容,如下所示。

 

虽然这里提示修改的是只读文件,但是强制保存,也是可以写进去的。 

[bdqn@rhel03 ~]$ cat /opt/11
asdasd

把 vim命令所有者位置上的 s 权限去除,命令如下。

[root@rhel03 ~]# chmod u-s $(which vim)
[root@rhel03 ~]# ls -l $(which vim)
-rwxr-xr-x. 1 root root 3063600 9月  20 2021 /usr/bin/vim
[root@rhel03 ~]# 
s设置在目录的所属组上 

  如果目录所属组的位置上有s位,则不管谁在此目录中新创建的文件或目录,都会继承这 个目录所属组。 

查看目录/opt/aa的属性信息,命令如下。

[root@rhel03 ~]# ls -ld /opt/aa
drwxr-xr-x. 2 root root 6 12月  3 13:33 /opt/aa

  把此目录所属组改成users,给g加上s权限,为了测试方便,给o加上w权限,这样bdqn用 户也可以往此目录中写内容,如下所示。 

[root@rhel03 ~]# chgrp users /opt/aa
[root@rhel03 ~]# chmod g+s,o+w /opt/aa
[root@rhel03 ~]# ls -ld /opt/aa
drwxr-srwx. 2 root users 6 12月  3 13:33 /opt/aa
[root@rhel03 ~]# 

先使用root 用户在此目录中创建一个文件aa.txt,然后查看其属性,命令如下。

[root@rhel03 ~]# touch /opt/aa/aa.txt
[root@rhel03 ~]# ls -l /opt/aa/aa.txt 
-rw-r--r--. 1 root users 0 12月  3 13:35 /opt/aa/aa.txt
[root@rhel03 ~]# 

  可以看到,两个文件所属组都是users,因为它们所在的目录/opt/aa所属组的位置上有s 权限,且 /opt/aa所属组为users,这样不管谁在/opt/aa中新创建的文件/目录,都会继 承/opt/aa所属组。 

t 设置在目录的o位置上

  如果某个目录o位置上有 t 位,那么此目录中的文件除所有者和root外,其他用户即使对 此文件具有所有权限,也无法删除此文件。 

先创建一个用户 tom,以作备用,命令如下。

[root@rhel03 ~]# useradd tom
[root@rhel03 ~]# echo cisco@123 | passwd --stdin tom
更改用户 tom 的密码 。
passwd:所有的身份验证令牌已经成功更新。

root用户创建一个目录/aa,把权限修改为777。

[root@rhel03 ~]# mkdir /aa
[root@rhel03 ~]# chmod 777 /aa
[root@rhel03 ~]# ls -ld /aa
drwxrwxrwx. 2 root root 6 12月  3 13:38 aa
[root@rhel03 ~]# 

使用blab用户在/aa中创建一个文件aa.txt,并把权限设置为777。

[bdqn@rhel03 ~]$ cd /aa
[bdqn@rhel03 aa]$ touch aa.txt
[bdqn@rhel03 aa]$ chmod 777 aa.txt
[bdqn@rhel03 aa]$ ls -l aa.txt
-rwxrwxrwx. 1 bdqn bdqn 0 12月  3 13:39 aa.txt

这样任何人对/aa/aa.txt都具备所有权限,包括删除。

再打开一个终端,切换到tom,然后删除/aa/aa.txt,命令如下。

[tom@rhel03 ~]$ ls /aa
aa.txt
[tom@rhel03 ~]$ rm -rf /aa/aa.txt 
[tom@rhel03 ~]$ ls /aa/
[tom@rhel03 ~]$ 

可以看到,tom删除了/aa/aa.txt,因为此文件的权限为777。

使用root用户在/aa的o位置上增加t权限,命令如下。

[root@rhel03 ~]# chmod o+t /aa/
[root@rhel03 ~]# ls -ld /aa/
drwxrwxrwt. 2 root root 6 12月  3 13:41 /aa/
[root@rhel03 ~]#

然后重复刚才的操作,bdqn用户创建/aa/aa.txt,并把权限设置为777.

[bdqn@rhel03 ~]$ cd /aa/
[bdqn@rhel03 aa]$ touch aa.txt
[bdqn@rhel03 aa]$ chmod 777 aa.txt 
[bdqn@rhel03 aa]$ ls -l aa.txt 
-rwxrwxrwx. 1 bdqn bdqn 0 12月  3 13:43 aa.txt
[bdqn@rhel03 aa]$ 

再次切换到tom删除此文件。

[tom@rhel03 ~]$ ls -l /aa/aa.txt 
-rwxrwxrwx. 1 bdqn bdqn 0 12月  3 13:43 /aa/aa.txt
[tom@rhel03 ~]$ rm -rf /aa/aa.txt 
rm: 无法删除'/aa/aa.txt': 不允许的操作
[tom@rhel03 ~]$ 

  虽然/aa/aa.txt的权限为777,但是现在tom是删除不掉的,因为目录/aao位置上有t权限,目 录/aa 中的内容只有所有者和root 才能删除。 

  前面讲可以用数字表示权限,3个数字分别是u、g、o的权限,有时我们可以看到有4个数 字,如下所示。

 

其中后面三个是u、g、o的权限,第一个数字就是特殊权限了。

  • 4=所有者+s。
  • 2=所属组+s。
  • 1=其他人+t。 

练习:

[root@rhel03 ~]# chmod 6644 /opt/aa/
[root@rhel03 ~]# ls -ld /opt/aa/
drwSr-Sr--. 2 root users 20 12月  3 13:35 /opt/aa/
[root@rhel03 ~]# 

这里的6就是特殊权限,6=4+2,那么也就是u+s、g+s了。

隐藏权限 

 系统中还存在一些隐藏权限,这些权限的设置对 root 也是生效的。查看隐藏权限的命 令是lsattr,如果是查看目录的隐藏权限,需要加上-d选项。

[root@rhel03 ~]# lsattr -d /opt/aa
-------------------- /opt/aa
[root@rhel03 ~]# 

这里不存在任何隐藏权限。修改隐藏权限的命令是chattr,常见的隐藏权限包括以下两种。

  • a:只能增加,不能删除。
  • i:不能增加,也不能删除。

增加权限用+,减去权限用-。

为/opt/aa增加a权限,命令如下。

[root@rhel03 ~]# chattr +a /opt/aa/
[root@rhel03 ~]# lsattr -d /opt/aa/
-----a-------------- /opt/aa/
[root@rhel03 ~]# 

目录/opt/aa中的内容只能增加,不能删除。

[root@rhel03 ~]# cp /etc/hosts /opt/aa/
[root@rhel03 ~]# ls /opt/aa/
aa.txt  hosts
[root@rhel03 ~]# rm -rf /opt/aa/hosts 
rm: 无法删除'/opt/aa/hosts': 不允许的操作
[root@rhel03 ~]# 

删除失败,因为目录/opt/aa中的内容不允许删除,但是里面的文件是可以修改的。

[root@rhel03 ~]# echo 1111 > /opt/aa/hosts 
[root@rhel03 ~]# cat /opt/aa/hosts 
1111

可以看到,修改成功了。

去除a权限,命令如下。

[root@rhel03 ~]# chattr -a /opt/aa/
[root@rhel03 ~]# lsattr -d /opt/aa
-------------------- /opt/aa
[root@rhel03 ~]# 

为/opt/aa增加i权限,命令如下。

[root@rhel03 ~]# chattr +i /opt/aa/
[root@rhel03 ~]# lsattr -d /opt/aa/
----i--------------- /opt/aa/
[root@rhel03 ~]# 

在/opt/aa中写入内容,命令如下。

[root@rhel03 ~]# ls /opt/aa/
aa.txt  hosts
[root@rhel03 ~]# cp /etc/services /opt/aa/
cp: 无法创建普通文件'/opt/aa/services': 不允许的操作
[root@rhel03 ~]# 

会发现写不进去。下面删除一个文件,命令如下。

[root@rhel03 ~]# rm -rf /opt/aa/hosts 
rm: 无法删除'/opt/aa/hosts': 不允许的操作
[root@rhel03 ~]# 

文件也删除不掉。

查看是否可以修改文件内容,命令如下。

[root@rhel03 ~]# echo 2222 > /opt/aa/hosts 
[root@rhel03 ~]# cat /opt/aa/hosts 
2222
[root@rhel03 ~]# 

是可以修改的。然后把/opt/aa 的i权限删除,然后清空/opt中的内容。

[root@rhel03 ~]# chattr -i /opt/aa/
[root@rhel03 ~]# rm -rf /opt/*
[root@rhel03 ~]# ls /opt/
[root@rhel03 ~]# 
为什么会这样[user_mongo@nosql01 replicaset]$ cd /opt [user_mongo@nosql01 opt]$ ll total 0 drwxr-xr-x. 3 root root 25 Mar 16 17:08 servers drwxr-xr-x. 2 root root 51 Mar 16 17:10 software [user_mongo@nosql01 opt]$ tar -zxvf /opt/software/mongodb-linux-x86_64-rhel70-4.4.12.tgz -C /opt/servers/mongodb_demo/replicaset/ mongodb-linux-x86_64-rhel70-4.4.12/LICENSE-Community.txt tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/LICENSE-Community.txt: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/MPL-2 tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/MPL-2: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/README tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/README: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/THIRD-PARTY-NOTICES tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/THIRD-PARTY-NOTICES: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/install_compass tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/install_compass: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongo tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongo: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongod tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongod: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongos tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongos: Cannot open: No such file or directory tar: Exiting with failure status due to previous errors [user_mongo@nosql01 opt]$ tar -zcvf /opt/software/mongodb-linux-x86_64-rhel70-4.4.12.tgz -C /opt/servers/mongodb_demo/replicaset/ tar: Cowardly refusing to create an empty archive Try `tar --help' or `tar --usage' for more information.
06-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值