linux运维云计算/Linux全套百集大系列/Centos7-Centos8/全网最新Linux架构师教程_哔哩哔哩_bilibili

第七章 Centos8-文件权限管理

本节所讲内容:

7.1 文件的基本权限:r w x (UGO)

7.2 文件的特殊权限:suid sgid sticky和文件扩展权限ACL

7.3 实战:创建一个让root都无法删除的文件

linux云计算架构师:Centos8-系统进程管理

7.1 文件的基本权限

7.1.1 权限的作用

通过对文件设定权限可以达到以下三种访问限制权限:

只允许用户自己访问;

允许一个预先指定的用户组中的用户访问;

允许系统中的任何用户访问。

7.1.2 查看权限

[root@xuegod63 ~]# ll /etc/passwd

-rw-r–r--. 1 root root 2053 9月 19 2017 /etc/passwd

文件权限基本解释:

  • rw- r-- r–. 1 root root 2053 9月 19 2017 /etc/passwd

其中:文件类型,可以为p、d、l、s、c、b和 –

p表示命名管道文件

d表示目录文件

l表示符号链接文件

-表示普通文件

s表示socket套接口文件,比如我们启用mysql时,会产生一个mysql.sock文件

c表示字符设备文件,例: 虚拟控制台 或tty0

b表示块设备文件 例: sda, cdrom

例:

[root@xuegod63 ~]# ll /dev/sda /dev/cdrom /etc/passwd /dev/tty0

lrwxrwxrwx 1 root root 3 9月 19 2017 /dev/cdrom -> sr0

brw-rw---- 1 root disk 8, 0 9月 19 2017 /dev/sda

crw–w---- 1 root tty 4, 0 9月 19 2017 /dev/tty0

-rw-r–r--. 1 root root 2053 9月 19 2017 /etc/passwd 如下效果图:

7.1.3 权限说明

对于文件来说:

r:读 cat

w:写 vim echo

x:执行 运行命名或者脚本

对于目录来说:

r:读(看到目录里面有什么) ls

w:在目录里面建文件,删除,移动 touch mkdir rm mv cp

x:目录是不能直接运行的,对目录赋予 x 权限,代表用户可以进入目录,也就是说,赋予 x 权限的用户或群组可以使用 cd 命令。

7.1.4 文件拥有者

UGO:所有者–用户组–其它用户

User-所有者: 就是创建文件的用户,这个用户拥有对它所创建的文件的一切权限,所有者可以允许其所在的用户组可以访问所有者的文件。

Group-用户组: 用户组是具有相同特征用户的逻辑集合,有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理;另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限。这就是用户组。

Other-其它用户:系统内的其他所有者用户就是other用户类

7.1.5 常见几种文件权限组成

  • rwx — ---:文件所有者对文件具有读取、写入和执行的权限。

  • rwx r-- r–: 文件所有者具有读、写与执行的权限,用户组里用户及其他用户则具有读取的权限

  • rw- rw- r-x:文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。

drwx–x--x: 目录所有者具有读写与进入目录的权限,其他用户近能进入该目录,却无法读取任何数据。

drwx------: 除了目录所有者具有完整的权限之外,其他用户对该目录完全没有任何权限。

举例如下:

每个用户都拥有自己的专属目录,通常放置/home下

[root@xuegod63 home]# ll /home/

总用量 0

drwx------. 3 user1 user1 78 9月 19 2017 user1

注: [rwx------]表示目录所有者本身拥有的权限,其它用户是无法进入的。 root可以。

例2: 你以什么用户身份登录,那么你创建的文件或目录,自动成为该文件的所属主和组

[root@xuegod63 ~]# useradd user1

[root@xuegod63 ~]# su - user1

[user1@xuegod63 ~]$ touch a.txt

[user1@xuegod63 ~]$ ll a.txt

-rw-rw-r-- 1 user1 user1 0 5月 8 20:58 a.txt

互动: su - user1 和su user1 的区别?

[root@xuegod63 ~]# su - user1 #从root切换到普通用户user1

user1@xuegod63 ~]$ pwd

/home/user1

[user1@xuegod63 ~]$ exit

[root@xuegod63 ~]# su user1

[user1@xuegod63 root]$ pwd #查看切完后的路径

/root

