一个小白学习linux的艰辛路程day14

day14学习笔记

1.文件权限补充

通过昨日的学习,文件权限一共三位角色共有9位
u  属主  r,w,x
g  属组  r,w,x
o  其他人 r,w,x
  
与linux中的隐藏文件一样,文件中也拥有三个隐藏权限
suid    sgid    sbit

2.特殊权限的作用

suid作用

SUID 特殊权限仅适用于可执行文件
比如系统的/usr/bin下提供的命令,如 /usr/bin/ls,如/usr/bin/rm


只要用户对设有 SUID 的文件有执行权限,那么当用户执行此文件时,会以文件属主的身份去执行此文件,一旦文件执行结束,身份的切换也随之消失。
sgid作用

sgid的功能和suid基本一样,只不过一个是设置文件属主的权限,一个是设置属组的权限

 sgid主要用于文件夹,为某个目录设置sgid之后,在该目录中的创建的文件,都以(目录的属组)权限为准,而不属于创建该文件的用户权限,这就实现了多个用户,可以共享一个目录的作用,等于是设置了一个共享文件夹

[root@linux ~]# mkdir  /tmp/BOB
[root@linux ~]# ll  -d  /tmp/BOB
[root@linux ~]# chmod  o=rwx  /tmp/BOB
[root@linux ~]# ll  -d  /tmp/BOB
drwxr-xrwx. 2 root root 6 Mar 17 15:16 /tmp/BOB
现创建一个共享目录BOB

[YL@linux BOB]$ mkdir  超哥
[YL@linux BOB]$ ll  -d  超哥
drwxrwxr-x. 2 YL YL 6 Mar 17 15:18 超哥
登录一个普通的用户YL,目录BOB下创建新的文件夹 超哥 ,该文件夹的属主和属组都属于YL  

[root@linux ~]# chmod  g+s  /tmp/BOB
[root@linux ~]# ll  -d  /tmp/BOB
drwxr-srwx. 3 root root 20 Mar 17 15:18 /tmp/BOB
给共享目录BOB的属组位上添加sgid特殊权限

[YL@linux BOB]$ mkdir   救命
[YL@linux BOB]$ ll  -d  救命
drwxrwsr-x. 2 YL root 6 Mar 17 15:22 救命
再使用YL普通用户创建一个新的文件夹 救命,发现这个文件夹的属主还是YL,但是属组变成了root,并且文件夹的属组位上也拥有了sgid权限,实现了递归继承的效果。
sbit的作用

又称作粘着位,linux下另一个特殊权限
当目录有了粘滞位特殊权限,这个目录除了root用户特殊以外,任何用户都只能删除、移动自己的创建的文件,而不能影响到其他人

[root@linux ~]# ll  -d  /tmp/BOB
drwxrwxrwx. 4 root root 34 Mar 17 15:22 /tmp/BOB
创建一个权限为777的目录

[YL@linux BOB]$ touch  我是2号.log[YL@linux BOB]$ ll  
total 0
-rw-rw-r--. 1 yjy01 yjy01 0 Mar 17 15:45 我是1号.txt
-rw-rw-r--. 1 YL    YL    0 Mar 17 15:45 我是2号.log
用户YL在该目录下创建一个我是2号.log的文件,其他人只有读取的权限

[yjy01@linux BOB]$ ll
total 0
-rw-rw-r--. 1 yjy01 yjy01 0 Mar 17 15:45 我是1号.txt
-rw-rw-r--. 1 YL    YL    0 Mar 17 15:45 我是2号.log
用户yjy01在该目录下创建一个我是1号.txt的文件,其他人只有读取的权限

[YL@linux BOB]$ rm  -rf  我是1号.txt
[YL@linux BOB]$ ll   
total 0
-rw-rw-r--. 1 YL YL   0 Mar 17 15:45 我是2号.log
普通用户YL将yjy01创建的文件删除,因为两个用户都处在一个权限为777的目录下,在该目录下所有用户,可以进行 r,w,x的操作,也就意味着,可以随便,删除其他人的资料   

[root@linux ~]# chmod  o+t  /tmp/BOB
[root@linux ~]# ll  -d  /tmp/BOB
drwxrwxrwt. 4 root root 56 Mar 17 15:47 /tmp/BOB
root用户在BOB目录中的o角色上增加了一个t的特殊权限(粘着位)

[yjy01@linux BOB]$ rm  -rf  我是2 号.log 
rm: cannot remove ‘我是2号.log’: Operation not permitted
此时,由于o角色上t权限,导致yjy01用户已经不能删除YL用户的文件,权限不够,这就是sbit特殊权限的作用

3.环境变量

系统所有的环境变量   set


用户个人的环境变量   env

[root@linux ~]# su  YL
[YL@linux root]$ env
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
切换用户时,su命令不加- ,发现用户名虽然变了,但是用户个人的环境变量仍旧是root

[root@linux ~]# su  -  YL
Last login: Thu Mar 17 21:31:13 CST 2022 on pts/1
[YL@linux ~]$ env
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/YL/.local/bin:/home/YL/bin
当su命令加上- 时,发现用户个人的环境变量已经全部切换为用户本身

4.PS1变量

ps1 是控制命令提示符的
\u 显示用户名
\h 显示主机名
\W 显示用户目录所处的最后一级
\w 显示用户所处的绝对路径 省的你去敲pwd
\t 以24小时制 显示时间
\$ 用户的身份小时

[root@linux ~]# #PS1='[\u@\h \W]\$'  我们可以在此修改PS1的格式,也就是修改命令提示符,比如多加空格或者添加参数\t等等
这种方法添加出来的PS1变量是临时生效

[root@linux ~]# vim  /etc/profile  想要修改的PS1变量永久生效,需要使用vim编辑器对profile文件进行修改并保存

5.命令提示符发生变化

posted @ 2022-03-17 21:54  小叶4444  阅读(49)  评论(0)    收藏  举报