• 每个学员机上有三台预先配置好的虚拟机
– server —— 作为练习用服务器
– desktop —— 作为练习用客户机
– classroom —— 提供网关/DNS/软件素材/DHCP等资源
真机:还原与启动优先虚拟机classroom
[root@room9pc01 ~]# rht-vmctl reset classroom
[root@room9pc01 ~]# rht-vmctl reset server
[root@room9pc01 ~]# rht-vmctl reset desktop
[root@room9pc01 ~]# rht-vmctl reset classroom
[root@room9pc01 ~]# rht-vmctl reset server
[root@room9pc01 ~]# rht-vmctl reset desktop
################################################
重定向操作:将前面命令输出,作为内容写入到文本文件
> : 覆盖重定向
>> : 追加重定向
[root@server0 ~]# ls --help > /opt/ls.txt
[root@server0 ~]# less /opt/ls.txt
重定向操作:将前面命令输出,作为内容写入到文本文件
> : 覆盖重定向
>> : 追加重定向
[root@server0 ~]# ls --help > /opt/ls.txt
[root@server0 ~]# less /opt/ls.txt
[root@server0 ~]# hostname
[root@server0 ~]# hostname > /opt/ls.txt
[root@server0 ~]# cat /opt/ls.txt
[root@server0 ~]# hostname > /opt/ls.txt
[root@server0 ~]# cat /opt/ls.txt
[root@server0 ~]# hostname >> /opt/ls.txt
[root@server0 ~]# cat /opt/ls.txt
[root@server0 ~]# cat /opt/ls.txt
[root@server0 ~]# echo 123456
123456
[root@server0 ~]# echo 123456 >> /opt/ls.txt
[root@server0 ~]# cat /opt/ls.txt
[root@server0 ~]# echo A.tedu.cn > /etc/hostname
[root@server0 ~]# hostname
[root@server0 ~]# hostname
]#
echo nameserver 172.25.254.254 > /etc/resolv.conf
]# cat /etc/resolv.conf
]# cat /etc/resolv.conf
#################################################
查看时间: date
[root@server0 ~]# date
2018年 11月 05日 星期一 09:52:10 CST
[root@server0 ~]# date +%F #查看年月日
查看时间: date
[root@server0 ~]# date
2018年 11月 05日 星期一 09:52:10 CST
[root@server0 ~]# date +%F #查看年月日
修改时间:
[root@server0 ~]# date -s "年-月-日 时:分:秒"
[root@server0 ~]# date -s "2000-10-1 12:00"
2000年 10月 01日 星期日 12:00:00 CST
[root@server0 ~]# date
2000年 10月 01日 星期日 12:00:02 CST
[root@server0 ~]# date -s "年-月-日 时:分:秒"
[root@server0 ~]# date -s "2000-10-1 12:00"
2000年 10月 01日 星期日 12:00:00 CST
[root@server0 ~]# date
2000年 10月 01日 星期日 12:00:02 CST
计算器:bc 加 + 减 - 乘 * 除 / 求模运算(取余数运算) %
[root@server0 ~]# bc
Ctrl + c 退出
#################################################
| 管道操作 :
将前面命令的输出,传递到后面命令,作为后面命令的参数,再进行处理
| 管道操作 :
将前面命令的输出,传递到后面命令,作为后面命令的参数,再进行处理
]# head -12 /etc/passwd | tail -5
]# cat -n /etc/passwd | head -12 | tail -5
]# ls --help | less
]# ls --help | grep A
]# echo 1+1 | bc
]# echo 3*8 | bc
]# ifconfig | head -2
]# cat -n /etc/passwd | head -12 | tail -5
]# ls --help | less
]# ls --help | grep A
]# echo 1+1 | bc
]# echo 3*8 | bc
]# ifconfig | head -2
###############################################
管理用户和组
管理用户和组
用户账户: 1.能够登陆操作系统 2.不同用户,可以设置不同权限
组账户: 方便管理用户
将想要具备相同权限的用户加入一个组,为组设置权限,组中所有用户自动继承组的权限
唯一标识:UID GID
组账户: 方便管理用户
将想要具备相同权限的用户加入一个组,为组设置权限,组中所有用户自动继承组的权限
唯一标识:UID GID
管理员root的UID为0
组:基本组(私有组) 附加组(从属组)
Linux一个用户至少属于一个组
Linux一个用户至少属于一个组
基本组:由系统创建该组,与用户同名。由系统将用户加入该组
附加组:由管理员创建该组,随意命名。由管理员将用户加入该组
附加组:由管理员创建该组,随意命名。由管理员将用户加入该组
################################################
添加用户
用户基本信息存放在 /etc/passwd 文件
[root@server0 ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户基本信息存放在 /etc/passwd 文件
[root@server0 ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:用户基本组GID:用户描述信息:家目录:解释器
• 使用
useradd 命令
– useradd [选项]... 用户名
• 常用命令选项
– -u 用户id、-d 家目录路径、-G 附加组、-s 登录解释器程序
– useradd [选项]... 用户名
• 常用命令选项
– -u 用户id、-d 家目录路径、-G 附加组、-s 登录解释器程序
[root@server0 ~]# useradd nsd01
[root@server0 ~]# grep nsd01 /etc/passwd
用户名:密码占位符:UID:用户基本组GID:用户描述信息:家目录:解释器
[root@server0 ~]#
id nsd01 #查看用户基本信息
uid=1004(nsd01) gid=1004(nsd01) 组=1004(nsd01)
[root@server0 ~]# id haha
uid=1004(nsd01) gid=1004(nsd01) 组=1004(nsd01)
[root@server0 ~]# id haha
[root@server0 ~]# useradd nsd02
[root@server0 ~]# grep nsd02 /etc/passwd
[root@server0 ~]# id nsd02
[root@server0 ~]# id xixi
[root@server0 ~]# grep nsd02 /etc/passwd
[root@server0 ~]# id nsd02
[root@server0 ~]# id xixi
-u 用户id、-d 家目录路径、-G 附加组
[root@server0 ~]# useradd -u 1600 nsd03
[root@server0 ~]# grep nsd03 /etc/passwd
[root@server0 ~]# id nsd03
[root@server0 ~]# useradd -u 1600 nsd03
[root@server0 ~]# grep nsd03 /etc/passwd
[root@server0 ~]# id nsd03
[root@server0 ~]# useradd nsd04
[root@server0 ~]# grep nsd /etc/passwd
[root@server0 ~]# grep nsd /etc/passwd
[root@server0 ~]# useradd -d /mnt/nsd05 nsd05
[root@server0 ~]# grep nsd05 /etc/passwd
[root@server0 ~]# ls /mnt/
[root@server0 ~]# grep nsd05 /etc/passwd
[root@server0 ~]# ls /mnt/
[root@server0 ~]# groupadd tarena #创建组tarena
[root@server0 ~]# useradd -G tarena nsd06
[root@server0 ~]# id nsd06
[root@server0 ~]# useradd -G tarena nsd06
[root@server0 ~]# id nsd06
-s 登录解释器程序
/sbin/nologin :禁止用户登陆操作系统
[root@server0 ~]# useradd -s /sbin/nologin nsd07
[root@server0 ~]# grep nsd07 /etc/passwd
[root@server0 ~]# grep nsd07 /etc/passwd
[root@server0 ~]# useradd -s /sbin/nologin nsd08
[root@server0 ~]# grep nsd08 /etc/passwd
[root@server0 ~]# grep nsd08 /etc/passwd
################################################
设置用户密码
设置用户密码
[root@server0 ~]#
passwd nsd01
更改用户 nsd01 的密码 。
新的 密码: #输入密码
无效的密码: 密码少于 8 个字符
重新输入新的 密码: #输入密码
passwd:所有的身份验证令牌已经成功更新。
[root@server0 ~]# su - nsd01 #命令行临时切换身份
[nsd01@server0 ~]$ passwd
Changing password for user nsd01.
Changing password for nsd01.
(current) UNIX password: #输入旧密码
New password: #输入新密码
Retype new password: #重新输入新密码
passwd:allauthentication tokens updated successfully
[nsd01@server0 ~]$ exit #退出回到root
logout
[root@server0 ~]#
更改用户 nsd01 的密码 。
新的 密码: #输入密码
无效的密码: 密码少于 8 个字符
重新输入新的 密码: #输入密码
passwd:所有的身份验证令牌已经成功更新。
[root@server0 ~]# su - nsd01 #命令行临时切换身份
[nsd01@server0 ~]$ passwd
Changing password for user nsd01.
Changing password for nsd01.
(current) UNIX password: #输入旧密码
New password: #输入新密码
Retype new password: #重新输入新密码
passwd:allauthentication tokens updated successfully
[nsd01@server0 ~]$ exit #退出回到root
logout
[root@server0 ~]#
非交互式设置密码
– echo '密码' | passwd --stdin 用户名
– echo '密码' | passwd --stdin 用户名
[root@server0 ~]# echo 123 | passwd --stdin nsd01
[root@server0 ~]# echo abc | passwd --stdin nsd01
[root@server0 ~]# echo redhat | passwd --stdin nsd01
[root@server0 ~]# echo 789 | passwd --stdin nsd01
用户密码信息存放在 /etc/shadow 文件
[root@server0 ~]# head -1 /etc/shadow
root:$6$UiGI4Tc2$htsXYn5cJnOqv3P1VLcUSgfjDu2pL5yiJBuua6foZAHdwqeuLHfYUfS/vBn27Wjvoel8EJgtdsMjyquqvKAmf1:16261:0:99999:7:::
root:$6$UiGI4Tc2$htsXYn5cJnOqv3P1VLcUSgfjDu2pL5yiJBuua6foZAHdwqeuLHfYUfS/vBn27Wjvoel8EJgtdsMjyquqvKAmf1:16261:0:99999:7:::
用户名:密码加密字符串:上一次修改密码时间
上一次修改密码时间:1970-1-1~2018-11-1
##################################################
修改用户属性
• 使用 usermod 命令
– usermod [选项]... 用户名
• 常用命令选项
– -u 用户id、-d 家目录路径、-s 登录Shell
– -G 附加组
修改用户属性
• 使用 usermod 命令
– usermod [选项]... 用户名
• 常用命令选项
– -u 用户id、-d 家目录路径、-s 登录Shell
– -G 附加组
[root@server0 ~]# useradd nsd09
[root@server0 ~]# id nsd09
[root@server0 ~]# grep nsd09 /etc/passwd
[root@server0 ~]# id nsd09
[root@server0 ~]# grep nsd09 /etc/passwd
[root@server0 ~]# usermod -u 1700 -d /mnt/abc -G tarena -s /sbin/nologin nsd09
[root@server0 ~]# grep nsd09 /etc/passwd
[root@server0 ~]# id nsd09
[root@server0 ~]# id nsd09
#############################################
删除用户
• 使用 userdel 命令 #删除用户,保留家目录
– userdel [-r] 用户名 #删除用户,摧毁家目录
• 使用 userdel 命令 #删除用户,保留家目录
– userdel [-r] 用户名 #删除用户,摧毁家目录
[root@server0 ~]# userdel -r alex
[root@server0 ~]# id alex
id: alex: no such user
[root@server0 ~]# id alex
id: alex: no such user
[root@server0 ~]# userdel nsd01
[root@server0 ~]# ls /home/
[root@server0 ~]# id nsd01
[root@server0 ~]# ls /home/
[root@server0 ~]# id nsd01
[root@server0 ~]# userdel nsd02
[root@server0 ~]# ls /home/
[root@server0 ~]# id nsd02
[root@server0 ~]# ls /home/
[root@server0 ~]# id nsd02
[root@server0 ~]# userdel nsd03
[root@server0 ~]# ls /home/
[root@server0 ~]# id nsd03
[root@server0 ~]# ls /home/
[root@server0 ~]# id nsd03
################################################
管理组账号
管理组账号
添加组
组基本信息存放在 /etc/group 文件
[root@server0 ~]# grep stugrp /etc/group
stugrp:x:1609:
组名:组的密码占位符:组的GID:组的成员列表
[root@server0 ~]# grep stugrp /etc/group
stugrp:x:1609:
组名:组的密码占位符:组的GID:组的成员列表
• 使用
groupadd 命令
– groupadd [-g 组ID] 组名
– groupadd [-g 组ID] 组名
[root@server0 ~]# groupadd stugrp
[root@server0 ~]# grep stugrp /etc/group
[root@server0 ~]# grep stugrp /etc/group
[root@server0 ~]# useradd harry
[root@server0 ~]# useradd natasha
[root@server0 ~]# useradd kenji
[root@server0 ~]# useradd jack
[root@server0 ~]# useradd natasha
[root@server0 ~]# useradd kenji
[root@server0 ~]# useradd jack
管理组成员
组成员信息存放在 /etc/shadow 文件
• 使用 gpasswd 命令
– gpasswd -a 用户名 组名
– gpasswd -d 用户名 组名
组成员信息存放在 /etc/shadow 文件
• 使用 gpasswd 命令
– gpasswd -a 用户名 组名
– gpasswd -d 用户名 组名
[root@server0 ~]# gpasswd -a harry stugrp
[root@server0 ~]# grep stugrp /etc/group
[root@server0 ~]# grep stugrp /etc/group
[root@server0 ~]# gpasswd -a kenji stugrp
[root@server0 ~]# grep stugrp /etc/group
[root@server0 ~]# grep stugrp /etc/group
[root@server0 ~]# gpasswd -a jack stugrp
[root@server0 ~]# grep stugrp /etc/group
[root@server0 ~]# grep stugrp /etc/group
[root@server0 ~]# gpasswd -d kenji stugrp
[root@server0 ~]# grep stugrp /etc/group
[root@server0 ~]# grep stugrp /etc/group
[root@server0 ~]# gpasswd -a natasha stugrp
[root@server0 ~]# grep stugrp /etc/group
[root@server0 ~]# grep stugrp /etc/group
################################################
修改组属性
• 使用 groupmod 命令
– groupmod [-g 组ID] [-n 新组名] 组名
[root@server0 ~]# groupmod -g 1100 market
修改组属性
• 使用 groupmod 命令
– groupmod [-g 组ID] [-n 新组名] 组名
[root@server0 ~]# groupmod -g 1100 market
删除组
• 使用 groupdel 命令
– groupdel 组名
##################################################
tar备份与恢复
归档和压缩
• 归档的含义
– 将许多零散的文件整理为一个文件
– 文件总的大小基本不变
• 归档的含义
– 将许多零散的文件整理为一个文件
– 文件总的大小基本不变
• 压缩的含义
– 按某种算法减小文件所占用空间的大小
– 恢复时按对应的逆向算法解压
– 按某种算法减小文件所占用空间的大小
– 恢复时按对应的逆向算法解压
Linux独有的压缩格式
gzip -----》.gz
bzip2 -----》.bz2
xz -----》.xz
gzip -----》.gz
bzip2 -----》.bz2
xz -----》.xz
tar可以达到归档及压缩
打包格式:
tar 选项 /路径/压缩包的名字 /路径/被压缩的源文档 ......
tar 选项 /路径/压缩包的名字 /路径/被压缩的源文档 ......
解包格式:
tar 选项 /路径/压缩包的名字 -C 释放的路径
tar 选项 /路径/压缩包的名字 -C 释放的路径
• tar 集成备份工具
– -c:创建归档
– -x:释放归档
– -f:指定归档文件名称,必须在所有选项的最后
– -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
– -t:显示归档中的文件清单
– -C:释放的路径
]# rm -rf /opt/*
]# tar -zcf /opt/nsd01.tar.gz /home/ /etc/passwd
]# ls /opt/
]# tar -jcf /opt/test.tar.bz2 /home/ /etc/passwd
]# ls /opt/
]# tar -zcf /opt/nsd01.tar.gz /home/ /etc/passwd
]# ls /opt/
]# tar -jcf /opt/test.tar.bz2 /home/ /etc/passwd
]# ls /opt/
]# tar -Jcf /opt/file.tar.xz /home/ /etc/passwd
]# ls /opt/
]# ls /opt/
使用 tar 工具完成以下备份任务:
– 创建一个名为 /root/backup.tar.bz2 的归档文件
– 其中包含 /usr/local 目录中的内容
– tar 归档必须使用 bzip2 进行压缩
– 创建一个名为 /root/backup.tar.bz2 的归档文件
– 其中包含 /usr/local 目录中的内容
– tar 归档必须使用 bzip2 进行压缩
]# tar -jcf /root/backup.tar.bz2 /usr/local/
]# ls /root/
]# ls /root/
解包格式:
tar 选项 /路径/压缩包的名字 -C 释放的路径
[root@server0 ~]# date
[root@server0 ~]# date -s "2018-11-5 16:53"
[root@server0 ~]# date -s "2018-11-5 16:53"
]# tar -xf /opt/nsd01.tar.gz -C /mnt/
]# ls /mnt/
]# ls /mnt/etc/
]# ls /mnt/home/
]# ls /mnt/
]# ls /mnt/etc/
]# ls /mnt/home/
###############################################
查看包里的内容
]# tar -tf /opt/test.tar.bz2
]# tar -tf /root/backup.tar.bz2
]# tar -tf /opt/test.tar.bz2
]# tar -tf /root/backup.tar.bz2
###########################################
NTP时间同步
• Network Time Protocol
– NTP服务器为客户机提供标准时间
– NTP客户机需要与NTP服务器保持沟通
NTP时间同步
• Network Time Protocol
– NTP服务器为客户机提供标准时间
– NTP客户机需要与NTP服务器保持沟通
NTP服务器:虚拟机classroom
NTP客户机:虚拟机server
1
.安装chrony软件,专用于与NTP服务器沟通
[root@server0 ~]# rpm -q chrony
chrony-1.29.1-1.el7.x86_64
[root@server0 ~]# rpm -q chrony
chrony-1.29.1-1.el7.x86_64
2.配置文件:
/etc/chrony.conf
[root@server0 ~]# vim /etc/chrony.conf
以#开头的行,大多数为注释行
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
server classroom.example.com iburst
[root@server0 ~]# vim /etc/chrony.conf
以#开头的行,大多数为注释行
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
server classroom.example.com iburst
3
.重起服务chronyd 刷新配置
daemon:守护程序
daemon:守护程序
]# systemctl restart chronyd #重新起动服务
]# systemctl enable chronyd #开机自动启动
]# systemctl enable chronyd #开机自动启动
4.验证:
]# date
]# date -s "2000-10-1 12:12:12" #修改错误时间
]# date
]# systemctl restart chronyd #重起服务进行时间同步
]# date
]# date
]# date
]# date
]# date -s "2000-10-1 12:12:12" #修改错误时间
]# date
]# systemctl restart chronyd #重起服务进行时间同步
]# date
]# date
]# date
查看文件内容是否有误
[root@server0 ~]# vim /etc/chrony.conf
[root@server0 ~]# vim /etc/chrony.conf
#################################################