[user1@xuegod63 root]$ touch a.txt

touch: 无法创建 ‘a.txt’: 权限不够

[user1@xuegod63 root]$ cd /home/user1/

[user1@xuegod63 ~]$ touch a.txt

[user1@xuegod63 ~]$ exit

注: su - 用户,加上-减号,切换用户时,会把用户家目录和环境变量都彻底切成用user1的。 不加-减号,保留切换前的路径和环境变量。 一般切换用户都加减号- 。

7.1.6 更改文件的属主和属组

改变文件的所属关系用到命令:

chown:可以用来改变文件(或目录)的属主

chgrp:可以用来改变文件(或目录)的默认属组(不常用)

如果你要对目录进行操作,加参数 -R

chown

语法:

chown user:group filename 比如:chown hr:san a.txt 把文件的属主改为hr属组改为san

chown user filename 比如:chown san a.txt 把文件的属主改为san用户

chown :group filename 比如: chown :miao a.txt 把文件的属组改为miao组

:也可以用.代替

-R :递归(目录下的所有内容都更改,否则只修改目录)

例:

[root@xuegod63 ~]# touch {a,b,c}.txt

[root@xuegod63 ~]# ll *.txt

-rw-r–r-- 1 root root 0 5月 8 21:03 a.txt

-rw-r–r-- 1 root root 0 5月 8 21:03 b.txt

-rw-r–r-- 1 root root 0 5月 8 21:03 c.txt

[root@xuegod63 ~]# chown user1 a.txt

[root@xuegod63 ~]# ll a.txt

-rw-r–r-- 1 user1 root 0 5月 8 21:03 a.txt

[root@xuegod63 ~]# chown user1:user1 a.txt

[root@xuegod63 ~]# ll a.txt

-rw-r–r-- 1 user1 user1 0 5月 8 21:03 a.txt

[root@xuegod63 ~]# chown :root a.txt

[root@xuegod63 ~]# ll a.txt

-rw-r–r-- 1 user1 root 0 5月 8 21:03 a.txt

[root@xuegod63 ~]# chown .bin a.txt

[root@xuegod63 ~]# ll a.txt

-rw-r–r-- 1 user1 bin 0 5月 8 21:03 a.txt

互动:一个文件只有读的权限,拥有者是否可以写这个文件?

实验:

[root@xuegod63 ~]# su - user1

[user1@xuegod63 ~]$ touch a.txt

[user1@xuegod63 ~]$ ll a.txt

-rw-rw-r-- 1 user1 user1 0 5月 8 21:07 a.txt

[user1@xuegod63 ~]$ chmod 000 a.txt #修改成000权限

[user1@xuegod63 ~]$ ll a.txt

---------- 1 user1 user1 4 3月 19 10:48 a.txt

[user1@xuegod63 ~]$ vim a.txt # 写入aaa , :wq! 保存

在另一个终端上,以root身份登录:

[root@xuegod63 ~]# cat /home/user1/a.txt

aaaaa

注:使用user1身份,无法查看 cat /home/user1/a.txt

实验结果:文件所有者一定可以写文件。 就像root可以对shadow强制写。 因shadow的拥有者是root

扩展:

[root@xuegod63 ~]# ll /etc/shadow* /etc/passwd*

-rw-r–r-- 1 root root 2819 7月 2 21:06 /etc/passwd

-rw-r–r--. 1 root root 2778 7月 2 21:03 /etc/passwd- #安装完系统时,会生成passwd备份文件。系统安装好后,新增加的用户,不会写到/etc/passwd-

---------- 1 root root 1544 7月 2 21:06 /etc/shadow

---------- 1 root root 1412 7月 2 21:05 /etc/shadow- #安装完系统时,会生成shadow备份文件。系统安装好后,新增加用户的密码信息,不会写到/etc/shadow-

7.1.7 修改权限

方法1:使用字符设定

修改权限用的命令:chmod

作用:修改文件,目录的权限

语法:chmod [对谁操作] [操作符] [赋于什么权限] 文件名

对谁操作:

u----> 用户user,表示文件或目录的所有者

g---->用户组group,表示文件或目录所属的用户组

o---->其它用户others

a---->所有用户all

操作符:

  • #添加权限 ; - # 减少权限 ; = #直接给定一个权限

