用户权限及正则表达式

ln –s软连接原文件可以写绝对路径或相对于软连接文件的相对路径

ln 硬链接的原文件可以写绝对路径,相对于硬链接文件的相对路径或相对于当前路径的路径(因为硬链接主要是看节点号)

etc/passwd格式:

username:x:uid:gid:home:shell

etc/shadow格式

username:password:password age:min:max:warn:inactive:userage:

etc/group格式

groupname:x:gid:groupmember

etc/gshadow格式

groupname:password:groupadmin:groupmember

useradd –D查看用户默认属性(实际上就是etc/default/useradd中的内容)

/etc/skel存放着新增加用户的家目录模板,家目录被删除可以从/etc/skel复制一份

userdel –r 在删除用户时同时删除家目录,若其所属组为私有组则将组也删除,同时删除mail

批量创建用户使用newusers命令,将用户信息写成passwd文件的格式

newusers 文件名

设置口令使用passwd命令,echo 口令|passwd –stdin 用户名

批量设置口令,创建一个文件,写成  用户名:口令 格式

cat 文件名 | chpasswd

复制目录中除.和..之外所有文件:cp  /#/.   #

                                                 cp/#/.[^.]

 etc/login.gefs 和etc/default/useradd保存了用户创建时的默认属性

authconfig—passalgo= #  –update 更改加密方式

usermod:-u:更改uid     -g:更改gid   -G:更改附加组(不加a则覆盖现有组,加a会保留现有组进行累加)  -l:更改用户名    -L:锁定  -U:解锁    -e: 账户过期日期 uu-mm-dd  -f:非活动期限

usermod –d 给用户指定一个新的家目录(通常配合m使用,不然新家目录不会自动创建,原家目录文件也不会自动移动到新的家目录)

groups  用户名: 查看用户的组

 id 用户名  :查看uid,gid,组信息等  -u:uid  -g:gid  -G:groups   (选项后面加n会显示名称,-un,-gn,-Gn)

要清除所有附加组:usermod  –G ‘’用户名

                              usermod –G ‘主组名’用户名

su:切换用户  su- 是完全切换  非完全切换当前目录不变,PATH不变

su –c # 以root身份执行命令

直接执行passwd可以修改密码

chfn修改注释信息

 

chsh修改shell类型

可以使用gpasswd命令修改组密码

newgrp可以临时切换基本组

文件及目录具有r:读  w:写  x:修改三种权限,权限分为u:属主,g:属组,o:其他

当目录只具有读权限时,只能够读取文件名,不能够进行其他任何操作

当目录只具有执行权限时,不能读取文件名,但是在事先知道文件名的情况下可以进行对文件所具有权限的操作,但不能做改名,删除等影响目录内容的操作

当目录只具有写权限时,不能进行任何操作

Chmod格式为 chmod who opt permission file

Who=u,g,o,a       opt=+,-,=       per= r,w,x

X权限若加载目录上则表示给目录和本身有一个x权限的文件加上执行权限,而对于原本不具有x权限的则不加

使用数字赋予权限时r=4,w=2,x=1,目录最大权限为777,文件为666

umask决定目录默认权限,原理为从最大默认权限屏蔽掉相应权限位即将最大权限和umask转化为二进制形式并一一对应,将umask为1的位置将相应最大权限转化为0,

umask为0的位置对应的最大权限不变,再将得出的二进制数字转化为八进制就是目录或文件的权限。

权限简便算法:对目录用777-umask

                       对文件用666-umask(若减出的数为奇数则加1,偶数则不变)

三种特殊权限:suid,sgid,sticky

suid:运行某二进制程序时,自动继承改程序属主的权限

sgid:作用在二进制程序上时,用户运行该程序时自动继承该程序所属组的权限

         作用在目录上时,在该目录内新建的文件或目录自动继承该目录的所属组

Sticky:设置在文件上无意义,设置在目录上只有文件所有者或管理员可以删除

Acl实现灵活的权限管理(自己后加的分区有可能默认不支持acl)

Setfacl 设置acl权限

Getfacl查询acl权限

Acl影响除文件所有者和其他人的所有人

Acl的mask值影响最大权限

文件访问权限顺序:owner-facl user-group-facl group –other

Last显示用户登陆及重启历史

Lastb显示用户错误登录尝试

Lastlog:每一个用户最近一次登录信息

随机数生成器: /dev/random       /dev/urandom

Cat    -A:显示所有特殊字符  -n:显示行号   -s压缩多个空行成一行

         -b:非空行编号

