三种常用权限:r, w, x user, group, other
安全上下文
前提:进程有属主和属组���文件有属主和属组
(1) 任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行权限
(2) 启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组
(3) 进程访问文件时的权限,取决于进程的发起者
(a) 进程的发起者,同文件的属主:则应用文件属主权限
(b) 进程的发起者,属于文件属组;则应用文件属组权限
(c) 应用文件“其它”权限
可执行文件上SUID权限
任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
启动为进程之后,其进程的属主为原程序文件的属主
SUID只对二进制可执行程序有效
SUID设置在目录上无意义
权限设定:
chmod u+s FILE... -rwsr--r-- -rwSr--r-- 小写原来有执行权限,大写原来没有。
chmod u-s FILE...
可执行文件上SGID权限
任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
启动为进程之后,其进程的属组为原程序文件的属组
权限设定:
chmod g+s FILE... -rwxrwsr--
chmod g-s FILE...
sticky位 粘滞位
具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
在目录设置Sticky 位,只有文件的所有者或root可以删除该文件
sticky 设置在文件上无意义
权限设定:
chmod o+t file
chmod o-t file
例如:ls -ld /tmp
drwxrwxrwt 12 root root 4096 Nov 2 15:44 /tmp
drwxrwxrwT t大写表示原来没有执行权限
sst可以设置在最左侧,用0-7表示。
chmod 5775 file 表示设置SUID和stick位,后边与之前相同。
二、文本处理文本查看,分析,统计工具
正则表达式
扩展正则表达式
vim
grep
sed
文本查看,分析,统计工具cat 查看文件,将文件内容全部输出到标准输出
more 按页查看,到尾部自动退出
less 按页查看,指令man使用的文本查看工具。
head 输出前十行 head -1: 输出第一行
tail 输出后十行 tail -1: 输出最后一行
tail -f 监视,持续输出文件尾部的追加的新内容
cut -d: -f7 file 以:为分割,显示第七个字段
cut -d‘ ’ 以空格为分割
wc word cut,字符统计
-l 只显示行
-w 只显示单词
-m 只显示字符数
-c 只显示字节
sort 排序
-r 逆序
-n 以大小排
-f 忽略大小写
-u 去重 unique
uniq 去连续重复
-c 显示重复计数
-d 显示重复出现的行
-u 显示只出现一次的行
diff 比较
patch 打补丁
正则表达式REGEXP:由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能
程序支持:grep,sed,awk,vim, less,nginx,varnish等
分两类:
基本正则表达式:BRE
扩展正则表达式:ERE grep -E, egrep
正则表达式引擎:
采用不同算法,检查处理正则表达式的软件模块
PCRE(Perl Compatible Regular Expressions)
元字符分类:字符匹配、匹配次数、位置锚定、分组
man 7 regex
字符匹配
. 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
[:alnum:] 字母和数字
[:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z
[:lower:] 小写字母 [:upper:] 大写字母
[:blank:] 空白字符(空格和制表符)
[:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)
[:cntrl:] 不可打印的控制字符(退格、删除、警铃...)
[:digit:] 十进制数字 [:xdigit:]十六进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 标点符号