权限:r w x

例如下面的组合:

u-w user 拥有者

g+x group 组

o=r other 其他人

a+x all 所有人

例:chmod修改权限

[root@xuegod63 ~]# touch 1.txt

[root@xuegod63 ~]# ll 1.txt

-rw-r–r-- 1 root root 0 5月 8 21:20 1.txt

7.1.8 使用八进制(0-7)数字表示权限法

权限 二进制值 八进制值 描述
000 0 没有任何权限
–x 001 1 只有执行权限
-w- 010 2 只有写入权限
-wx 011 3 有写入和执行权限
r– 100 4 只有读取权限
r-x 101 5 有读取和执行权限
rw- 110 6 有读取和写入权限
rwx 111 7 有全部权限

例1:

例1:

互动:rw- 的值是多少 答: 4+2=6

rwx r-x r-x 的值是多少 答: rwx=4+2+1=7 ; r-x=4+1=5 rwx r-x r-x=755

语法:

chmod 755 文件或文件夹名字

chmod a=rwx b.txt 等于 chmod 777 b.txt

例:

[root@xuegod63 ~]# touch dd.txt

[root@xuegod63 ~]# ll dd.txt

-rw-r–r-- 1 root root 0 5月 8 21:40 dd.txt

[root@xuegod63 ~]# chmod 755 dd.txt

[root@xuegod63 ~]# ll dd.txt

-rwxr-xr-x 1 root root 0 5月 8 21:40 dd.txt

[root@xuegod63 ~]# chmod 700 dd.txt

[root@xuegod63 ~]# ll dd.txt

-rwx------ 1 root root 0 5月 8 21:40 dd.txt

7.1.9 权限对文件和目录的影响

有三种权限可以应用:读取,写入与执行,这些权限对访问文件和目录的影响如下:

权限 对文件的影响 对目录的影响

r(读取) 可以读取文件的内容 可以列出目录的内容(文件名)

w(写入) 可以更改文件的内容 可以创建或删除目录中的任意文件

x(执行) 可以作为命令执行文件 可以访问目录的内容(取决于目录中文件的权限)

扩展:补码

为什么我们创建的文件的权限默认是644呢?

我们创建文件的默认权限是怎么来的?

umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字

文件默认权限=666 ,目录默认权限=777

我们一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。

永久生效,编辑用户的配置文件vim .bash_profile

[root@xuegod63 ~]# vim /etc/profile

注: UID大于199 且用户的组名和用户名一样,那么 umask值为002,否则为022.

注: -gt 在shell中表示大于; ,id -gn显示组名,id -un显示用户名

id -g 显示用户组ID ,id -u 显示用户id

[root@xuegod63 ~]# touch aaa

[root@xuegod63 ~]# ll aaa

-rw-r–r-- 1 root root 0 3月 19 11:15 aaa 666-022=644

6 4 4

[root@xuegod63 ~]# su - user1

[user1@xuegod63 ~]$ touch aaa

[user1@xuegod63 ~]$ ll aaa

-rw-rw-r-- 1 user1 user1 0 3月 19 11:17 aaa 666-002= 664

6 6 4

[user1@xuegod63 ~]$ mkdir dir2

[user1@xuegod63 ~]$ ll -d dir2

drwxrwxr-x 2 user1 user1 6 3月 19 11:22 dir2 777-002=775

7 7 5

临时生效: umask 权限补码

[user1@xuegod63 ~]$ umask 044

[user1@xuegod63 ~]$ touch ss.txt

[user1@xuegod63 ~]$ ll ss.txt

-rw–w--w- 1 user1 user1 0 5月 8 21:47 ss.txt 666-044=622

6 2 2

权限的算法:一般情况是:目录默认权限-umask 值

666-022=644

777-022=755

#这是一个好的记忆方法,但不严谨。

互动:umask掩码为033 创建普通文件后,权限是什么? 666-033=633 ( rw- -wx -wx) ?

例:[root@xuegod63 ~]# umask 033

[root@xuegod63 ~]# touch k.txt

[root@xuegod63 ~]# ll k.txt

-rw-r–r-- 1 root root 0 5月 8 22:00 k.txt

6 4 4

答:结果为: 644

权限科学的计算方法步骤:

