用户 创建和删除
______________________________________________
用户
______________________________________________
[ chown
[ useradd 创建
[ userdel 删除
[_____________________________________________
useradd 用户
useradd —d 创建加目录
useradd —M 创建不加目录
useradd —s —sbin/bash
改uid
| —u
|
| —g
id |
|
|
| —c
删除 id 用户 userdel 用户 —r
____ _______
—u 5000
chown
_____________________________________________
创建一个用户名为user01
useradd user01
创建一个用户名为user02 edu为5000
useradd user02 —u 5000
创建一个用户名为user03 价目了为/opt/user03
useradd user03 —d /opt/user03
创建一个用户名为user04只创建用户,不创建家目录
useradd user04 —M
创建一个用户名为user05设置登录she11为/sbin/nolngin
useradd user05 —s /sbin/nolngin
创建一个用户名为user06描述为hello
useradd user06 —c hello
并设置密码为06123
passwd user6
______________________________________________
所属主
______________________________________________
—rwxr—x r— 1 root root 3297 类型 所有者 所属组 时间
rwx r—x r—x
所属主 组 其它
r读
w写
x执行
_____________________________________
chown改变所属主(组)
chown 用户 文件
chown .用户 文件
chown u
g [ +/- ] wxr
o
_______________________________________
改权限 chmod
_______________________________________
chmod a+w 所有加w
x
r
u [=wxr
g [
o [
chmod —R 用户 目录
chmod a-w —R 目录
/etc/login.defs 用户策略
批量创建用启:
newusers passwd 格式文件
批量修改用户口令:
echo username:passwd|chpasswd
文件:
username:passwd
username2:passwd2
用户属性修改
usermod
usermod —help
锁定和解锁
删除用户
userdel username
-r
创建组
groupadd
groupadd —help
修改组
groupmod
删除组:
groupdel
当前用户属于哪些组
groups username
组中有哪些成员
groupmems -l -g groupname
把用户增加到一个组里
gpasswd
9.17
设定文件特殊属性
设定文件的特殊属可以访问root用户误操作删除或者修改文件
不能删除,改名,更换
chattr +i
只能追加,不能删除,改名字
charrt +a
显示特定属性
lsattr
访问控制列表 ACL
CL:Access Control List 访问控制列表,实现灵活的权限管理,除了文件所有者,所属
组和其他人,可能对其他更多用户设置权限。
centos7 默认有此功能,7 之前需要手功添加
tune2fs -o acl /dev/sdb1
mount -0 acl /dev/sdb1 /mnt/test
ACL 生效顺序:
所有者,自定义用户,所属组|自定义组, 其他人
ACL 相关命
setfacl 可以设置 ACL 权限
getfacl 可以查看设置的 ACL 权限
setfacl -m u:zgl:- test.txt
-m 修改
-x 删
-b 清空
setfacl -m u:spb:rw test.txt
getfacl test.txtsk
复制文件的acl权限给另一个文件
getfac lfile1 |setfacl ——set-file=-file2
1
mask
acl 里面最大权限,不能操过mask的权限·
用户或者组的设置必须在mask的范围内才能生效
setfacl -m mask ::rw file1
ACL 实际应用
误操作把 chmod 的执行权限取消了。
chmod a-x /usr/bin/chmod
现在对文件或目录无法授权了,
使用 acl:
setfacl -m u:root:rwx /usr/bin/chmod
然后把chmod 权限恢复
文本编辑g工具
_____________________
vi 、vim
________________+____
grep
sed
awk
X 加密码
setkey=passwd 加密
set key =解密
:!command 执行命:令
:r!comman 读取命令的输出
set list 显示不可见符号 (tab换行)
set ts =4 tab建用4个空格代替
zt 把当前行移动到当前屏幕的顶部
zz 把当前行移动到当前屏幕的之间
zb 把当前行移动到当前屏幕的底部
{}段落移动
di” 光标在””之间,删除“”之间的内容
yi( 光标在()之间,复制()之间的内容
多文件模式
vim file1 file2
:next 下一个
:prev 前一个
:first 第一个
: last 最后一个
:wall帮衬说有
:qall不保存退出所有
:wqqall保存退出所有
多窗口模式
多文件
vim -o|-O file 1 file 2
-o:水平或者向下分割
-O:垂直或者左右分割
在窗口间切换:ctrl +w 方向健
单文件窗口分割
ctrl +w,s:水平分割
ctrl+w,v:垂直分割
ch窗口切换:ctrl +w +方向键
9,。19
at 查看文本内容
-E 显示行结束符$
-A 显示所有控制符
-n 对显示出的每行进行编号
-b: 空行不编号
-s 把连续的空行压缩成一行
tac 逆向显示文本内容
nl 显示行号 == cat -b
rev 将同一行的内容逆向显示
查看非文本文件的内容
hexdump
more
less
head
tail
-f 跟踪显示文件fd
-F 跟踪文件名
-n 数字,从后面开始显示几行, 默认最后10行
+数字 从文件的第几行开始显示
按列取文本
cut命令可以提取文本文件或stdin数据的指定列
-d 指明分隔符,默认tab
-f fileds:
#: 第#个字段,如3
#,#[,#]:离散的多个字段,如1,3,5
#-#: 连续的多个字段,如1-5
混合使用: 1-3,7
-c 按字符切割
--output-delimiter=string指定输出分隔符
修改网卡名,恢复成传统的网卡命令方式:
/etc/default/grup
net.ifname=0
grub2-mkconfig -o /boot/grub2/grub.cfg
paste 合并两个文件
-s 所有行合成一行
-d 指定分隔符,默认tab
wc 文本数据统计
可用于统计文件的行的总数,单词总数,字节总数和字符总数
-l 行数
-w 单词总数
-c 字节总数
-m 字符总数
-L 文件中最长行的长度
[root@bogon ~]# wc b.txt
1 2 13 b.txt
行 单词 字节
sort 文本排序
对文本进行排序显示在STDOUT上,不改变原文件
-r 逆序
-R 随机排序
-n 按数字大小整理
-f 忽略大小写
-u 删除重复行
-t c 选项使用c做为字段界定符(指定分隔符)
-k #选项按照使用c字符分隔的#列来整理能够使用多次 (指定第几列)
uniq 去重(删除前后相邻重复的行)
-c 显示每行重复出现的次数
-d 仅显示重复的过
-u 仅显示不曾复的行
uniq 经常和sort结合使用
MIV
寄存器放在数字和命令中间
3"ayy 表示复制3行寄存到a里面
平时不指定的叫做无名寄存器
cat查看文本内容
-E 显示行结束符 $
-A显示所有控制符
-n显示每行进行编号
-n空行不编号
-a把连续的空行压缩成一个
tac 逆向显示文本内容
nl显示行号 ==cat -b
rev 将同一行的内容逆向显示
查看非文件的内容
hexdump
moer
less
head
tail
-f 跟踪显示文件 fd
-F 跟踪文件名
-n 数字,从后面开始显示几行, 默认最后 10 行
+数字 从文件的第几行开始显示
按列取文本
cut 命令可以提取文本文件或 stdin 数据的指定列
-d 指明分隔符,默认 tab
-f fileds:
#: 第#个字段,如 3
#,#[,#]:离散的多个字段,如 1,3,5
混合使用: 1-3,7
-c 按字符切割
--output-delimiter=string 指定输出分隔符
修改网卡名,恢复成传统的网卡命令方式:
/etc/default/grup
net.ifname=0
grub2-mkconfig -o /boot/grub2/grub.cfg
paste 合并两个文件
-s 所有行合成一行
-d 指定分隔符,默认 tab
wc 文本数据统计
可用于统计文件的行的总数,单词总数,字节总数和字符总数
-l 行数
-w 单词总数
-c 字节总数
-m 字符总数
-L 文件中最长行的长度
[root@bogon ~]# wc b.txt
1 2 13 b.txt
行 单词 字节
sort 文本排序
对文本进行排序显示在 STDOUT 上,不改变原文件
-r 逆序
-R 随机排序
-n 按数字大小整理
-f 忽略大小写
-u 删除重复行
-t c 选项使用 c 做为字段界定符(指定分隔符)
-k #选项按照使用 c 字符分隔的#列来整理能够使用多次 (指定第几列)
uniq 去重(删除前后相邻重复的行)
-c 显示每行重复出现的次数
-d 仅显示重复的过
-u 仅显示不曾复的行
uniq 经常和 sort 结合使用
grep
grep
-A<显示行数> 或 --after-context=<显示行数> : 显示该行之后的内容。
-B<显示行数> 或 --before-context=<显示行数> : 显示该行之前的内容。
-c 或 --count : 有几行数。
-C<显示行数> 或 --context=<显示行数>或-<显示行数> : 显示该行之前后多少行的内容。
-i 或 --ignore-case : 忽略字符大小写。
-m # 匹配#次后停止
-n 或 --line-number : 标示出该行的编号。
-o 或 --only-matching : 只显示匹配PATTERN 部分。
-q 或 --quiet或--silent : 不显示任何信息。
-v 或 --invert-match : 显示不包含匹配的所有行。
-w 或 --word-regexp : 包括这个单词(单词的分界符空格,-,:)。
| s/\(r..t\)/\1abc/
| s#\(r..t\)#\1abc#
字符匹配
. 匹配任意单个字符
[]匹配指定范围内的任意单个字符: [0-9] [10itedu]
[^] 匹配指定范围外的任意单个字符
[:alnum:]:字母和数字
[:alpha:]:字母(大小写都包括)
[:cntrl:]:控制(非打印)字符
[:digit:]:数字
[:graph:]:图形字符
[:lower:]:小写字母
[:print:]:可打印字符
[:punct:]:标点符号
[:space:]:空白字符
[:upper:]:大写字母
[:xdigit:]:十六进制字符
[:space:]: 空格
匹配次数
用于指定前面的字符要出现几次
* 匹配前面的字符的任意次,包括 0 次, 贪婪匹配:尽可能长的匹配
.* 任意长度的任意字符
\? 匹配其前面的字符 0 或 1 次
\+匹配前面的字符至少 1 次
\{n\} 匹配前面的字符 n 次
\{m,n\} 匹配前面的字符至少 m 次,最多 n 次如{1,3} 匹配 1 到 3 次
\{, n\}匹配前面的字符最多 n 次 <=n
\{n,\} 匹配前面的字符至少 n 次
用于定位出现的位置
^ 行首
$ 行尾
^[xxx]以[]内的任意字符开头
[^xxx]: 除了[]内的
^$ 空行
^[[:space:]]*$ 空白行
<key> 匹配整个单词
\< 词首
\>词尾

浙公网安备 33010602011771号