这里写自定义目录标题
往日重现:
1.统计/etc目录大小,请写出该命令?
du -sh /etc
2.linux系统命令行执行!vim作用是什么?
执行历史命令中最近一条以vim开头的命令
3.如何查看系统时间,请写出该命令?
date
4.针对/opt目录制作一个链接文件,放到/root/目录下,请写出该命令?
ln -s /opt /root/
5.查询/usr/sbin/ifconfig程序是由哪个软件安装产生,请写出该命令?
rpm -qf /usr/sbin/ifconfig
yum provides /usr/sbin/ifconfig
6.利用rpm命令检测firefox是否安装,请写出该命令?
rpm -q firefox
7.查询bash软件的安装清单如何操作?
rpm -ql bash
8.利用yum命令重新安装软件hostname,请写出该命令?
yum -y reinstall hostname
9.利用yum安装httpd软件,请写出该命令?
yum -y install httpd
10.yum仓库配置文件放在什么路径下?具体都有哪些字段?
/etc/yum.repos.d/
具体字段:[] name baseurl enabled gpgcheck gpgkey
###################################################################
一、环境准备
还原快照,开启CentOS虚拟机
二、用户管理简介
用户账户
作用: 1.可以登陆操作系统 2.不同的用户具备不同的权限
唯一标识:UID(编号从0开始的编号,默认最大60000)
zhangsan(UID 1200)
管理员root的UID:永远为0
普通用户的UID:默认从1000开始
组账户
作用: 方便管理用户
唯一标识:GID(编号从0开始的编号,默认最大60000)
sg(1500)
lisi 1006 sg 1500
原则:Linux一个用户必须至少属于一个组
组账户的分类:
基本组:系统创建与用户同名
附加组(从属组):由管理员创建,由管理员进行加入
]# useradd zhangsan
组: zhangsan
组:sg xs mn haha xixi student
本地账户的数据文件
–/etc/passwd、/etc/shadow
–/etc/group、/etc/gshadow
/etc/passwd:存放用户基本信息配置文件
[root@localhost ~]# head -1 /etc/passwd #显示文件第一行
root❌0:0:root:/root:/bin/bash
用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器
三、用户账号创建
命令useradd
–格式:useradd [选项]… 用户名
•常用命令选项
-u:指定 用户UID
-d:指定宿主目录(家目录),默认为 /home/用户名
-G:指定所属的附加组
-s:指定用户的登录解释器
-u:指定 UID 编号
[root@localhost ~]# useradd nsd01
[root@localhost ~]# ls /home/ #查看家目录的产生
[root@localhost ~]# grep nsd01 /etc/passwd #查看nsd01信息
[root@localhost ~]# id nsd01 #查看nsd01用户基本信息
[root@localhost ~]# id gaga
id: gaga: no such user #无此用户
[root@localhost ~]# useradd -u 1500 nsd02 #指定UID创建用户
[root@localhost ~]# id nsd02 #查看nsd02用户基本信息
[root@localhost ~]# grep nsd /etc/passwd #查看用户信息
[root@localhost ~]# useradd nsd03
[root@localhost ~]# grep nsd /etc/passwd
[root@localhost ~]# id nsd03
-d:指定宿主目录(家目录),默认为 /home/用户名
[root@localhost ~]# useradd -d /opt/nsd04 nsd04
[root@localhost ~]# grep nsd04 /etc/passwd
[root@localhost ~]# ls /opt/
[root@localhost ~]# useradd -d /opt/haha05 nsd05
[root@localhost ~]# grep nsd05 /etc/passwd
[root@localhost ~]# ls /opt/
-G:指定所属的附加组 -g:指定基本组
[root@localhost ~]# groupadd stugrp #单独创建stugrp组
[root@localhost ~]# useradd -G stugrp nsd06
[root@localhost ~]# id nsd06
uid=1504(nsd06) gid=1505(nsd06) 组=1505(nsd06),1504(stugrp)
[root@localhost ~]# useradd -G stugrp nsd07
[root@localhost ~]# id nsd07
[root@localhost ~]# useradd -G stugrp,tmooc nsd11
[root@localhost ~]# id nsd11
-s:指定用户的登录解释器
shell:壳,解释器
用户---->解释器---->内核---->硬件
/sbin/nologin:禁止用户登录操作系统
[root@localhost ~]# useradd -s /sbin/nologin nsd10
[root@localhost ~]# grep nsd10 /etc/passwd
[root@localhost ~]# useradd -s /sbin/nologin nsd11
[root@localhost ~]# grep nsd11 /etc/passwd
usermod命令
–格式:usermod [选项]… 用户名
•常用命令选项
-l:更改用户帐号的登录名称
-u:用户id
-d:家目录路径
-s:登录解释器
-G:附加组 //重置附加组
-l:更改用户帐号的登录名称
-u:用户id
-s:登录解释器
]# useradd nsd13
]# id nsd13
]# grep nsd13 /etc/passwd
]# usermod -l stu13 nsd13 #修改用户名字
]# id stu13
]# usermod -u 1600 stu13 #修改用户的UID
]# id stu13
]# usermod -s /sbin/nologin stu13#修改用户的解释器程序
]# grep stu13 /etc/passwd
-d:家目录路径(不会自动创建家目录) (了解)
[root@localhost ~]# useradd nsd15
[root@localhost ~]# grep nsd15 /etc/passwd
nsd15❌1601:1601::/home/nsd15:/bin/bash
[root@localhost ~]# ls /home/
[root@localhost ~]# usermod -d /etc/abc nsd15
[root@localhost ~]# grep nsd15 /etc/passwd
nsd15❌1601:1601::/etc/abc:/bin/bash
[root@localhost ~]# ls /etc/abc
ls: 无法访问/etc/abc: 没有那个文件或目录
-G:修改用户的附加组 #重置附加组 (了解)
[root@localhost ~]# useradd nsd16
[root@localhost ~]# id nsd16
uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16)
[root@localhost ~]# usermod -G stugrp nsd16
[root@localhost ~]# id nsd16
uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16),1504(stugrp)
[root@localhost ~]# groupadd tmooc #创建组
[root@localhost ~]# usermod -G tmooc nsd16
[root@localhost ~]# id nsd16
uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16),1603(tmooc)
四、设置密码
passwd命令
–格式:passwd [选项]… 用户名
[root@localhost ~]# useradd nsd18
[root@localhost ~]# passwd nsd18 #交互式设置
更改用户 nsd18的密码 。
新的 密码: #输入新密码
无效的密码: 密码少于 8 个字符
重新输入新的 密码: #重新输入新密码
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# su - nsd18 #临时切换用户身份
[nsd01@localhost ~]$ passwd
更改用户 nsd01 的密码 。
为 nsd01 更改 STRESS 密码。
(当前)UNIX 密码: #输入旧密码
新的 密码: #输入新密码
重新输入新的 密码: #重新输入新密码
passwd:所有的身份验证令牌已经成功更新。
[nsd01@localhost ~]$ exit #退出。回到root用户身份
passwd命令,支持非交互式设置密码
–stdin:从标准输入(比如管道)取密码
]# echo 123 | passwd --stdin nsd18
]# echo 123456 | passwd --stdin nsd18
]# echo redhat | passwd --stdin nsd18
/etc/shadow,保存密码字串/有效期等信息
–每个用户记录一行,以:分割为9个字段
[root@localhost ~]# grep nsd01 /etc/shadow
nsd01:
6
6
6NVe937Nd$B0n94XrpQ.LipQHTpYh0iV/M4jCLdccfHxzRLprdxDzwk8WDDh/TzdTfh8lA9y9WKJ.8Ls/l5.w/1W.nV6CFX/:18481:0:99999:7:::
上一次修改密码的时间:自1970-1-1到达上一次修改密码的时间,所经历的天数
字段1:用户帐号的名称
字段2:加密后的密码字符串
字段3:上次修改密码的时间
字段4:密码的最短有效天数,默认0
字段5:密码的最长有效天数,默认99999
字段6:密码过期前的警告天数,默认7
字段7:密码过期后多少天禁用此用户账号
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)
/etc/shadow,保存密码字串/有效期等信息
强制用户初次登录时修改密码
[root@svr1 ~]# useradd harry
[root@svr1 ~]# echo 123 | passwd --stdin harry
[root@svr1 ~]# vim /etc/shadow
………
harry:
6
6
6Y7P/HqvZ$roWXwACsX.pUY9GUKLQMRVHjygMWmiN8m45jYY3Tt.tPFDWVxJIdE7gyKHWo1/UKQC7ocEke5Uu8gKN8jydkp1:0:0:99999:7:::
[root@svr1 ~]# grep harry /etc/shadow
上一次修改密码的时间:自1970-1-1到达上一次修改密码的时间,所经历的天数,修改成0
wq!强制保存并退出
五、用户初始配置文件
主要的初始配置文件
~/.bashrc:每次进入新的Bash环境时执行(开启新的终端)
[root@localhost ~]# vim /root/.bashrc #定义永久别名
……
alias hn=‘hostname’
……
开启新的终端进行测试:
[root@localhost ~]# hn
/etc/bashrc:全局配置文件,影响全体用户 (开启新的终端)
[root@localhost ~]# vim /etc/bashrc
…….
alias myls=‘ls -ld’
…….
#新开一个终端验证
[root@localhost ~]# useradd nsd21
[root@localhost ~]# su - nsd21 #相当于开启新的终端
[nsd21@localhost ~]$ myls /opt
[nsd21@localhost ~]$ exit
登出
[root@localhost ~]#
六、删除用户
userdel命令
格式:userdel [-r] 用户名
添加 -r 选项,宿主目录/用户邮件也一并删除
[root@localhost ~]# userdel -r nsd01 #连同家目录一并删除
[root@localhost ~]# userdel nsd02 #不删除家目录,只删除用户信息
总结:Linux系统执行useradd命令,会完成那些操作?
1.会在/etc/passwd增加一行信息
2.会在/etc/shadow增加一行信息
3.会在/home新增用户家目录
4.会在/var/spool/mail增加用户邮件文件
5.会在/etc/group增加一行组信息
6.会在/etc/gshadow增加一行组的管理信息
总结:Linux系统执行userdel -r命令,会完成那些操作?
1.会在/etc/passwd删除一行信息
2.会在/etc/shadow删除一行信息
3.会在/home删除用户家目录
4.会在/var/spool/mail删除用户邮件文件
5.会在/etc/group删除一行组信息
6.会在/etc/gshadow删除一行组的管理信息
七、组账户管理
/etc/group,保存组帐号的基本信息
每个组记录一行,以:分割为4个字段
[root@localhost ~]# grep stugrp /etc/group
stugrp❌1504:nsd06
组名:组密码占位符:组的GID:组成员列表
[root@localhost ~]# groupadd tarena #新建一个组
[root@localhost ~]# grep tarena /etc/group #查看组信息
tarena❌1607:
组名字:密码占位符:GID:组成员列表
[root@localhost ~]# useradd kaka
[root@localhost ~]# useradd nb
[root@localhost ~]# useradd jack
[root@localhost ~]# useradd kenji
gpasswd命令
–格式:gpasswd [选项]… 组名
•常用命令选项
-a:添加组成员,每次只能加一个
-d: 删除组成员,每次只能删一个
-M:定义(重置)组成员用户列表,可设置多个
]# gpasswd -a kaka tarena #添加用户kaka到tarena组
]# grep tarena /etc/group #查看组信息
]# id kaka
]# gpasswd -a nb tarena #添加用户nb到tarena组
]# grep tarena /etc/group
]# gpasswd -M ‘jack,kenji’ tarena #定义组成员列表
]# grep tarena /etc/group
]# gpasswd -a nb tarena
]# grep tarena /etc/group
]# gpasswd -d nb tarena #将nb用户从tarena组中删除
]# grep tarena /etc/group
]# gpasswd -M ‘’ tarena #删除组中所有成员
]# grep tarena /etc/group
-A:定义组管理员列表
[root@localhost ~]# su - nb
[nb@localhost ~]$ gpasswd -a kaka tarena
gpasswd:没有权限。
[nb@localhost ~]$ exit
[root@localhost ~]# gpasswd -A nb tarena #设置组管理员
[root@localhost ~]# su - nb
[nb@localhost ~]$ gpasswd -a kaka tarena
正在将用户“kaka”加入到“tarena”组中
[nb@localhost ~]$ exit
[root@localhost ~]#
/etc/gshadow:组的管理信息配置文件
[root@localhost ~]# grep tarena /etc/gshadow
tarena:!:nb:
组名:密码加密字符串:组的管理员列表:组成员列表
]# gpasswd -A ‘nb,kenji’ tarena #设置多个组管理员
]# grep tarena /etc/gshadow
]# gpasswd -A ‘’ tarena #删除所有的组管理员
]# grep tarena /etc/gshadow
总结:用户与组重要的配置文件
/etc/passwd:用户基本信息配置文件
/etc/shadow:用户密码信息配置文件
/etc/group:组基本信息配置文件
/etc/gshadow:组管理信息配置文件
请问用户基本信息配置文件为(C)
A/etc/password B/etc/psaswd
C/etc/passwd D/etc/passmd
删除组账号:删除组的时候,不可以删除基本组
[root@localhost ~]# groupdel tarena
[root@localhost ~]# groupdel tmooc
[root@localhost ~]# grep tmooc /etc/group
[root@localhost ~]# grep tarena /etc/group
八、计划任务
用途:按照设置的时间间隔,为用户反复执行某一项固定的系统任务
软件包:cronie、crontabs
系统服务:crond
日志文件:/var/log/cron
使用 crontab 命令
–编辑:crontab -e [-u 用户名]
–查看:crontab -l [-u 用户名]
–清除:crontab -r [-u 用户名]
计划任务书写格式
分 时 日 月 周 任务命令行(绝对路径)
1 8 * * * #每天早上8:30 执行一次
30 23 * * * #每天晚上23:30 执行一次
30 23 * * 5 #每周的周五23:30 执行一次
30 23 * * 1-5 #每周的周一至周五23:30 执行一次
30 23 * * 1,3,6 #每周的周一周三周六23:30 执行一次
30 23 1 * 1 #每月的1号或每周一晚上23:30 执行一次
5 * * * * #每个小时的第五分钟执行一次
-
* * * * #每分钟运行一次
*/6 * * * * #每隔6分钟运行一次
4 */2 * * * #每隔2小时运行一次
*:匹配范围内任意时间
,:分隔多个不连续的时间点
-:指定连续时间范围
/n:指定时间频率,每n …
案例:
每分钟记录当前的系统时间,写入/opt/time.txt
[root@localhost ~]# date
[root@localhost ~]# date >> /opt/time.txt
[root@localhost ~]# cat /opt/time.txt
[root@localhost ~]# which date #查看date命令对应的程序
[root@localhost ~]# crontab -e #编写计划任务
-
-
-
-
- /usr/bin/date >> /opt/time.txt
[root@localhost ~]# crontab -l #查看计划任务内容
- /usr/bin/date >> /opt/time.txt
-
-
-
-
-
-
-
-
/usr/bin/date >> /opt/time.txt
-
-
-
-
[root@localhost ~]# cat /opt/time.txt
[root@localhost ~]# ls /var/spool/cron #任务文件存放的路径
root
[root@svr1 ~]# cat /var/spool/cron/root #记录root用户计划任务
-
-
-
-
- /usr/bin/date >> /opt/time.txt
-
-
-
课后习题:
案例1:为虚拟机配置以下参数
– 主机名:nb.tedu.cn (利用hostname命令进行设置)
案例2:指定yum软件源
- 将光驱设备挂载到/os/centos目录,以/os/centos目录作为其访问点
- 利用/os/centos目录提供光盘内容作为软件源,构建本地Yum仓库
- 安装软件包gcc
案例3:tar制作/释放归档压缩包
首先创建/root/boothome/与/root/usrsbin/目录
1)备份/boot、/home这两个文件夹,保存为bh.tar.gz文件
2)查看bh.tar.gz文件内包含哪些内容
3)将bh.tar.gz释放到文件夹/root/boothome/下
4)备份/usr/sbin目录,保存为usr.tar.bz2文件
5)查看usr.tar.bz2文件内包含哪些内容
6)将usr.tar.bz2释放到/root/usrsbin/文件夹下
案例4:添加并测试用户账号
1)创建一个名为stu01的用户账号
2)检查/etc/passwd、/etc/shadow文件的最后一行
3)检查/home/新增加的宿主目录(家目录)
4)为用户stu01设置一个密码(123456)
案例5:添加账号时设置不同属性
1)新建用户zh01,家目录位于/opt/zh01
2)新建账号sys01,将UID设为1234,登录Shell设为/sbin/nologin
3)为用户sys01设置密码,并测试是否能够登录
4)新建用户admin,附加组设为adm与root(利用gpasswd进行添加)
案例6:passwd设置密码
1)交互式给用户zh01设置密码123456
2)采用–stdin方式将用户zh01的密码设为654321
案例7:usermod修改用户
1)新建一个用户zh03,将宿主目录设为/opt/home03,并设置密码
2)设置zh03密码为redhat
3)将用户zh03的家目录改为/home/zh03
4)将用户sys01的登录Shell改为/bin/bash
案例8:组账号基本管理
1)新建组账号stugrp
2)为stugrp组添加三个成员用户(user01、root、zhangsan)
3)从stugrp组删除一个成员(user01)
案例9: vim文本编辑器练习,命令模式下的基本操作
1)利用重定向将/etc/passwd的前20行,写入到文件/opt/pass20.txt
2)利用重定向将/etc/shadow的前10行,追加写入到文件/opt/pass20.txt
2)利用/opt/pass20.txt,进项如下操作:
– 命令模式下移动光标:键盘上下左右键、Home键、End键
– 命令模式下行间跳转:到全文的第一行(1G或gg)、到全文的最后一行(G)、到全文的第10行(10G)
– 命令模式下复制、粘贴:
复制1行(yy)、复制3行(3yy)
粘贴到当前行之后(小写p)
– 命令模式下删除:
删除单个字符(x)
删除到行首(d^)、删除到行尾(d$)
删除1行(dd)、删除3行(3dd)
– 命令模式下查找关键词:
搜索(/word)切换结果(n、N)
– 补充:在命令模式下大写的C,可以删除光标之后,并且进入插入模式
案例10:计划任务
-指定一个计划任务,以root身份,每2分钟记录当前的系统时间,写入到/opt/two.txt
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' | ‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" | “Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash | – is en-dash, — is em-dash |
创建一个自定义列表
-
Markdown
- Text-to- HTML conversion tool Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ↩︎