1、将默认权限(目录777,文件666)和umask值都转换为2进制

2、对umask取反

3、将默认权限和umask取反后的值做与运算

4、将得到的二进制值再转换8进制,即为权限,

例1: umask 为022

6 6 6 umask 0 2 2

110 110 110 000 010 010 # 默认权限和umask都转成二进制

111 101 101 # umask取反的值

110 110 110 与 #第二步,默认权限二进制值和umask二进制值取反后做与运算

111 101 101 # umask取反的值

110 100 100 #与运算,都为1的为1,否则为0

6 4 4 #转成8进制

例2: umask 为033 结果为: 644

6 6 6 umask 0 3 3

110 110 110 000 011 011 # 转成二进制

111 100 100 # umask取反的值

110 110 110 与 #第二步,默认权限二进制值和umask二进制值取反后做与运算

111 100 100 # umask取反的值

110 100 100 #与运算,都为1的为1,否则为0

6 4 4 #转成8进制

https://tool.lu/hexconvert/ 在线进制转换器

7.2 文件的特殊权限:suid sgid sticky和文件扩展权限ACL

其实文件与目录设置不止这些,还有所谓的特殊权限。由于特殊权限会拥有一些“特权”.

7.2.1 文件的特殊权限:suid sgid sticky

1、SUID(set uid设置用户ID):限定:只能设置在二进制可执行程序上面。对目录设置无效

功能:程序运行时的权限从执行者变更成程序所有者的权限

2、SGID:限定:既可以给二进制可执行程序设置,也可以对目录设置

功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会,继承上级目录的所属组

3、Stickybit:粘滞位权限是针对目录的,对文件无效,也叫防删除位

这3个特殊权限对应的数值为:

SUID SGID Stickybit

4 2 1

chmod u+s chmod g+s chmod o+t

chmod 4664 chmod 2664 chmod 1664

suid的代表数字是4,比如4755的结果是rwsr-xr-x

sgid的代表数字是2,比如2755的结果是rwxr-sr-x

sticky位代表数字是1,比如1755的结果是rwxr-xr-t

suid+sgid+sticky=7 ,比如7755的结果是rwsr-sr-t

例:SUID属性一般用在可执行文件上,当用户执行该文件时,会临时拥有该执行文件的所有者权限。

[root@xuegod63 ~]# ll /usr/bin/passwd #passwd命令有suid权限

-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd

互动: 普通用户user1,没有对shadow文件写入的权限, 但是user1用户使用passwd修改自己密码时,可以修改shadow文件中的内容,这是什么原因?

[root@xuegod63 ~]# ll /etc/shadow

----------. 1 root root 1179 9月 19 2017 /etc/shadow

[root@xuegod63 ~]# passwd user1 #改user1密码为123456

[root@xuegod63 ~]# tail -5 /etc/shadow |grep user1 #查看下密码

[root@xuegod63 ~]# su - user1

上一次登录:二 5月 8 21:07:24 CST 2018pts/0 上

[user1@xuegod63 ~]$ passwd

更改用户user1的密码 。

为user1更改 STRESS 密码。

(当前)UNIX 密码:123456

新的 密码:xuegod123

重新输入新的 密码:xuegod123

passwd:所有的身份验证令牌已经成功更新。

[user1@xuegod63 ~]$ exit

[root@xuegod63 ~]# tail -5 /etc/shadow |grep user1 #查看shadow文件已经被user1用户修改成功。

因为user1用户执行passwd命令时,权限会提升成root用户,所以可以修改成功。

例2:

[root@xuegod63 ~]# useradd user3

[root@xuegod63 ~]# passwd user3

[root@xuegod63 ~]# su - user3

[user1@xuegod63 ~]$ less /etc/shadow

less: 打不开 /etc/shadow: 权限不够

[root@xuegod63 ~]# su - root

[root@xuegod63 ~]# chmod u+s /usr/bin/less #切换到root,给一个suid权限

[root@xuegod63 ~]# su - user3

[user3@xuegod63 ~]$ less /etc/shadow #看到了shadow内容,不要按q退出进程

新开shell窗口查看u+s后的效果:

[root@xuegod63 ~]# ps aux | egrep ‘less|USER’| grep -v grep

[root@xuegod63 ~]# ll /usr/bin/less

