今日课堂笔记
文件的特殊权限
| Linux提供的12个特殊权限 |
| 默认的9位权限 |
| rwx rwx rwx |
| |
| 还有三位隐藏的特殊权限 |
| suid |
| |
| sgid |
| |
| sbit |
| |
特殊权限对照表

suid的作用
| SUID 特殊权限仅适用于可执行文件 |
| |
| 二进制命令 |
| |
| 比如系统的/usr/bin下提供的命令,如 /usr/bin/ls,如/usr/bin/rm |
| |
| 所具有的功能是,**只要用户对设有 SUID 的文件有执行权限,那么当用户执行此文件时,会以文件属主的身份去执行此文件 |
| 一旦文件执行结束,身份的切换也随之消失 |
| |
| 以这个/usr/bin/passwd可执行命令举例 |
| |
| 就是让普通用户,执行该命令时,临时获得root的权限。 |
| 用户创建完用户后,需要修改密码,执行passwd命令 |
| 但是passwd命令需要读取,修改/etc/passwd,/etc/shadow文件,这些文件都是属于root,那不就没权限操作了吗,但是普通用户,如何执行passwd命令,修改自己的密码呢 |
| 可以让普通用户临时获得root的身份,不就有属主的权限了吗 |
找出系统中,所有包含了suid权限的文件
| # find提供权限查找的参数 -perm -ls find提供的格式化打印参数,就好比-exec -ok -delete 一样 |
| |
| find / -type f -perm -4000 -ls |
| |
| |
| |
| find / -type f -name '*.log' -ok rm -f {} \; |
sgid的作用
| 1.对于二进制命令来说,sgid的功能和suid基本一样,只不过一个是设置文件属主的权限,一个是设置属组的权限,和9位基本rwx那个理解概念一样。 |
| |
| 2. suid是获得文件属主的权限,sgid是获得文件属组的权限 |
| |
| 3. sgid主要用于文件夹,为某个目录设置sgid之后,在该目录中的创建的文件,都以(目录的属组)权限为准,而不属于创建该文件的用户权限,这就实现了多个用户,可以共享一个目录的作用。 |
| |
| |
| |
| 一般直接和文件夹结合使用,给文件夹设置sgid,等于设置了一个共享文件夹的概念 |
| |
| |
| 简单总结 |
| 1.一个普通的文件夹,普通用户cc03进入后,创建文件,user,group都属于谁?都属于cc03 |
| baoqiang01 进入后,创建文件 ,都属于谁? baoqiang01 |
| |
| 2.当一个文件夹设置了sgid,普通用户cc03进入后,创建的文件,user属于cc03,group属于了文件夹的属组。 |
| baoqiang01 进入后,创建了文件,user,group属于谁?user属于baoqiang01,group属于文件夹的属组。 |
| |
sbit的作用
| 在一个权限是 777的文件夹下,所有用户,可以进行 r,w,x的操作,也就意味着,可以随便,删除其他人的资料!! |
| |
| linux中的确存在这么一个公共文件夹,名字叫做/tmp 临时文件夹 |
| |
| sbit粘滞位,用的已经很少了,但是对于系统特殊文件夹/tmp来说,是整个系统所有用户的临时文件存放地,谁都有任意的权限,你会发现该目录的权限巨大。 |
| |
| [root@yuchao-tx-server ~] |
| drwxrwxrwt. 8 root root 4096 3月 16 18:54 /tmp/ |
| |
| 但是看到了一个特殊权限t |
| 一句话总结。 |
| 当目录有了粘滞位特殊权限,这个目录除了root用户特殊以外,任何用户都只能删除、移动自己的创建的文件,而不能影响到其他人。 |
| |
| |
| 没有设置粘滞位,且目录是777权限时,也就是任意的user、group、other角色在这个目录下,可以进行读、写、执行任意文件。 |
| |
学习的命令
| chmod u+s 获得文件属主的权限 |
| |
| chmod u-s 去掉你文件属主的权限 |
| |
| chmod g+s 获得文件属组的权限 |
| |
| chmod g-s 去掉你文件属组的权限 |
| |
| chmod o-t 添加粘滞位 |
| |
| chmod o+t 去掉粘滞位 |
如何查看 系统所有环境变量 ,且过滤出与root相关的变量。

如何查看 ⽤户个⼈的环境变量 ,且过滤出与root相关的变量

