ADMIN05 - 管理使用者和組、tar備份和恢復、NTP時間同步
• 真機上操作:控制教學用虛擬機器
– 格式:rht-vmctl 控制指令 虛擬機器名
– 常用控制指令: reset(還原)
[root@room9pc01 ~]# rht-vmctl reset classroom
[root@room9pc01 ~]# rht-vmctl reset server
[root@room9pc01 ~]# rht-vmctl reset desktop
虛擬機器Server
IP地址:172.25.0.11
主機名:server0.example.com
系統版本:RHEL 7.0
虛擬機器Desktop
IP地址:172.25.0.10
主機名:desktop0.example.com
系統版本:RHEL 7.0
##############################################################
虛擬機器Server
[root@server0 ~]# echo hello
[root@server0 ~]# echo 123456 > /opt/1.txt
[root@server0 ~]# cat /opt/1.txt
# echo server0.example.com > /etc/hostname
# cat /etc/hostname
# echo nameserver 172.25.254.254 > /etc/resolv.conf
# cat /etc/resolv.conf #DNS伺服器配置檔案
##################################################################
管理使用者和組
使用者:1.可以登陸作業系統 2.可以實現訪問控制(不同的使用者具備不同許可權)
組 : 方便對使用者管理(將使用者加入組)
唯一標識: UID 編號 GID 編號
管理員使用者root: UID 0
普通使用者UID: 從UID 1000
組 : 基本組(私有組) 附加組(從屬組 公共組)
一個使用者至少屬於一個組
新增使用者
使用者基本資訊存放在 /etc/passwd 檔案
[root@server0 ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
使用者名稱:密碼佔位符:UID:基本GID:使用者描述資訊:家目錄:直譯器程式(shell)
• 使用 useradd 命令
– useradd [選項].. 使用者名稱
• 常用命令選項
– -u 使用者id、-d 家目錄路徑、-s 登入Shell直譯器 、-G 附加組
[root@server0 ~]# useradd -d /mnt/abc nsd06 #指定家目錄建立使用者
[root@server0 ~]# grep 'nsd' /etc/passwd
[root@server0 ~]# useradd nsd01
[root@server0 ~]# grep 'nsd' /etc/passwd
[root@server0 ~]# useradd -u 1100 nsd02 #指定UID建立使用者
[root@server0 ~]# grep 'nsd' /etc/passwd
[root@server0 ~]# useradd nsd03
[root@server0 ~]# grep 'nsd' /etc/passwd
[root@server0 ~]# id nsd03
/sbin/nologin : 禁止使用者登陸作業系統
[root@server0 ~]# useradd -s /sbin/nologin nsd07
[root@server0 ~]# grep 'nsd07' /etc/passwd #存放使用者基本資訊檔案
-G 附加組
[root@server0 ~]# groupadd tarena #建立tarena組
[root@server0 ~]# useradd -G tarena nsd08
[root@server0 ~]# id nsd08
[root@server0 ~]# useradd -G tarena nsd09
[root@server0 ~]# id nsd09
##################################################################
Linux計算器 bc
[root@server0 ~]# bc
1+1 #加法
2
2*3 #乘法
6
10/3 #除法
3
10%3 #取餘數運算, 餘數一定小於被除數
1
管道操作: |
作用:將前面命令的輸出結果,交由後面命令處理,最後輸出最後命令的結果
[root@server0 ~]# head -12 /etc/passwd | tail -5
[root@server0 ~]# cat -n /etc/passwd | head -12 | tail -5
[root@server0 ~]# echo 1+1
[root@server0 ~]# echo 1+1 | bc
[root@server0 ~]# ifconfig | less
[root@server0 ~]# ifconfig | head -2
[root@server0 ~]# grep 'root' /etc/passwd | grep 'bash'
###############################################################
passwd 命令
[root@server0 ~]# useradd harry
[root@server0 ~]# passwd harry
更改使用者 harry 的密碼 。
新的 密碼:
無效的密碼: 密碼是一個迴文
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@server0 ~]# su - harry #臨時切換使用者身份
[harry@server0 ~]$ passwd #修改當前使用者的密碼
Changing password for user harry.
Changing password for harry.
(current) UNIX password: #請輸入舊密碼
New password: #請輸入新的密碼
Retype new password: #請重新輸入與上面一致的,新的密碼
passwd: all authentication tokens updated successfully.
[harry@server0 ~]$ exit #退出
logout
[root@server0 ~]# echo 123 | passwd --stdin harry #非互動式設定密碼
######################## ########################################
非互動式設定密碼 echo 密碼 | passwd --stdin 使用者名稱
使用者密碼資訊存放在 /etc/shadow 檔案
#########################################################
• 使用 usermod 命令
– usermod [選項]... 使用者名稱
• 常用命令選項
– -u 使用者id、-d 家目錄路徑、-s 登入Shell直譯器、-G 附加組
[root@server0 ~]# useradd natasha
[root@server0 ~]# grep 'natasha' /etc/passwd
natasha:x:1001:1001::/home/natasha:/bin/bash
# usermod -u 1300 -d /opt/abc -s /sbin/nologin -G root natasha
natasha:x:1300:1001::/opt/abc:/sbin/nologin
[root@server0 ~]# id natasha
補充: 可以vim修改/etc/passwd 檔案內容
刪除使用者
• 使用 userdel 命令
– userdel [-r] 使用者名稱
-r:連同使用者家目錄一併刪除
[root@server0 ~]# userdel -r nsd01
[root@server0 ~]# id nsd01
id: nsd01: no such user
[root@server0 ~]# userdel nsd02
[root@server0 ~]# id nsd02
id: nsd02: no such user
###############################################################
管理組賬號
組基本資訊存放在 /etc/group 檔案
[root@server0 ~]# groupadd stugrp
[root@server0 ~]# tail -1 /etc/group
stugrp:x:1002:
[root@server0 ~]# useradd kenji
[root@server0 ~]# useradd jack
[root@server0 ~]# useradd tom
[root@server0 ~]# useradd kaka
使用 gpasswd 命令
– gpasswd -a 使用者名稱 組名 #使用者加入組 (****記住****)
– gpasswd -d 使用者名稱 組名 #從組中刪除使用者
[root@server0 ~]# gpasswd -a kenji stugrp
[root@server0 ~]# grep 'stugrp' /etc/group
[root@server0 ~]# gpasswd -d kenji stugrp
[root@server0 ~]# grep 'stugrp' /etc/group
[root@server0 ~]# gpasswd -a kaka stugrp
[root@server0 ~]# grep 'stugrp' /etc/group
刪除組
• 使用 groupdel 命令
– groupdel 組名
###############################################################
tar備份與恢復
• 歸檔的含義
– 將許多零散的檔案整理為一個檔案
– 檔案總的大小基本不變
• 壓縮的含義– 按某種演算法減小檔案所佔用空間的大小
– 恢復時按對應的逆向演算法解壓
Linux獨有的壓縮工具:
gzip ------》 *.gz
bzip2 ------》 *.bz2
xz ------》 *.xz
[root@server0 /]# rm -rf /opt/*
[root@server0 /]# cp /etc/passwd /opt/
[root@server0 /]# cp /etc/shadow /opt/
[root@server0 /]# cp /etc/group /opt/
[root@server0 /]# cd /opt/
[root@server0 opt]# gzip /opt/group
[root@server0 opt]# ls
[root@server0 opt]# bzip2 /opt/passwd
[root@server0 opt]# xz /opt/shadow
[root@server0 opt]# ls
• tar 整合備份工具
tar 選項 tar包名字 被歸檔的檔案
[root@server0 /]# rm -rf /opt/*
[root@server0 /]# tar -cPf test01.tar /home/ /mnt/
[root@server0 /]# ls
[root@server0 /]# tar -cPf /opt/file01.tar /home/ /mnt/
[root@server0 /]# ls /opt/
[root@server0 /]# mkdir /nsd
[root@server0 /]# ls /opt/file01.tar
[root@server0 /]# tar -xf /opt/file01.tar -C /nsd/
tar: 從成員名中刪除開頭的“/”
[root@server0 /]# ls /nsd/
[root@server0 /]# ls /nsd/home/
-c : 建立歸檔 -P:保持路徑不變進行歸檔 -f:指定歸檔包的名字
-x: 釋放歸檔 -C:指定釋放位置 -t : 檢視tar包內容
[root@server0 /]# rm -rf /opt/*
[root@server0 /]# echo AAAA > /opt/1.txt
[root@server0 /]# cat /opt/1.txt
AAAA
[root@server0 /]# tar -cPf /root/test.tar /opt/1.txt
[root@server0 /]# tar -tf /root/test.tar #檢視tar包裡面內容
[root@server0 /]# echo BBBB > /opt/1.txt
[root@server0 /]# cat /opt/1.txt
BBBB
[root@server0 /]# tar -xPf /root/test.tar #絕對路徑釋放
[root@server0 /]# cat /opt/1.txt
AAAA
[root@server0 /]#
– -z、-j、-J : 呼叫 .gz、.bz2、.xz 格式的工具進行處理
[root@server0 ~]# rm -rf /opt/*
[root@server0 ~]# tar -zcPf /opt/nsd.tar.gz /home/
[root@server0 ~]# ls /opt/
[root@server0 ~]# rm -rf /mnt/*
[root@server0 ~]# tar -xf /opt/nsd.tar.gz -C /mnt/ (不要忘記了 -C)
[root@server0 ~]# ls /mnt/
[root@server0 ~]# tar -jcPf /opt/abc.tar.bz2 /home/
[root@server0 ~]# ls /opt/
[root@server0 ~]# tar -JcPf /opt/home.tar.xz /home/
[root@server0 ~]# ls /opt/
###############################################################
檢視日期時間
[root@server0 ~]# date
2018年 03月 14日 星期三 17:21:38 CST
[root@server0 ~]# date +%F #顯示年-月-日
2018-03-14
[root@server0 ~]# date +%Y #顯示年
2018
[root@server0 ~]# date +%m #顯示月
03
[root@server0 ~]# date +%d #顯示當天是多少號
14
[root@server0 ~]# date +%H #顯示時
17
[root@server0 ~]# date +%M #顯示分
修改時間
[root@server0 ~]# date -s "年-月-日 時:分:秒"
##########################################################NTP時間同步
NTP網路時間協議• Network Time Protocol
– NTP伺服器為客戶機提供標準時間– NTP客戶機需要與NTP伺服器保持溝通
服務端:服務端軟體,classroom.example.com NTP伺服器
客戶端:客戶端軟體.虛擬機器server
1.安裝客戶端同步時間的軟體chrony
[root@server0 ~]# yum -y install chrony
[root@server0 ~]# rpm -q chrony
2.修改配置檔案指定服務端位置
[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.重起服務
[root@server0 ~]# systemctl restart chronyd #重起服務
[root@server0 ~]# systemctl enable chronyd #隨機自啟動
4.驗證:
[root@server0 ~]# date -s "2008-10-3" #修改系統時間
2008年 10月 03日 星期五 00:00:00 CST
[root@server0 ~]# date
[root@server0 ~]# systemctl restart chronyd
[root@server0 ~]# date
[root@server0 ~]# date
---------------------------------------------------------------------------------------------------------------------------------
案例練習,準備:
rht-vmctl reset classroom
rht-vmctl reset server
rht-vmctl reset desktop
######################################################
案例1:為虛擬機器 server 配置以下靜態地址引數
– 主機名:server0.example.com
[root@server0 ~]# vim /etc/hostname
– IP地址:172.25.0.120
– 子網掩碼:255.255.255.0
– 預設閘道器:172.25.0.254
[root@server0 ~]# nmcli connection modify 'System eth0' ipv4.method manual ipv4.addresses '172.25.0.120/24 172.25.0.254' connection.autoconnect yes
– DNS伺服器:172.25.254.254
[root@server0 ~]# vim /etc/resolv.conf
nameserver 172.25.254.254
為 server0 指定可用的 yum 軟體源
– YUM軟體庫的地址為 http://classroom.example.com/content/rhel7.0/x86_64/dvd
[root@server0 yum.repos.d]# vim dvd.repo
#服務端具體路徑
baseurl=http://classroom.example.com/content/rhel7.0/x86_64/dvd
– 將此配置為虛擬機器 server0 的預設軟體倉庫
– 確認可用的倉庫列表
[root@server0 ~]# yum repolist
– 利用yum倉庫安裝system-config-kickstart
[root@server0 yum.repos.d]# yum install system-config-kickstart.noarch
案例4:tar製作/釋放歸檔壓縮包(zcf、ztf、zxf、jcf、jtf、jxf、cf、tf)
1)備份/boot、/home這兩個資料夾,儲存為boothome.tar.gz檔案
[root@server0 tmp]# tar zcf /tmp/boothome.tar.gz /boot/ /home/
2)檢視boothome.tar.gz檔案內包含哪些內容[root@server0 tmp]# tar -tf boothome.tar.gz
3)將boothome.tar.gz釋放到資料夾/root/boothome/下
[root@server0 boothome]# tar -xf /tmp/boothome.tar.gz -C /root/boothome/
4)備份/usr/sbin目錄,儲存為usrsbin.tar.bz2檔案
[root@server0 tmp]# tar -jcf /tmp/usrsbin.tar.bz2 /usr/sbin/
5)檢視usrsbin.tar.bz2檔案內包含哪些內容
[root@server0 tmp]# tar -tf /tmp/usrsbin.tar.bz2
6)將usrsbin.tar.bz2釋放到/root/usrsbin/資料夾下
[root@server0 tmp]# tar -xf /tmp/usrsbin.tar.bz2 -C /root/usrbin
案例5:新增並測試使用者賬號
1)建立一個名為stu01的使用者賬號
[root@server0 usrbin]# useradd stu01
2)檢查/etc/passwd、/etc/shadow檔案的最後一行
[root@server0 ~]# tail -1 /etc/passwd
stu01:x:1001:1001::/home/stu01:/bin/bash
[root@server0 ~]# tail -1 /etc/shadow
stu01:!!:17604:0:99999:7:::
3)檢查/home/新增加的宿主目錄(家目錄)
[root@server0 home]# ls
stu01 student
4)為使用者stu01設定一個密碼(123456)
[root@server0 home]# echo 123456 |passwd --stdin stu01
案例6:新增賬號時設定不同屬性
1)新建使用者nsd01,宿主目錄位於/opt/nsd01
[root@server0 home]# useradd -d /opt/nsd01 nsd01
2)新建系統賬號sys01,將UID設為1234,登入Shell設為/sbin/nologin
[root@server0 home]# useradd -u 1234 -s /sbin/nologin sys01
3)為使用者sys01設定密碼,並測試是否能夠登入
[root@server0 home]# echo 123456 | passwd --stdin sys01
4)新建使用者admin,將其基本組設為users,附加組設為adm、root
[root@server0 home]# useradd -g users -G adm,root admin
[root@server0 home]# id admin
uid=1235(admin) gid=100(users) 組=100(users),0(root),4(adm)
[root@server0 home]#
案例7:passwd設定密碼
1)給使用者nsd01設定密碼123456
[root@server0 home]# passwd nsd01
2)採用--stdin方式將使用者nsd01的密碼設為654321
[root@server0 home]# echo 654321 |passwd --stdin nsd01
案例8:usermod修改使用者
1)新建一個使用者nsd03,將宿主目錄設為/opt/home03,並設定密碼
[root@server0 home]# useradd -d /opt/home03 nsd03
2)設定nsd03密碼為redhat
[root@server0 home]# passwd nsd03
3)將使用者nsd03的宿主目錄改為/home/nsd03
usermod -d /home/nsd03 nsd03
4)將使用者sys01的登入Shell改為/bin/bash
usermod -s /bin/bash sys01
案例9:組賬號基本管理
1)新建組賬號stugrp
[root@server0 home]# groupadd stugrp
2)為stugrp組新增三個成員使用者(user01、root、zhangsan)
[root@server0 home]# gpasswd -a user01 stugrp
正在將使用者“user01”加入到“stugrp”組中
[root@server0 home]# gpasswd -a root stugrp
正在將使用者“root”加入到“stugrp”組中
[root@server0 home]# gpasswd -a zhangsan stugrp
正在將使用者“zhangsan”加入到“stugrp”組中
[root@server0 home]# grep 'stugrp' /etc/group
3)從stugrp組刪除一個成員(user01)
[root@server0 home]# gpasswd -d user01 stugrp
正在將使用者“user01”從“stugrp”組中刪除
案例10:配置NTP網路時間客戶端
配置虛擬機器 server0,自動校對系統時間
[root@server0 home]# yum -y install chrony
NTP伺服器位於 classroom.example.com[root@server0 home]# vim /etc/chrony.conf
此客戶機的時間與NTP伺服器的時間保持同步
[root@server0 home]# systemctl restart chronyd.service
[root@server0 home]# systemctl enabled chronyd
驗證:
[root@server0 ~]# date -s "2008-10-3"
2008年 10月 03日 星期五 00:00:00 CST
[root@server0 ~]# date
[root@server0 ~]# systemctl restart chronyd
[root@server0 ~]# date
相關文章
- 在Linux中,如何使用tar命令建立和恢復備份?Linux
- 備份和恢復
- MySQL日誌管理,備份和恢復MySql
- KunlunDB備份和恢復
- redis 備份和恢復Redis
- SqlServer備份和恢復(二)SQLServer
- SqlServer 備份和恢復(一)SQLServer
- 【MySQL】MySQL備份和恢復MySql
- SYSTEM 表空間管理及備份恢復
- Oracle叢集(RAC)時間同步(ntp和CTSS)Oracle
- NTP時間同步
- 使用 Android 備份和恢復功能留住使用者Android
- innobackupex 部分表備份和恢復
- Oracle 備份和恢復介紹Oracle
- 在Linux中,如何配置和管理系統備份和恢復策略?Linux
- 九 GBase 8a備份和恢復
- gitlab的資料備份和恢復Gitlab
- MySQL備份和恢復方法彙總MySql
- 時序資料庫InfluxDB之備份和恢復策略資料庫UX
- 時序資料庫 InfluxDB 之備份和恢復策略資料庫UX
- 【PG備份恢復】pg_basebackup 多表空間備份恢復測試
- Mongo 資料庫備份和恢復命令Go資料庫
- DBV:冷備份的校驗和恢復
- 2.6.1 CDB中備份和恢復的概述
- 12 使用RMAN備份和恢復檔案
- Jira/Confluence的備份、恢復和遷移
- db2 命令列備份和恢復DB2命令列
- PostgreSql資料庫的備份和恢復SQL資料庫
- 帝國cms備份和恢復 帝國cms恢復資料
- 檔案的基本管理和XFS檔案系統備份恢復
- 備份與恢復:Polardb資料庫資料基於時間點恢復資料庫
- mongodb使用備份後的oplog做時間點恢復MongoDB
- RAC備份恢復之Voting備份與恢復
- 使用Mysqldump備份和恢復MySQL資料庫MySql資料庫
- 達夢DM備份恢復(物理和邏輯)
- MySQL 日誌管理、備份與恢復MySql
- 透過搭建恢復目錄實現RMAN異地備份和恢復
- 備份與恢復:polardb資料庫備份與恢復資料庫