-rwsr-xr-x 1 root root 154536 Sep 26 2011 /usr/bin/less

另外:

[root@xuegod63 ~]# chmod 4755 /usr/bin/less # 等同于 chmod u+s /usr/bin/less

[root@xuegod63 ~]# chmod u-s /usr/bin/less #去掉less命令的suid权限

SGID:

限定:既可以给二进制可执行程序设置,也可以给目录设置。

给二进制可执行程序设置,则运行程序时,临时获得该程序所属组权限

[root@xuegod63 ~]# echo aaaaa > file2.txt

[root@xuegod63 ~]# ll file2.txt #查看到file2.txt文件所属组为root,且所属组有读权限

-rw-r–r-- 1 root root 6 3月 19 12:46 file2.txt

[root@xuegod63 ~]# su - user1

[user1@xuegod63 ~]$ less /root/file2.txt #查看file2.txt ,权限不足,已去掉了suid权限

[user1@xuegod63 ~]$ exit

[root@xuegod63 ~]# chmod u-s,g+s /usr/bin/less #去掉less的suid权限,增加sgid权限

[root@xuegod63 ~]# ll /usr/bin/less #查看less所属组为root

-rwxr-sr-x. 1 root root 158240 7月 31 2015 /usr/bin/less

[root@xuegod63 ~]# su - user1

[user1@xuegod63 ~]$ less /root/file2.txt #已经有权限了,不要按q退出进程,新开shell查看

[root@xuegod63 ~]# ps aux | egrep ‘USER|less’ | grep -v grep

可以看到运行less的用户身份为user1,可以读取file2.txt ,是因为临时获取less程序的所属组身份,而file2.txt 所属组与less程序所属组相同,且有读权限。

功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的权限。

[root@xuegod63 ~]# mkdir test

[root@xuegod63 ~]# ll -d test

drwxr-xr-x 2 root root 4096 Jan 24 20:14 test

[root@xuegod63 ~]# chmod g+s test

[root@xuegod63 ~]# ll -d test

drwxr-sr-x 2 root root 4096 Jan 24 20:14 test

测试:sgid效果

[root@xuegod63 ~]# chown :bin test/

[root@xuegod63 ~]# touch test/a.txt

[root@xuegod63 ~]# ll !$ #!$代表得是上一条命令中最后一个参数,快捷键是esc加.

ll test/a.txt

-rw-r–r-- 1 root bin 0 Jan 24 20:15 test/a.txt

Stickybit

限定:只作用于目录

功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除。

例: 系统中的tmp目录就是这样

[root@xuegod63 ~]# ll -d /tmp/

drwxrwxrwt. 11 root root 4096 Jan 24 19:41 /tmp/

用法:

chmod o+t /tmp

[root@xuegod63 ~]# mkdir /test

[root@xuegod63 ~]# ll -d /test

[root@xuegod63 ~]# chmod 1777 /test

[root@xuegod63 ~]# ll -d /test

[root@xuegod63 ~]# su - user1

[user1@xuegod63 ~]$ echo user1 > /test/user1.txt

[user1@xuegod63 ~]$ chmod o+rw /test/user1.txt

[user1@xuegod63 ~]$ ll /test/user1.txt

[user1@xuegod63 ~]$ exit

[root@xuegod63 ~]# su - user2

[user2@xuegod63 ~]$ echo user2 > /test/user1.txt

[user2@xuegod63 ~]$ cat /test/user1.txt #可以修改文件内容

[user2@xuegod63 ~]$ rm -f /test/user1.txt

[root@xuegod63 ~]# chmod o-t /test

[user2@xuegod63 ~]$ rm -f /test/user1.txt

其他用户无法删除,只有文件创建者、目录所有者才能删除

7.2.1 文件扩展权限ACL

扩展ACL :access control list

[root@xuegod63 ~]# touch /opt/a.txt

[root@xuegod63 ~]# ll /opt/a.txt

-rw-r–r-- 1 root root 0 7月 2 22:12 /opt/a.txt

设置只让用户user1对文件a.txt拥有的rwx权限 ,user1不属于a.txt的所属主,和组,other的权限还是r–。怎么做?

[root@xuegod63 ~]# id user1

[root@xuegod63 ~]# getfacl /opt/a.txt

