12位权限体系
特殊权限
setuid
使用这个命令时相当于这个命令的属主(root) 主要是基于命令设置的,主要表现在属主的x权限为s S
这个权限非常危险,知道就行了
大S,是根据文件的执行权限,如果有执行权限就是小s,否则是大S 数字权限4755
例子:[root@qls ~]# chmod u+s /bin/rm
setgid
表现在属组的权限为,在x权限,以后所有的用户在此目录下的创建的文件都是属于该组的,主要针对目录操作 数字权限2770
例子:
[root@qls ~]# chown -R .test /home/test
[root@qls ~]# chmod g+s /home/test
用户创建新的文件属组归于test组
sticky
粘滞位,表现在o的权限为。让任何人都可以管理一个目录,然后每个用户只能管理的自己的文件。 数字权限是1777
例子:
[root@qls ~]# mkdir /opt/data
[root@qls ~]# chmod 777 /opt/data
[root@qls ~]# chmod o+t /opt/data/
[root@qls ~]# ll -d /opt/data/
drwxrwxrwt. 2 root root 22 Nov 12 10:31 /opt/data/
特殊属性,隐藏属性
不受基础权限的影响
a 只能追加,其他的操作不允许
i 无敌的属性,什么都干不了
输入与输出
[> < ]
重定向
将原本输出到屏幕上面的内容定向到指定的文件中
重定向的相关的文件
ll /dev/std*
lrwxrwxrwx. 1 root root 15 Oct 24 09:03 /dev/stderr -> /proc/self/fd/2 #标准错误输出
lrwxrwxrwx. 1 root root 15 Oct 24 09:03 /dev/stdin -> /proc/self/fd/0 #标准输入
lrwxrwxrwx. 1 root root 15 Oct 24 09:03 /dev/stdout -> /proc/self/fd/1 #标准输出
解释:
/dev/stderr #输出的错误信息显示到屏幕上面
/dev/stdin #默认从键盘上面输入,或者从命令和文件读入
/dev/stdout #将正确的信息输出屏幕上面
输出重定向
[> 标准输出重定向,会覆盖源文件内容
[>> 标准输出追加重定向,不会覆盖,只追加文件的结尾
[2> 标准错误输出,会覆盖源文件内容(会把错误信息输入到指定文件中)
[2>> 标准错误输出追加重定向,不会覆盖,只追加文件的结尾 (把错误信息追加到指定文件中,如果没有则空)
正确的和错误都写在一起
[root@qls ~]# ls /roo &>2.log
[root@qls ~]# cat 2.log
ls: cannot access /roo: No such file or directory
[root@qls ~]# ls /roo &>>2.log
[root@qls ~]# cat 2.log
ls: cannot access /roo: No such file or directory
ls: cannot access /roo: No such file or directory
输入重定向
< 标准输入定向,默认从键盘中读取内容改为从命令或者文件中读取内容
<< 标识符限制重定向,当遇到对的字符就结束,当遇到标识符的分解符结束
将多条命令追加一个文件中
[root@qls ~]# (ls /root;ls /opt) >>pp.log
将错误的和正确输出不同的文件中
[root@qls ~]# ping -c1 -W1 baidu.com >>out.log 2>>err.log