diff --git "a/\345\220\225\345\276\220\346\235\255/20240606-\346\235\203\351\231\220\347\256\241\347\220\206.md" "b/\345\220\225\345\276\220\346\235\255/20240606-\346\235\203\351\231\220\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..e5da4381abff7579b3cf38063d1a11a4a2bda1e8 --- /dev/null +++ "b/\345\220\225\345\276\220\346\235\255/20240606-\346\235\203\351\231\220\347\256\241\347\220\206.md" @@ -0,0 +1,60 @@ +# 权限管理 + +## 权限表示 + +### 字符表示 + +r:可读 +w:可写 +x:可执行 + +### 数字表示 + +4 +2 +1 +例如: +rwx = 421 = 7 +rw- = 420 = 6 +r-- = 400 = 4 + +## 权限修改 + +chmod:修改权限 +u:用户 +g:用户组 +o:其他用户 +a:所有权限/所有用户 ++:加上权限 +-:减去权限 +=:等于权限 +例如:给a.txt文件加上可写权限 +chmod a+w a.txt +chown:修改所属用户 +chown 新用户名 文件名 +例如:修改文件a.txt的所属用户为zzz +chown zzz a.txt +修改前:-rw-r--r-- 1 root root 707 Jun 2 16:28 a.txt +修改后:-rw-r--r-- 1 zzz root 707 Jun 2 16:29 a.txt +chown 修改的用户名:修改的用户组 文件名 +例如:同时修改文件a.txt的所属用户和所属用户组 +chown zzz:zzz a.txt +修改前:-rw-r--r-- 1 root root 707 Jun 2 16:28 a.txt +修改后:-rw-r--r-- 1 zzz zzz 707 Jun 2 16:29 a.txt +chgrp:修改所属用户组 +chgrp 新用户组 文件名 +例如:修改文件a.txt的所属用户组为zzz +chgrp zzz a.txt +修改前:-rw-r--r-- 1 root root 707 Jun 2 16:28 a.txt +修改后:-rw-r--r-- 1 root zzz 707 Jun 2 16:29 a.txt +查看所有用户 +compgen -u + +查看当前用户属于哪些组 +groups + +查看某个用户属于哪些组 +groups 用户名 + +查看系统有哪些组 +cat /etc/group 或 getent group 或 compgen -g \ No newline at end of file diff --git "a/\345\220\225\345\276\220\346\235\255/20240607-\346\235\203\351\231\220\347\256\241\347\220\2062.md" "b/\345\220\225\345\276\220\346\235\255/20240607-\346\235\203\351\231\220\347\256\241\347\220\2062.md" new file mode 100644 index 0000000000000000000000000000000000000000..4984eda70a11c57df99a9df22e5b610b6e83b9d3 --- /dev/null +++ "b/\345\220\225\345\276\220\346\235\255/20240607-\346\235\203\351\231\220\347\256\241\347\220\2062.md" @@ -0,0 +1,37 @@ +### 特殊权限 + +- SUID +- SGID +- SBID + +### umask 权限掩码 + +- umask:查看当前权限掩码 + - 0022 :root用户umask值为0022,普通用户umask值为0002 + - 第一位代表特殊位(对应文件的特殊权限,只有配置了SUID、SGID、SBID此值才有效),暂不考虑 + - 第二位代表文件的用户权限 + - 第三位代表文件的用户组权限 + - 第四位代表文件的其它用户权限 +- umask -S:以文字的方式来表示权限掩码 + - u=rwx,g=rx,o=rx + +### 隐藏权限 + +- i + - 文件方面:不允许对这个文件进行任何修改(修改删除) + - 目录方面:只允许修改目录下的文件,不允许进行创建,删除,移动,重命名任何文件和目录 +- a + - 文件方面:只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件 + - echo '内容' >> 文件名 + - 目录方面:只允许在这个目录下创建和修改文件,不允许删除,移动,重命名任何文件和目录 +- u +- 删除文件,可以恢复(保留在硬盘中的数据) +- s +- 彻底删除文件,不可恢复(用0填充原文件所在硬盘区域) +- chattr:添加或取消文件的隐藏权限 + - chattr +[i,a] 文件名:添加隐藏权限 + - chattr -[i,a] 文件名:减去文件的 i 隐藏权限 +- lsattr:查看文件的隐藏权限 + - lsattr 文件名 + - -a 查看指定目录中全部文件的隐藏属性,包括隐藏文件 + - -d 查看指定目录的隐藏属性 \ No newline at end of file