getfacl: Removing leading ‘/’ from absolute path names

file: opt/a.txt

owner: root

group: root

user::rw-

group::r–

other::r–

[root@xuegod63 ~]# setfacl -m u:user1:rwx /opt/a.txt # u : 设置某个用户拥有的权限

[root@xuegod63 ~]# setfacl -m u:user2:rwx /opt/a.txt # u : 设置某个用户拥有的权限

-m, --modify=acl 更改文件的访问控制列表

[root@xuegod63 ~]# getfacl /opt/a.txt

getfacl: Removing leading ‘/’ from absolute path names

user::rw-

user:user1:rwx

[root@xuegod63 ~]# su - user1

[user1@xuegod63 ~]$ vim /opt/a.txt #发现user1虽然是other,但是可以写a.txt

[user1@xuegod63 ~]$ ll /opt/a.txt

-rw-rwxr–+ 1 root root 8 5月 8 22:42 /opt/a.txt #setfacl权限会同步到组权限中

注:只要增加了扩展权限,这个地址就会有一个 + 加号

例2: 给目录加扩展权限

[root@xuegod63 ~]# mkdir /opt/test

[root@xuegod63 ~]# setfacl -m d:u:user1:rwx /opt/test #d 默认在就是有这个权限

例3:给目录下所有文件都加扩展权限

[root@xuegod63 ~]# setfacl -R -m u:user1:rw- /opt/test  #-R一定要在-m前面,表示目录下所有文件

-R, --recursive 递归操作子目录

[root@xuegod63 ~]# setfacl -x u:user1 /opt/a.txt # 去掉单个权限

[root@xuegod63 ~]# getfacl /opt/a.txt

[root@xuegod63 ~]# setfacl -b /opt/a.txt # 去掉所有acl权限

7.3 实战:创建一个让root都无法删除的文件

发现windows中 有文件删除不了,怎么办? 使用360 强制删除,粉碎文件

那么在Linux下怎么办?

[root@xuegod63 ~]# touch hack.sh aa.sh

[root@xuegod63 ~]# ll hack.sh aa.sh

-rw-r–r-- 1 root root 0 May 24 21:29 aa.sh

-rw-r–r-- 1 root root 0 May 24 21:29 hack.sh

[root@xuegod63 ~]# rm -rf aa.sh