PS1变量
| ps1 是控制命令提示符的 |
| \u 显示用户名 |
| \h 显示主机名 |
| \W 显示用户目录所处的最后一级 |
| \w 显示用户所处的绝对路径 省的你去敲pwd |
| \t 以24小时制 显示时间 |
| \$ 用户的身份小时 |
永久修改PS1变量⽣效?演示root、和普通⽤户的配置
| root用户下的 |
| |
| vim进入到/etc/profile文件中 |

| 普通用户下的 |
| |
| vim进入到 ~/.bash_profile |

如何使⽤umask
| -S大写的 以字符的形式显示当前的掩码 |
| |
| -p 带umask开头以数字的形式显示当前掩码 |
如何修改umask,会产⽣什么结果
| [rootlocalhost ~~18:04:39]#umask |
| 0022 |
| [rootlocalhost ~~18:05:15]#mkdir 555 |
| [rootlocalhost ~~18:05:25]#ll 555 |
| total 0 |
| [rootlocalhost ~~18:05:29]#ll -d 555 |
| drwxr-xr-x. 2 root root 6 Mar 17 18:05 555 |
| [rootlocalhost ~~18:05:36]#umask 156 |
| [rootlocalhost ~~18:05:52]#mkdir 333 |
| [rootlocalhost ~~18:05:59]#ll -d 333 |
| drw--w---x. 2 root root 6 Mar 17 18:05 333 |
| [rootlocalhost ~~18:06:02]# |
| [rootlocalhost ~~18:06:02]#umask |
| 0156 |
| |
| 修改了umask的默认值 ,默认的文件文件夹权限,减去umask的值等于最终的权限值 |
find命令补充
| find / -maxdepth 1 -type f -name '*.log' 寻找指定目录层次信息 |
| |
| find / -type f -perm 664 寻找指定权限文件信息 |
系统时间查看以及修改
| data +%F 查看系统日期 |
| |
| data +%T 查看系统时间 |
| |
| data -s "2022-03-17 00:00:00" 手动修改系统时间 |
| |
| ntpdata ntp2.aliyun.com 自动修改系统时间需要安装 yum install ntpdata -y |
chattr命令
| 用于更改文件的扩展属性 |
| a 只能向文件中添加数据,不得删除 |
| |
| -R 递归更改目录属性 |
| |
| -v 显示命令执行过程 |
| |
| A 不认系统系统最后修改文件的时间 |
| |
| i 文件不能被删除,改名,修改内容 |
| |
| + 增加参数 - 移除参数 = 更新为指定参数 |
lsattr命令
| 用于查看文件的第二扩展文件系统属性,可结合chatte一起用 |
| |
| -R 递归地列出目录以及其下内容的属性 |
| |
| -V 列出目录中的所有文件,包括以 ' . '开头的文件属性 |
| |
| -d 以列出其他文件的方式那样列出目录的属性,而不列出其下的内容 |
date命令
| date |
| 查看系统当前时间 |
| |
| [root@yuanlai0224 ~] |
| Thu Mar 17 21:16:34 CST 2022 |
| [root@yuanlai0224 ~] |
| |
| |
| 参数: |
| -s 可自定义设置时间 |
| %H 表示时 |
| %M 表示分 |
| %S 表示秒 |
| %y 表示年 |
| %m 表示月 |
| %d 表示日 |
| %F 表示日期 |
| %T 表示时间 |
| |
| [root@yuanlai0224 ~] |
| 220317 |
| [root@yuanlai0224 ~] |
| |
| [root@yuanlai0224 ~] |
| 21:27:06 |
| [root@yuanlai0224 ~] |
| |
| [root@yuanlai0224 ~] |
| 2022-03-17 21:28:40 |
| [root@yuanlai0224 ~] |
| |
| [root@yuanlai0224 ~] |
| Wed Dec 12 12:12:12 CST 2012 |
| [root@yuanlai0224 ~] |
| |
| |
| |
| [root@yuanlai0224 ~] |
| 17 Mar 20:20:01 ntpdate[5589]: no servers can be used, exiting |
| [root@yuanlai0224 ~] |
| 17 Mar 20:20:27 ntpdate[5590]: adjust time server 203.107.6.88 offset -0.496970 sec |
| [root@yuanlai0224 ~] |
| Thu Mar 17 20:20:31 CST 2022 |
| [root@yuanlai0224 ~] |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)