常见命令的特殊用法
cp
cp -i # 覆盖提示 alias cp="cp -i" mv -i # 覆盖提示 alias mv="mv -i"
cp -r # 复制目录 cp -a # 保留权限
cp -s a b # link file, only in current directory ln -s a b # a 要使用绝对路径, b 可以不用 cp -d a b # 直接复制 a 所链接的 文件, 使 b 也链接到 a 所链接的文件
chattr, lsattr
chattr +i FILE # 让文件无法移动 chattr +a FILE # append, 只能增加, 不能删除和修改, 要删除先 chattr -a FILE lsattr
观察文件类型
stat
file: ASCII data binary 或者有没有用到动态函式库
type
-t | 显示他的意义 file. alias. builtin内建 |
-a | 列出PATH中 |
-p | 显示外部指令的完整文件名 |
档案特殊权限: id(列出自己信息)
在原来改权限3个数字之前再加一个1个数字 chmod nxxx FILE
4 | SUID s 所有者 |
2 | SGID s 群组 |
1 | SBIT t 其他 |
这3个权限都是需要x 权限來支持都, 如果一个文件没有x权限,那么直接赋予
特殊权限就会架空,就是虚有的,系统会提示这些权限是大写的SST
SUID: Set UID
s标志, 使可执行文件在运行的时候有 属主权限.
只要有x 和SUID, 就可以在运行的时候变成 USER.
pstree -u | grep root | | |-passwd(root)
普通用户运行passwd, 就会切换到root身份.
SUID 只能用在二进制文件, 不能用于 shell
SGID: Set GID
当 s 这个标志出现在群组的 x 时,则称为Set GID
文件在执行的时候获得了 同 用户组相同的权利.
目录设定了 SGID 的权限后
- 用户若对于此目录具有 r 和 x 的权限时,该用户能够进入此目录;
- 用户在此目录下的有效群组(effective group) 将会变成该目录的群组;
用途:若用户在此目录下具有 w 的权限(可以新建档案), 则使用者所建立
的新档案, 该新档案的群组和此目录的群组相同.
Sticky Bit
SBIT 目前只对目录有效, 当用户对于此目录具有 w, x 权限,亦既具有写入的权限时;
当用户在该目录下建立档案或目录时,仅有自己和 root 才有权力删除该档案.
时间: 2024-10-21 14:22:34