day13笔记
特殊权限位
Linux系统提供的一个有12个权限位
默认的 属主 rwx
属组 rwx
其他用户 rwx
这就是9个权限了
还有三个隐藏权限
suid chmod u+s 当属主没有x权限 会变成大写S 有x权限 是小写s
suid 当把suid权限加入到文件后,任何人去操作该文件都是默认以root身份去操作。
sgid chmod g+s 当属组没有x权限 会变成大写S 有x权限 是小写s
sgid 为某个目录设置sgid之后,在该目录中的创建的文件,都以该目录的属组权限为准,而不属于创建该文件的用户权限,这就实现了多个用户,可以共享一个目录的作用。
sticky chmod o+t 其他用户没有x权限 会变成大写T 有x权限 是小写t
sticky 给文件夹设置沾滞位权限,让用户之间不能对他人的文件随意的删除
suid命令
有s权限 用户可以自己修改密码
[root@localhost ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
[root@localhost ~]# su - jack01
[jack01@localhost ~17:07:01]$ passwd
Changing password for user jack01.
Changing password for jack01.
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[jack01@localhost ~]$
没有s权限,用户不能修改密码
[root@localhost ~]# chmod u-s /usr/bin/passwd
[root@localhost ~]# ll /usr/bin/passwd
-rwxr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
[root@localhost ~]# su - jack01
[jack01@localhost ~]$ passwd
Changing password for user jack01.
Changing password for jack01.
(current) UNIX password:
New password:
Retype new password:
passwd: Authentication token manipulation error
[jack01@localhost ~]$
sgid命令
创建一个data文件夹
将该文件的属组增加特殊权限sgid
使用普通用户在该目录下创建文件和文件夹,发现他们的属组都属于该目录创建者的属组
[root@localhost /]# chmod g+s /data
[root@localhost /]# ll -d /data
drwxrwsrwx 2 root root 6 Mar 17 16:32 /data
[root@localhost /]# su - xinxin
Last login: Thu Mar 17 16:32:36 CST 2022 on pts/0
[xinxin@localhost ~]$ cd /data
[xinxin@localhost data]$ mkdir 123
[xinxin@localhost data]$ touch 111.txt
[xinxin@localhost data]$ ll
total 0
-rw-rw-r-- 1 xinxin root 0 Mar 17 16:38 111.txt
drwxrwsr-x 2 xinxin root 6 Mar 17 16:38 123
[xinxin@localhost data]$
sbit命令
当目录有了粘滞位特殊权限,这个目录除了root用户特殊以外,任何用户都只能删除、移动自己的创建的文件,而不能影响到其他人。
拓展命令
chattr命令
chattr用于改变文件的扩展属性。
chmod用于修改文件9位基础权限、r、w、x
参数
a:只能向文件中添加数据,不得删除
-R:递归更改目录属性
-V:显示命令执行过程
模式
+ 增加参数
- 移除参数
= 更新为指定参数
A 不让系统修改文件最后访问时间
a 只能追加文件数据,不得删除
i 文件不能被删除、改名、修改内容
实际操作
chattr +a
限制⽂件只能追加写⼊数据,不得删除⽂件、或清除⽂件内容。
[root@localhost ~]# chattr +a /var/log/my_website.log
[root@localhost ~]# lsattr /var/log/my_website.log
-----a---------- /var/log/my_website.log
[root@localhost ~]# echo '123' >> /var/log/my_website.log
[root@localhost ~]# cat /var/log/my_website.log
-bash: /var/log/my_website.log: Operation not permitted
chattr +i
限制⽂件不得被删除、改名、修改内容。
[root@localhost cron]# chattr +i /var/spool/cron/root
[root@localhost cron]# lsattr /var/spool/cron/root
----i----------- /var/spool/cron/root
[root@localhost cron]# rm -rf /var/spool/cron/root
-bash: /var/log/my_website.log: Operation not permitted
[root@localhost cron]#echo '123' >> /var/spool/cron/root
-bash: /var/log/my_website.log: Operation not permitted
lsattr命令
lsattr用于查看文件扩展的属性
[root@localhost cron]# lsattr /var/spool/cron/root
---------------- /var/spool/cron/root
find命令新参数
find / -maxdepth 1 -type f -name ' 寻找指定目录层次信息
[root@localhost var]# find /var/ -maxdepth 3 -type f -name '*.log'
/var/log/tuned/tuned.log
/var/log/audit/audit.log
/var/log/access.log
/var/log/audit.log
/var/log/boot.log
/var/log/error.log
/var/log/tuned.log
/var/log/vmware-vmsvc.log
/var/log/yum.log
/var/123.log
寻找指定权限文件信息 find / -type f -perm 640
[root@localhost var]# find / -maxdepth 2 -type f -perm 640
/etc/libaudit.conf
/etc/chrony.keys
/etc/sudo-ldap.conf
/etc/sudo.conf
[root@localhost var]#
date命令
用来显示系统时间信息
date +%X 查看当前时分秒
[root@localhost var]# date +%X
19时03分23秒
date +%x 查看当前⽇期
[root@localhost var]# date +%x
2022年03月17日
查看当前系统⽇期和时分秒
[root@localhost var]# date
2022年 03月 17日 星期四 19:04:17 CST
手动修改时间日期
date -s "20171212 12:12:12"
自动修改时间日期
ntpdate ntp2.aliyun.com
环境变量补充
set命令用来查看系统中所有的环境变量
[root@localhost ~]# set
evn命令用来查看当前登录用户的所有环境变量
[root@localhost ~]# env
PS1变量
PS1是用来定义命令行的提示符的一个变量。
PS1='[\u@\h \W]\$ '
\u 显示用户名
\h 显示主机名
\W 显示用户所处目录的最后一级
\w 显示用户所处的绝对路径,省去你敲pwd
\t 以24小时制,显示时间
\$ 显示用户的身份提示符,自动识别root还是普通用户
[root@localhost gss16:16:14]#PS1='[\u@\h \w\t]\$'
[root@localhost /etc/gss16:16:28]#
[root@localhost /etc/gss16:16:31]#
[root@localhost /etc/gss16:16:31]#
[root@localhost /etc/gss16:16:31]#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?