Linux總結4 管理用戶和組、tar備份與恢復、cron計劃任務

重定向輸出操作:將前面的命令的輸出,寫入到文本文件

:覆蓋重定向

:追加重定向
[root@1906 ~]# ls --help > /opt/ls.txt
[root@1906 ~]# ls /opt/
[root@1906 ~]# less /opt/ls.txt

[root@1906 ~]# hostname
[root@1906 ~]# hostname > /opt/ls.txt
[root@1906 ~]# cat /opt/ls.txt

[root@1906 ~]# hostname >> /opt/ls.txt
[root@1906 ~]# cat /opt/ls.txt

[root@1906 ~]# hostname >> /opt/ls.txt
[root@1906 ~]# cat /opt/ls.txt

[root@1906 ~]# head -2 /etc/passwd
[root@1906 ~]# head -2 /etc/passwd > /opt/ls.txt

[root@1906 ~]# cat /opt/ls.txt

[root@1906 ~]# echo 123456

[root@1906 ~]# echo 123456 >> /opt/ls.txt #非交互式
[root@1906 ~]# cat /opt/ls.txt

[root@1906 ~]# echo hello >> /opt/ls.txt #非交互式
[root@1906 ~]# cat /opt/ls.txt

##################################################
管道操作 | :
將前面命令的輸出,交由後面命令處理,作爲後面命令的參數

顯示/etc/passwd的8至12行內容
[root@1906 ~]# head -12 /etc/passwd
[root@1906 ~]# head -12 /etc/passwd | tail -5

[root@1906 ~]# cat -n /etc/passwd
[root@1906 ~]# cat -n /etc/passwd | head -12
[root@1906 ~]# cat -n /etc/passwd | head -12 | tail -5

[root@1906 ~]# ifconfig | less
[root@1906 ~]# ifconfig | head -2

####################################################

管理用戶和組

用戶帳號: 1.登錄系統 2.確認身份,實現權限控制
組:方便管理用戶

唯一標識: UID GID

組分類: 基本組(私有組) 附加組(從屬組)
一個用戶至少屬於一個組

[root@1906 ~]# useradd nsd01
組:nsd01

          組: cw  js  xs

添加用戶
用戶基本信息存放在 /etc/passwd文件(系統級配置文件)
[root@1906 ~]# head -1 /etc/passwd
root❌0:0:root:/root:/bin/bash
用戶名:密碼佔位符:UID:基本組GID:描述信息:家目錄:解釋器程序

• 使用 useradd 命令
– useradd [選項]… 用戶名

• 常用命令選項
– -u 用戶id、-d 家目錄路徑、-s 登錄解釋器、-G 附加組

[root@1906 ~]# useradd -u 1500 nsd01 #創建用戶指定UID
[root@1906 ~]# id nsd01

[root@1906 ~]# useradd nsd02
[root@1906 ~]# id nsd02 #查詢nsd02用戶基本的信息

[root@1906 ~]# ls /home/

]# useradd -d /opt/abc nsd05 #創建用戶指定家目錄
]# ls /opt/

]# useradd -u 2000 -d /opt/aa nsd08
]# ls /opt/

用戶名:密碼佔位符:UID:基本組GID:描述信息:家目錄:解釋器程序

-s:指定解釋器程序

/sbin/nologin:禁止用戶登錄系統
[root@1906 ~]# useradd -s /sbin/nologin nsd13
[root@1906 ~]# id nsd13

[root@1906 ~]# grep nsd13 /etc/passwd

[root@1906 ~]# useradd -s /sbin/nologin nsd14
[root@1906 ~]# id nsd14

[root@1906 ~]# grep nsd14 /etc/passwd

-G:指定附加組(從屬組)
[root@1906 ~]# groupadd tedu #創建組tedu

[root@1906 ~]# useradd nsd15
[root@1906 ~]# id nsd15

[root@1906 ~]# useradd -G tedu nsd16 #創建用戶指定附加組
[root@1906 ~]# id nsd16

##################################################
設置登錄密碼
複雜密碼: 3/4原則 字母 數字 大小寫 特殊符號

