Linux运维+系统服务搭建(三)用户管理及权限、IO重定向、grep、正则表达式
2016-09-30 11:55
691 查看
计算资源
内核—程序(进程)–交互工具shell
权限
用户,容器,关联权限—-我们将所有用户放入不同的容器让其关联不同的权限,简化方便指配权限—-就达到了用户组
计算机如何实现获取每个用户,对于计算机每个用户都是正对于外界就是个标示符。用户组也是标示符。
进程是用户的执行程序的一个代理,那么我们可以理解为的就是当你用不同的用户登录执行命令,那么进程的用户组就是不同用户的代理进行执行操作。而用户对于计算机的操作统一来看就是发起一个进程。
linux上每个文件都有三个权限
安全上下文
权限r,w,x
文件:
r:可读,可以使用例似cat等命令查看文件内容;
w:可写,可以编辑或删除此文件
x:可执行,exautalbe,可以命令提示符下当做命令提交给内核运行
目录:
r:可以对此目录执行ls以列出内部的所有文件
w:可以在此目录中创建文件
x:可以使用cd切换进此目录也可以使用ls -1查看内部文件的详细文件
rwx:有以上权限则全部显示
没有则以–显示
只读文件:r–
读和写:rw-
无权限:—
如何用二进制标示呢
0 000 —:无权限
1 001 –x:执行
2 010 -w-:只写
3 100 r–:只读
4 101 r-x:读和执行
5 110 rw-:读和写
6 111 rwx:读写执行
rwxr-xr-x 代表的数字是644
计算机如何根据用户登录去得到用户或者用户组的UID或者GID
如同解析道理:名称解析,www.baidu.com—–那么我们需要有个数据库存储来对应
那么对于用户来说用户信息库的数据库是什么呢??
就是在 /etc/passwd
用户组的数据库是什么?
就是etc/group
在上述的两种数据库里面,存放了一种映射关系。用户登录之后会根据映射关系去解析
用户想要密码:
影子口令:
用户要密码: /etc/shadow
组:/etc/gshadow
用户类别:
管理员和普通用户
普通用户分为系统用户和一般用户根据UID号进行权限管理
管理员的UID–0
普通用户UID 1-65535
系统用户:1-499
一般用户:500-60000
所以我们根据上述的UID的范围我们就可以知道用户的身份
用户组类别:
管理员组
普通组
系统组
一般组
用户组类别:
基本组、私有组、附加组(额外组–即为基本组之外的所有组的统称)
假如创建用户的时候,没有创建用户指定所属的组,系统会根据自动为
用户创建个与用户名相同的私有组
一个进程去访问文件那么他到底是如何判断权限来进行访问
的呢?
根据进程所属用户的权限是否和文件权限匹配,第二个就是根据用户身份相同或者数组身份相同否则就是最后的权限描述。
权限描述格式:rwxr-xr-x
account登录名
password:
UID
GID
comment
HOME DIR:家目录
SHELL;用户默认的shell
/etc/shadow
account登录名
encrypted password:加密的密码
密码中的符号*标示锁定
!可以改动密码多加几个!号
加密方法:
对称加密,加密和解密使用同一个密码
公钥加密:每个密码都成对出现,一个为私钥,一个为公钥
单向加密:(散列加密或者指纹加密),加密前明文,加密后密文,提取数据特征码
—-一般用于校验数据是否被改动
两大特性–单向加密:
1、雪崩效应,初始条件的微小改变引起结果巨大的变化,防止暴力攻击
2、定长输出:
MD5—message Dgiest,128位定长输出
加密文件格式输入:md5sum 文件名
SHA1:Secure Hash Algorithm,160位定长输出
—-提高加密安全程度我们可以再随机生成salt为其加点盐
公钥密码加密长度比对称加密长度
长,所以效率低安全度高
密码需要定期更换来保持它的相对安全性,
useradd USERNAME
groupadd GRPNAME
用户管理
useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage
组管理
groupadd,groupdel,groupmod,gpasswd
三类用户
u:属主
g:数组
o:其他用户
权限管理
chown chgrp chmod
chown USERNAME file
chown:改变文件属主(只有管理员可以使用此命令)
-R:修改目录及其内部文件的属主
–reference=/path/to/somefile file,….
chgrp GRPNAME file
-R:修改目录及其内部文件的数组
–reference=/path/to/somefile file,….
chmod:修改文件的权限
修改三类用户的权限
修改某类用户或某些类用户权限
修改某类的用户某位或某些位权限
chmod MODE file,…
-R:修改目录及其内部文件的数组
–reference=/path/to/somefile file,….
修改某类用户或者某些类用户权限
u,g,o,a
chmod u=rwx test.txt
chmod o=rx test.txt
修改某类用户的某位或者某些位权限
u,g,o,a
chmod u-x test.txt 去掉属主的可执行权限
chmod o+x,u-x test.txt
三类同时有执行权限 chmod a+x test.txt或者
chmod +x test.txt
文件不能具有执行权限,如果结果有执行权限则将其权限加1
bash的配置文件
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
个人配置
~/.bash_profile,~/.bashrc
profile类的文件:
设定环境变量
运行命令或脚本
bashrc类的文件
设定本地变量
定义命令别名
登陆式shell读取配置文件过程
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile,~/.bashrc
非登陆式的下述倒着读取
/etc/profile.d/*.sh
~/.bash_profile,~/.bashrc
su -完全切换 读取环境变量文件
su 半完全变换 不读取环境变量文件
I/O及重定向
运算器、控制器:cpu
存储器:RAM
输入设备、输出设备
程序:指令和数据
控制器:指令
运算器
存储器
地址总线:内存寻址
数据总线:传输数据
控制总结:控制指令
寄存器:cpu暂时存储器
I/O:硬盘
程序
数据或者指令来源:
输入设备:键盘–鼠标–硬盘–网卡—-》Input
Output:显示器—硬盘—
系统设定
默认输入设备(标准输入–STDIN–0标识–默认键盘)、
默认输出设备(标准输出–STDOUT–1标识–默认显示器)、
标准错误输出;STDERR–2标识–默认显示器
I/O重定向:改变了输入或者输出路径
linux如何描述I/O输入输出
如果防止记错命令敲错
那么可以使用set 通过type set和help set查看帮助文档
我们可以使用set -C开启不会输出重定向 强制覆盖输出可在后面加> |
set+C表示关闭hui覆盖重定向
重定向错误输出:将输出的错误信息输入追加原有文件 2>
2>>
重定向标准输出或者错误输出到同一个文件—&>命令
cat 没有文件的话默认自己后面追加内容
<<:此处生成文档
The first
The second
END
cat >> test.txt << EOF
<输入重定向
管道:前一个命令的输出,作为后一个命令的输入
echo “hello,world.”
我想讲上面的所有小写字母的输出改为大写
echo “hello,world.” | tr ‘a-z’ ‘A-Z’
grep以及正则表达式
grep,egrep,fgrep
grep:根据模式搜索文本,并将符合模式的文本行显示出来
Pattern: 文本字符和正则表达式的元字符组合而成匹配条件
grep
-i:
–color:将符合的内容高亮
-v:显示没有被模式匹配到的行
-o:只显示抓取的内容
正则表达式:
REGular EXPression REGEXP
元字符
.:匹配任意单个字符
匹配次数:
*:匹配其前面的字符任意次
\?:匹配前面字符一次(根据某个模型去找符合条件的所以会匹配出显示的所有)
{m,n}—–(\作用用来转义防止被认为其他)
匹配前面的字符至少m次,至多n次
位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符后面的任意内容必须出现在行尾
^$:空白行
匹配次数(贪婪模式)
*:匹配任意长度的任意字符
?:匹配一个任意字符
【】:匹配指定范围内的任意单个字符
【^】:匹配范围内的任意单个字符
【:punct:】所有的标点符号
【:space:】所有的空白字符
【:lower:】小写字母
【:upper:】大写字母
【:alpha:】大小写字母
【:digit:】数字
【:alnum:】数字和大小写字母
\<或者\b:其后面的任意字符必须作为单词首部出现–锚定词首
>或者\b:其单词的任意字符必须作为单词的尾部出现—锚定词尾
后向引用
\1:引用第一个左括号以及与之对应的右括号
\2:如上往下依次类推
内核—程序(进程)–交互工具shell
权限
用户,容器,关联权限—-我们将所有用户放入不同的容器让其关联不同的权限,简化方便指配权限—-就达到了用户组
计算机如何实现获取每个用户,对于计算机每个用户都是正对于外界就是个标示符。用户组也是标示符。
进程是用户的执行程序的一个代理,那么我们可以理解为的就是当你用不同的用户登录执行命令,那么进程的用户组就是不同用户的代理进行执行操作。而用户对于计算机的操作统一来看就是发起一个进程。
linux上每个文件都有三个权限
安全上下文
权限r,w,x
文件:
r:可读,可以使用例似cat等命令查看文件内容;
w:可写,可以编辑或删除此文件
x:可执行,exautalbe,可以命令提示符下当做命令提交给内核运行
目录:
r:可以对此目录执行ls以列出内部的所有文件
w:可以在此目录中创建文件
x:可以使用cd切换进此目录也可以使用ls -1查看内部文件的详细文件
rwx:有以上权限则全部显示
没有则以–显示
只读文件:r–
读和写:rw-
无权限:—
如何用二进制标示呢
0 000 —:无权限
1 001 –x:执行
2 010 -w-:只写
3 100 r–:只读
4 101 r-x:读和执行
5 110 rw-:读和写
6 111 rwx:读写执行
rwxr-xr-x 代表的数字是644
计算机如何根据用户登录去得到用户或者用户组的UID或者GID
如同解析道理:名称解析,www.baidu.com—–那么我们需要有个数据库存储来对应
那么对于用户来说用户信息库的数据库是什么呢??
就是在 /etc/passwd
用户组的数据库是什么?
就是etc/group
在上述的两种数据库里面,存放了一种映射关系。用户登录之后会根据映射关系去解析
用户想要密码:
影子口令:
用户要密码: /etc/shadow
组:/etc/gshadow
用户类别:
管理员和普通用户
普通用户分为系统用户和一般用户根据UID号进行权限管理
管理员的UID–0
普通用户UID 1-65535
系统用户:1-499
一般用户:500-60000
所以我们根据上述的UID的范围我们就可以知道用户的身份
用户组类别:
管理员组
普通组
系统组
一般组
用户组类别:
基本组、私有组、附加组(额外组–即为基本组之外的所有组的统称)
假如创建用户的时候,没有创建用户指定所属的组,系统会根据自动为
用户创建个与用户名相同的私有组
一个进程去访问文件那么他到底是如何判断权限来进行访问
的呢?
根据进程所属用户的权限是否和文件权限匹配,第二个就是根据用户身份相同或者数组身份相同否则就是最后的权限描述。
权限描述格式:rwxr-xr-x
account登录名
password:
UID
GID
comment
HOME DIR:家目录
SHELL;用户默认的shell
/etc/shadow
account登录名
encrypted password:加密的密码
密码中的符号*标示锁定
!可以改动密码多加几个!号
加密方法:
对称加密,加密和解密使用同一个密码
公钥加密:每个密码都成对出现,一个为私钥,一个为公钥
单向加密:(散列加密或者指纹加密),加密前明文,加密后密文,提取数据特征码
—-一般用于校验数据是否被改动
两大特性–单向加密:
1、雪崩效应,初始条件的微小改变引起结果巨大的变化,防止暴力攻击
2、定长输出:
MD5—message Dgiest,128位定长输出
加密文件格式输入:md5sum 文件名
SHA1:Secure Hash Algorithm,160位定长输出
—-提高加密安全程度我们可以再随机生成salt为其加点盐
公钥密码加密长度比对称加密长度
长,所以效率低安全度高
密码需要定期更换来保持它的相对安全性,
useradd USERNAME
groupadd GRPNAME
用户管理
useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage
组管理
groupadd,groupdel,groupmod,gpasswd
三类用户
u:属主
g:数组
o:其他用户
权限管理
chown chgrp chmod
chown USERNAME file
chown:改变文件属主(只有管理员可以使用此命令)
-R:修改目录及其内部文件的属主
–reference=/path/to/somefile file,….
chgrp GRPNAME file
-R:修改目录及其内部文件的数组
–reference=/path/to/somefile file,….
chmod:修改文件的权限
修改三类用户的权限
修改某类用户或某些类用户权限
修改某类的用户某位或某些位权限
chmod MODE file,…
-R:修改目录及其内部文件的数组
–reference=/path/to/somefile file,….
修改某类用户或者某些类用户权限
u,g,o,a
chmod u=rwx test.txt
chmod o=rx test.txt
修改某类用户的某位或者某些位权限
u,g,o,a
chmod u-x test.txt 去掉属主的可执行权限
chmod o+x,u-x test.txt
三类同时有执行权限 chmod a+x test.txt或者
chmod +x test.txt
文件不能具有执行权限,如果结果有执行权限则将其权限加1
bash的配置文件
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
个人配置
~/.bash_profile,~/.bashrc
profile类的文件:
设定环境变量
运行命令或脚本
bashrc类的文件
设定本地变量
定义命令别名
登陆式shell读取配置文件过程
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile,~/.bashrc
非登陆式的下述倒着读取
/etc/profile.d/*.sh
~/.bash_profile,~/.bashrc
su -完全切换 读取环境变量文件
su 半完全变换 不读取环境变量文件
I/O及重定向
运算器、控制器:cpu
存储器:RAM
输入设备、输出设备
程序:指令和数据
控制器:指令
运算器
存储器
地址总线:内存寻址
数据总线:传输数据
控制总结:控制指令
寄存器:cpu暂时存储器
I/O:硬盘
程序
数据或者指令来源:
输入设备:键盘–鼠标–硬盘–网卡—-》Input
Output:显示器—硬盘—
系统设定
默认输入设备(标准输入–STDIN–0标识–默认键盘)、
默认输出设备(标准输出–STDOUT–1标识–默认显示器)、
标准错误输出;STDERR–2标识–默认显示器
I/O重定向:改变了输入或者输出路径
linux如何描述I/O输入输出
>输出重定向---会覆盖原目标原有内容---覆盖输出 >>:会在原有目标后面追加内容----追加输出
如果防止记错命令敲错
那么可以使用set 通过type set和help set查看帮助文档
我们可以使用set -C开启不会输出重定向 强制覆盖输出可在后面加> |
set+C表示关闭hui覆盖重定向
重定向错误输出:将输出的错误信息输入追加原有文件 2>
2>>
重定向标准输出或者错误输出到同一个文件—&>命令
cat 没有文件的话默认自己后面追加内容
<<:此处生成文档
cat <<END标记结束标示(任意和下面结束 符号保持一致)
The first
The second
END
cat >> test.txt << EOF
<输入重定向
管道:前一个命令的输出,作为后一个命令的输入
echo “hello,world.”
我想讲上面的所有小写字母的输出改为大写
echo “hello,world.” | tr ‘a-z’ ‘A-Z’
grep以及正则表达式
grep,egrep,fgrep
grep:根据模式搜索文本,并将符合模式的文本行显示出来
Pattern: 文本字符和正则表达式的元字符组合而成匹配条件
grep
-i:
–color:将符合的内容高亮
-v:显示没有被模式匹配到的行
-o:只显示抓取的内容
正则表达式:
REGular EXPression REGEXP
元字符
.:匹配任意单个字符
匹配次数:
*:匹配其前面的字符任意次
o.*:任意长度的任意字符---*匹配的是.
\?:匹配前面字符一次(根据某个模型去找符合条件的所以会匹配出显示的所有)
{m,n}—–(\作用用来转义防止被认为其他)
匹配前面的字符至少m次,至多n次
位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符后面的任意内容必须出现在行尾
^$:空白行
匹配次数(贪婪模式)
*:匹配任意长度的任意字符
?:匹配一个任意字符
【】:匹配指定范围内的任意单个字符
【^】:匹配范围内的任意单个字符
【:punct:】所有的标点符号
【:space:】所有的空白字符
【:lower:】小写字母
【:upper:】大写字母
【:alpha:】大小写字母
【:digit:】数字
【:alnum:】数字和大小写字母
\<或者\b:其后面的任意字符必须作为单词首部出现–锚定词首
>或者\b:其单词的任意字符必须作为单词的尾部出现—锚定词尾
\<root\>:精确匹配root
分组:\(\) \(wo\)*:重写wo本身多次或者0次
后向引用
\1:引用第一个左括号以及与之对应的右括号
\2:如上往下依次类推
相关文章推荐
- Linux用户管理、权限、权限管理、IO重定向、正则表达day04
- linux系统用户管理与grep正则表达式示例教程
- Linux基础 用户管理 权限管理 正则表达式
- 8月1日 课堂笔记 IO重定向及管道和用户、组和权限管理
- 用户角色权限管理系统-----java web 脚手架搭建(一)
- 2015年8月27日【文件权限管理及grep正则和扩展正则表达式】-JY1506402-19+liuhui880818
- Linux基础入门及系统管理01-Shell三剑客之grep及正则表达式14
- Oracle系统中用户权限的赋予,查看和管理(注意点)(4)
- 统一用户及权限管理系统
- 实现业务系统中的用户权限管理
- 实现业务系统中的用户权限管理--设计篇(强烈推荐)
- 基于整合了struts 和hibernate 的j2ee 架构的用户权限管理系统的设计与实现
- 用户权限设计(四)——基于RBAC模型的通用权限管理系统的设计(数据模型)的扩展
- 实现业务系统中的用户权限管理--实现篇
- 实现业务系统中的用户权限管理--设计篇
- 实现业务系统中的用户权限管理--设计篇
- RedGlovePermission 权限管理系统源码(支持自定义权限、模块,支持角色权限,用户独立权限以及多角色权限)
- 实现业务系统中的用户权限管理
- 实现业务系统中的用户权限管理--设计篇
- 实现业务系统中的用户权限管理--设计篇