黑客使用xshell悄悄执行在后台添加attr扩展属性:(这个别让学员看到_

[root@xuegod63 ~]# chattr +i hack.sh

删除文件:

[root@xuegod63 ~]# rm -rf hack.sh #发现删除不了

为什么删除不了?

从REHL6 开始,新增加文件系统扩展属性:

命令:chattr

参数: a 只能追加内容 ; i 不能被修改

+a: 只能追加内容 如: echo aaa >> hack.sh

+i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。

注:immutable [ɪˈmju:təbl] 不可改变的 ; Append [əˈpend] 追加

-i :移除i参数。 -a :移除a参数

解决:

[root@xuegod63 ~]# lsattr hack.sh

----i----------- hack.sh

[root@xuegod63 ~]# chattr -i hack.sh

[root@xuegod63 ~]# echo aa >> hack.sh

[root@xuegod63 ~]# lsattr hack.sh #查看扩展属性

---------------- hack.sh

[root@xuegod63 ~]# chattr +a hack.sh

[root@xuegod63 ~]# rm -rf hack.sh

rm: 无法删除"hack.sh": 不允许的操作

[root@xuegod63 ~]# echo aaa >> hack.sh

总结:

7.1 文件的基本权限:r w x (UGO)

7.2 文件的特殊权限:suid sgid sticky和文件扩展权限ACL

7.3 实战:创建一个让root都无法删除的文件

Linux云计算好学吗?Linux运维学习资料 Centos8文件权限管理相关推荐

  1. linux创建运维账户流程,Linux运维养成记-账户与权限管理

    1. Linux 账户及组的概念 Linux 系统是通过用户的 ID 来识别每个账号,默认 ID 长度为 32 位,从 0 开始,用户的 ID及 UID 限制在 60000 以下,其中 Linux 账 ...

  2. AIOps智能运维学习资料汇总

    本文转载自GitHub: https://github.com/linjinjin123/awesome-AIOps White Paper <企业级 AIOps 实施建议>白皮书 Cou ...

  3. Linux运维学习路线图

    关注"尚硅谷"微信公众号,输入"Linux"获取Linux全运维学习资料 一.Linux基础知识 Linux简介与安装 Linux常用命令 Vim编辑器 Lin ...

  4. 阿里云官方学习课程推荐-Linux运维学习路线 从事云计算运维相关工作必备技能

    阿里云官方学习课程推荐-Linux运维学习路线 从事云计算运维相关工作必备技能 目前越来越多的企业需要依赖于IT技术发布产品与服务,尤其是电子商务最为明显,它凸显了IT技术在现代企业中的重要性.当企业 ...

  5. linux系统运维费用,一般Linux运维学习的费用是多少?Linux学习

    随着IT 互联网技术的发展,Linux逐渐成为中高端服务器的主要操作系统,并且目前地位不可替代.Linux运维工程师是一位"复合型人才",他集成了网络.系统.数据库.开发和安全等工 ...

  6. linux学习项目,[ Linux运维学习 ] 路径及实战项目合集

    我们知道运维工程师(Operations)最基本的职责就是负责服务的稳定性并确保整个服务的高可用性,同时不断优化系统架构.提升部署效率.优化资源利用率,确保服务可以7*24H不间断地为用户提供服务. ...

  7. 最适合初学者的Linux运维学习教程2018版

    Linux运维工程师是一个新颖岗位,现在非常吃香,目前从行业的角度分析,随着国内软件行业不断发展壮大,越来越多复杂系统应运而生,为了保证系统稳定运行,必须要有足够多的Linux运维工程师.维护是软件生 ...

  8. Linux运维学习教程

    Linux运维工程师是一个新颖岗位,现在非常吃香,目前从行业的角度分析,随着国内软件行业不断发展壮大,越来越多复杂系统应运而生,为了保证系统稳定运行,必须要有足够多的Linux运维工程师.维护是软件生 ...

  9. 兄弟连Linux运维学习笔记

    最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux ---------------------- Unix与Lin ...

最新文章

  1. linux孤立cpu,Linux 抛弃旧款 CPU,一下子少 50 万行代码
  2. pandas dataframe中的列进行重新排序、倒排、正排、自定义排序详解及实践
  3. Flask 数据迁移 报错 Table 'xxx' is already defined for this MetaData instance
  4. hdu 1043 ,pku 1077 Eight ,八数码问题
  5. .NET Core 3.0特性初探:C# 8、WPF、Windows Forms、EF Core
  6. MySQL---数据库从入门走向大神系列(十五)-Apache的DBUtils框架使用
  7. LeetCode 738. 单调递增的数字(贪心)
  8. 计算机按照数据处理规模大小可分为,计算机按照数据处理规模大小可以分为巨型计算机、、、。...
  9. Ajax,ajaxFileUpload文件上传同步代码js实现
  10. hdfs snapshot 快照的使用场景应用与操作命令的介绍
  11. 如何防止在ListBox中添加很多数据出现不停的刷新?
  12. SCCM2012系列之十二,SCCM2012部署操作系统
  13. 海思Hi3519A开发(5.梳理海思文档与运行sample代码)
  14. javaSwing的JTextField自动补全
  15. 基于格的密码与SABER
  16. ca盘显示无证书_CA根证书无法识别
  17. R语言查找data.frame里面是否包含某些变量。
  18. 不考研也有出路?教育部重要通知,事关第二学士学位!
  19. 基于hibernate的泛型Dao层设计
  20. php 获取网络图片合成,PHP使用imagick扩展实现合并图像的方法

热门文章

  1. PAT基础编程题目集 7-32 说反话-加强版
  2. 基于虹软人脸识别API和Qt5的人脸识别
  3. ios获取相册图片名称
  4. 产品策略方法论:以美团外卖分单策略为例
  5. 【量化投资实训】基于MATLAB实验七.全部行业的营收增速中位数绘图
  6. C/C++游戏开发(easyx框架)及时类——极速赛车
  7. 借助iMazing工具重新安装或升级 iOS系统
  8. 每天一个python段子(3):一句话创建倒排索引
  9. JavaScript实现换背景
  10. 金蝶K3客户端:组件KdSvrMgr无法正常工作 排查分析步骤