• 使用 passwd 命令

[root@1906 ~]# useradd nsd17
[root@1906 ~]# passwd nsd17
更改用戶 nsd17 的密碼 。
新的 密碼: #輸入新的密碼
重新輸入新的 密碼: #重新輸入新的密碼
passwd:所有的身份驗證令牌已經成功更新
[root@1906 ~]# su - nsd17 #命令行臨時切換身份
[nsd17@1906 ~]$ passwd
更改用戶 nsd17 的密碼 。
爲 nsd17 更改 STRESS 密碼。
(當前)UNIX 密碼: #輸入舊的密碼
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[nsd17@1906 ~]$ exit #回到root用戶
非交互式設置密碼

[root@1906 ~]# echo 123 | passwd --stdin nsd17

[root@1906 ~]# echo redhat | passwd --stdin nsd17

[root@1906 ~]# echo 123456 | passwd --stdin nsd17

###################################################
用戶密碼信息存放在 /etc/shadow 文件
[root@1906 ~]# grep nsd17 /etc/shadow
nsd17:66UJ1UmCDO$uxsebJRVxjfOTUngX3nfI21mYCrEYiiPZs6Q4FD5Op7kzEtF7f8
u49XSm8AVGqm6X4Ny/pULXIKngkDIo7pSS1:18079:0:99999:7:::

用戶名:密碼加密字符串:上一次修改密碼的時間

      上一次修改密碼的時間:1970-1-1~2019-7-2  經歷的天數

####################################################
修改用戶屬性
• 使用 usermod 命令
– usermod [選項]… 用戶名

• 常用命令選項
– -u 用戶id、-d 家目錄路徑、-s 登錄解釋器
– -G 附加組

[root@1906 ~]# useradd nsd19
[root@1906 ~]# grep nsd19 /etc/passwd

]# usermod -u 2500 -G tedu -s /sbin/nologin -d /mnt/abc nsd19

[root@1906 ~]# grep nsd19 /etc/passwd
[root@1906 ~]# id nsd19

###################################################
刪除用戶
• 使用 userdel 命令
– userdel [-r] 用戶名

-r:連同家目錄一併刪除

[root@1906 ~]# userdel nsd01
[root@1906 ~]# id nsd01
[root@1906 ~]# ls /home/

[root@1906 ~]# userdel -r nsd02
[root@1906 ~]# id nsd02
[root@1906 ~]# ls /home/

####################################################
管理組賬號
添加組
組基本信息存放在 /etc/group文件

• 使用 groupadd 命令
– groupadd [-g 組ID] 組名

[root@1906 ~]# groupadd tarena
[root@1906 ~]# grep tarena /etc/group
tarena❌2010:
組名:組的密碼佔位符:組GID:組成員列表

[root@1906 ~]# useradd natasha
[root@1906 ~]# useradd dc
[root@1906 ~]# useradd harry
[root@1906 ~]# useradd jack

管理組成員
• 使用 gpasswd 命令
– gpasswd -a 用戶名 組名
– gpasswd -d 用戶名 組名

[root@1906 ~]# gpasswd -a natasha tarena
[root@1906 ~]# grep tarena /etc/group

[root@1906 ~]# gpasswd -a dc tarena
[root@1906 ~]# grep tarena /etc/group

[root@1906 ~]# gpasswd -a jack tarena
[root@1906 ~]# grep tarena /etc/group

[root@1906 ~]# gpasswd -d dc tarena
[root@1906 ~]# grep tarena /etc/group

[root@1906 ~]# gpasswd -d natasha tarena
[root@1906 ~]# grep tarena /etc/group

####################################################
刪除組
• 使用 groupdel 命令
– groupdel 組名