Tac:倒置文本(行倒置)     rev:列倒置

Tail –f –no  & # 将新增加内容显示出来

Cut –d分隔符 –f以分隔符分开列数

–output-delimiter=自定义分隔符

Paste 文本1  文本2    -d:分隔符     -s:所有行合成一行

Wc:统计工具  -l:行数   -w:单词数  -m:字符数  -c:字节数

Sort排序工具    -r:反向排序   -n:按数字排序  -f:忽略大小写   -u:删除重复行

 -t 界定符  -k按界定符分第几列

Uniq:删除连续重复的行  -c:每行重复的次数  -d:显示重复的行  –u:显示不重复的行

Diff可以比较两个文件的不同  –u按标准格式输出不同

Patch  文件   diff文件 可以进行恢复( patch –b可以先将文件进行备份,patch命令恢复原文件时会覆盖现文件)

Grep:文本过滤工具

Grep分为grep  egrep  fgrep

Regexp:由一类特殊字符及文本字符所编写的模式,其中有  些字符(元字符)不表示字符字面意义,而表示控制或通配  的功能

正则表达式分为基本正则表达式和扩展正则表达式

元字符分类:字符匹配、匹配次数、位置锚定、分组

字符匹配: 

. : 匹配任意单个字符

[] : 匹配指定范围内的任意单个字符 

[^] :匹配指定范围外的任意单个字符

匹配次数:用在要指定次数的字符后面,用于指定前面的字  符要出现的次数(贪婪模式:尽可能长的匹配)

  *:匹配前面的字符任意次,包括0次  

 .*:任意长度的任意字符 

\?:匹配其前面的字符0或1次

 \+:匹配其前面的字符至少1次 

\{m\}:匹配前面的字符m次 

\{m,n\}:匹配前面的字符至少m次,至多n次

 \{,n\}:匹配前面的字符至多n次

 \{m,\}:匹配前面的字符至少m次

位置锚定:定位出现的位置 

^:行首锚定,用于模式的最左侧 

$:行尾锚定,用于模式的最右侧 

^#####$: 用于模式匹配整行 

^$: 空行 

^[[:space:]]*$ :空白行 

\< 或 \b:词首锚定,用于单词模式的左侧 

\> 或 \b:词尾锚定;用于单词模式的右侧 

\<####\>:匹配整个单词

分组:\(\):将一个或多个字符捆绑在一起,当作一个整体进 行处理

 

 

 

 

 

 

 

 

                             

                             

原创文章,作者:zzzzz1357x1,如若转载,请注明出处:http://www.178linux.com/30340

(0)
zzzzz1357x1zzzzz1357x1
上一篇 2016-08-08
下一篇 2016-08-08

相关推荐

  • 第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@unclez ~]#  grep -E "^[[:space:]]+.*" /boot/grub/grub.cong 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟…

    Linux干货 2016-12-31
  • sed使用小结

    sed使用小结 Stream EDitor  行编辑器       sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”( pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,…

    Linux干货 2016-08-12
  • 文件通配符练习

    课后资料补充 * : 通配符,代表任意字符(0到多个)? : 通配符,代表一个字符# : 注释/ : 跳转符号,将特殊字符或通配符还原成一般符号| : 分隔两个管线命令的界定; : 连续性命令的界定~ : 用户的根目录$ : 变量前需要加的变量值! : 逻辑运算中的&q…

    Linux干货 2016-08-08
  • MySQL应用管理

    这篇文章主要讲述基本的SQL语句,以供新手参考使用,不过最好的办法还是查阅官方文档和help命令。 进入正题 什么是SQL?        SQL结构化查询语言,是关系型数据库查询和管理语言,是一种数据库查询和程序设计语言,用于存取数据以及查询,更新和管理关系型数据库系统。 SQL的分类 &nbsp…

    Linux干货 2015-09-23
  • Ansible安装部署及常用模块详解

    Ansible命令使用 Ansible语法使用ansible <pattern_goes_here> -m <module_name> -a <arguments> -m NAME,–module-name=NAME:指定执行使用的模块 -u USERNAME,–user=USERNAME:指定远程…

    2017-07-11
  • 正则表达式、扩展正则表达式

    正则表达式:支持:grep,sed,awk,vim, less,nginx,varnish等

    2018-03-16

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-10 10:32

    博客写的太少了,希望能把grep常见用法及正则表达式能完整的表达出来,这是需要有待提高的地方