####################################################
案例1:配置用戶和組賬號
• 新建用戶 alex,其用戶ID爲3456,密碼是flectrag
[root@1906 ~]# useradd -u 3456 alex
[root@1906 ~]# echo flectrag | passwd --stdin alex
• 一個名爲 adminuser 的組
[root@1906 ~]# groupadd adminuser
• 爲 natasha 的用戶其屬於adminuser組,這個組是該用戶的從屬組
[root@1906 ~]# gpasswd -a natasha adminuser
[root@1906 ~]# id natasha
• 爲 harry 的用戶,其屬於adminuser組,這個組是該用戶的從屬組
[root@1906 ~]# gpasswd -a harry adminuser
[root@1906 ~]# id harry
• 爲 sarah的用戶,其在系統中沒有可交互的Shell
[root@1906 ~]# useradd -s /sbin/nologin sarah
• natasha 、harry、sarah 的密碼都要設置爲 flectrag
####################################################

tar備份與恢復

   1.整合分散的數據   2.減小空間佔用

歸檔和壓縮
• 歸檔的含義
– 將許多零散的文件整理爲一個文件
– 文件總的大小基本不變

• 壓縮的含義
– 按某種算法減小文件所佔用空間的大小
– 恢復時按對應的逆向算法解壓

常見的壓縮格式及命令工具:
.gz —> gzip
.bz2 —> bzip2
.xz —> xz

• tar 集成備份工具
– -c:創建歸檔
– -x:釋放歸檔
– -f:指定歸檔文件名稱
– -z、-j、-J:調用 .gz、.bz2、.xz格式的工具進行處理
– -t:顯示歸檔中的文件清單
– -C(大寫):指定釋放路徑

製作tar包格式:
tar 選項 /路徑/壓縮包的名字 /路徑/被壓縮的源數據 …
]# tar -zcf /opt/file.tar.gz /home/ /etc/passwd
]# ls /opt/
]# tar -jcf /opt/abc.tar.bz2 /home/ /etc/passwd
]# ls /opt/
]# tar -Jcf /opt/nsd.tar.xz /home/ /etc/passwd
]# ls /opt/

解包格式:
tar 選項 /路徑/壓縮包的名字 釋放的路徑

]# tar -xf /opt/file.tar.gz -C /mnt/
]# ls /mnt/
]# ls /mnt/etc/
]# ls /mnt/home/

]# mkdir /test
]# tar -xf /opt/abc.tar.bz2 -C /test
]# ls /test/

###################################################
案例2:創建一個備份包
使用 tar 工具完成以下備份任務:
– 創建一個名爲 /root/backup.tar.bz2 的歸檔文件
– 其中包含 /usr/local 目錄中的內容
– tar 歸檔必須使用 bzip2 進行壓縮

]# tar -jcf /root/backup.tar.bz2 /usr/local/
]# ls /root/

]# tar -tf /root/backup.tar.bz2 #查看tar包內容

##################################################
cron計劃任務

cron任務概述
• 用途:按照設置的時間間隔爲用戶反覆執行某一項固定的系統任務
• 軟件包:cronie、crontabs
• 系統服務:crond

• 日誌文件:/var/log/cron

管理計劃任務策略
• 使用 crontab 命令
– 編輯:crontab -e [-u 用戶名]
– 查看:crontab -l [-u 用戶名]
– 清除:crontab -r [-u 用戶名]

如何編寫任務記錄
• 配置格式可參考 /etc/crontab 文件
分 時 日 月 周 任務命令行(絕對路徑)

  •  *    *    *     *      #每分鐘都執行
    

30 23 * * * #每天晚上11:30

30 23 * * 5 #每週的週五晚上11:30

30 23 * * 1,3,5 #每週的週五,週一,週三 晚上11:30
30 23 * * 1-5 #每週的週一至週五 晚上11:30
1 */2 * * * #每兩個小時
分 時 日 月 周
1 8 1 * 2 #每週的週二或每月的一號

*:匹配範圍內任意時間
,:分隔多個不連續的時間點
-:指定連續時間範圍
/n:指定時間頻率,每n ...

利用root用戶,每分鐘記錄當前系統時間,寫入到/opt/time.txt
[root@1906 ~]# date #顯示系統時間

[root@1906 ~]# date >> /opt/time.txt
[root@1906 ~]# cat /opt/time.txt

[root@1906 ~]# crontab -e

          • date >> /opt/time.txt

[root@1906 ~]# crontab -l -u root

          • date >> /opt/time.txt

###################################################

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章