知識點回顧:
1.開機啓動流程 centos6.X
2.使用者管理
建立使用者 參數需要記住
useradd -s /sbin/nologin /bin/bash -u -g -G -M
刪除使用者
修改使用者
建立密碼
keepass
批次建立10個使用者
知識點概述:
1.密碼管理
2.系統安全
3.MD5校驗
4.使用者相關命令
5.sudo提權
6.日誌審計簡介
1.密碼管理
如何讓系統更安全
a. 最小化安裝操作操作系統 安裝的系統內容越多 漏洞越多
b. 安裝軟體最小化安裝 用什麼軟體裝什麼軟體
c. 保護好root、禁止root登陸 使用普通使用者登陸
d. 修改SSH遠端登陸的預設埠 22 修改爲大於10000的埠 1-65535
PS:埠在系統上是唯一的 不能重複使用
在系統服務或者安裝的服務預設都是有埠存在的
檢視當前系統已在在用的埠
netstat -tnulp
e. /var/log/secure 日誌的分析: failure 或Failed 監聽如果出現多次系統不安全
f. 檔案系統許可權 /etc/passwd
給許可權位加i 不能刪除 不能修改檔案內容
a 不能刪除 不能修改內容 只能追加新的內容
g. 給重要的檔案或命令做一個指紋 校驗
在修改檔案前 給當前的檔案 做一個校驗值
當檔案被修改 校驗值也會發生變化
檔案沒有被修改 校驗值不變
手動測試MD5
[root@oldboyedu-lnb test]# md5sum oldboy.txt
3fe396c01f03425cb5e2da8186eb090d oldboy.txt
[root@oldboyedu-lnb test]#
[root@oldboyedu-lnb test]# echo alex >> oldboy.txt
[root@oldboyedu-lnb test]# md5sum oldboy.txt
185b70298fd472c9e13c3d039a2fefff oldboy.txt
MD5校驗執行過程:
第一步: 給重要的檔案做MD5 指紋驗證
[root@oldboyedu-lnb test]# md5sum oldboy.txt
185b70298fd472c9e13c3d039a2fefff oldboy.txt
第二步: 把輸出的MD5值存入到一個檔案中 police.txt
[root@oldboyedu-lnb test]# md5sum oldboy.txt > police.txt
[root@oldboyedu-lnb test]# cat police.txt
185b70298fd472c9e13c3d039a2fefff oldboy.txt
第三步: 檢測當前的檔案和原來的指紋是否相同 PS:注意路徑問題
[root@oldboyedu-lnb test]# md5sum --check police.txt
oldboy.txt: OK # 檔案未被修改提示正常
[root@oldboyedu-lnb test]# md5sum -c police.txt
oldboy.txt: OK
[root@oldboyedu-lnb test]# md5sum -c police.txt
oldboy.txt: FAILED # 檔案被修改提示失敗
md5sum: WARNING: 1 computed checksum did NOT match
注意事項:
1) 在什麼情況下使用MD5校驗值
網站程式碼 對外提供存取的 重要的系統檔案 重要的服務組態檔
2) 注意路徑問題
3) 在做監測時候 要清楚是內部人員修改 還是外部人員修改
4) 什麼情況下修改重要網站程式碼 內部人員修改(程式碼上線)
在新功能上線的情況下 或者是補BUG的情況
需要對MD5指紋庫 重新做校驗(把修改後的檔案重新做MD5校驗放入police.txt)
[root@oldboyedu-lnb test]# echo oldboy >> oldboy.txt
[root@oldboyedu-lnb test]# md5sum -c police.txt
oldboy.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
[root@oldboyedu-lnb test]# md5sum oldboy.txt > police.txt
[root@oldboyedu-lnb test]# md5sum -c police.txt
oldboy.txt: OK
5) 如果是駭客修改了我們的程式碼 導致檢測失敗
1) 程式碼必須有備份 最新的備份
2) 把被篡改的檔案移動到/tmp下 保留證據
3) 把最新的備份檔案移動到站點目錄(使用者可存取的目錄) 快速恢復業務
案例: 批次做指紋驗證
1.在/oldboy下建立10個普通檔案
2.把所有的普通檔案做MD5校驗放入police.md5
3.測試檢驗
方法1: 直接使用md5sum 萬用字元的方式
[root@oldboyedu-lnb oldboy]# md5sum *.txt > police.txt
[root@oldboyedu-lnb oldboy]# md5sum -c police.txt
10.txt: OK
1.txt: OK
2.txt: OK
3.txt: OK
4.txt: OK
5.txt: OK
6.txt: OK
7.txt: OK
8.txt: OK
9.txt: OK
方法2: 使用find加絕對路徑路徑查詢 工作中使用
[root@oldboyedu-lnb oldboy]# find /oldboy/ -type f|xargs md5sum >/opt/police.txt
[root@oldboyedu-lnb oldboy]#
[root@oldboyedu-lnb oldboy]# cat /opt/police.txt
b026324c6904b2a9cb4b88d6d61c81d1 /oldboy/1.txt
26ab0db90d72e28ad0ba1e22ee510510 /oldboy/2.txt
6d7fce9fee471194aa8b5b6e47267f03 /oldboy/3.txt
48a24b70a0b376535542b996af517398 /oldboy/4.txt
1dcca23355272056f04fe8bf20edfce0 /oldboy/5.txt
9ae0ea9e3c9c6e1b9b6252c8395efdc1 /oldboy/6.txt
84bc3da1b3e33a18e8d5e1bdd7a18d7a /oldboy/7.txt
c30f7472766d25af1dc80b3ffc9a58c7 /oldboy/8.txt
7c5aba41f53293b712fd86d08ed5b36e /oldboy/9.txt
31d30eea8d0968d6458e0ad0027c9f80 /oldboy/10.txt
[root@oldboyedu-lnb oldboy]# md5sum -c /opt/police.txt
/oldboy/1.txt: OK
/oldboy/2.txt: OK
/oldboy/3.txt: OK
/oldboy/4.txt: OK
/oldboy/5.txt: OK
/oldboy/6.txt: OK
/oldboy/7.txt: OK
/oldboy/8.txt: OK
/oldboy/9.txt: OK
/oldboy/10.txt: OK
如何自動檢測 MD5+定時任務+指令碼
批次新增10個使用者stu01,stu02…stu10,並設定8位元隨機密碼(禁止使用for,while等回圈)
方法1:
useradd stu01;echo 123456|passwd --stdin stu01;useradd stu02
1.如何建立1個使用者
useradd stu01
useradd stu02
useradd stu10
2.如何讓建立使用者的命令在每一行顯示
[root@oldboyedu-lnb ~]# useradd stu03
[root@oldboyedu-lnb ~]# useradd stu04
[root@oldboyedu-lnb ~]# useradd stu05
[root@oldboyedu-lnb ~]# useradd stu06
PS: 只要能顯示到螢幕上的可執行命令 都可以直接使用bash進行執行
[root@oldboyedu-lnb ~]# echo ls
ls
[root@oldboyedu-lnb ~]# echo ls|bash
1.txt count.txt oldboy.txt stu02.txt stu06.txt stu10.txt test.txt
2.txt id.txt passwd.txt stu03.txt stu07.txt stuaZ.txt
70.txt index.html stu00.txt stu04.txt stu08.txt stu.txt
alex lidao-oldboy.txt stu01.txt stu05.txt stu09.txt test
[root@oldboyedu-lnb ~]# echo useradd test01
useradd test01
[root@oldboyedu-lnb ~]#
[root@oldboyedu-lnb ~]# echo useradd test01|bash
[root@oldboyedu-lnb ~]# id test01
uid=1009(test01) gid=1009(test01) groups=1009(test01)
sed 進行拼接
[root@oldboyedu-lnb ~]# seq 10|sed -r ‘s#(.)#useradd stu\1#g’
useradd stu1
useradd stu2
useradd stu3
useradd stu4
useradd stu5
useradd stu6
useradd stu7
useradd stu8
useradd stu9
useradd stu10
[root@oldboyedu-lnb ~]# seq 10|sed -r 's#(.)#useradd stu\1#g’|bash
[root@oldboyedu-lnb ~]# echo stu{01…10}|xargs -n1|sed -r ‘s#(.*)#useradd \1#g’
useradd stu01
useradd stu02
useradd stu03
useradd stu04
useradd stu05
useradd stu06
useradd stu07
useradd stu08
useradd stu09
useradd stu10
awk 拼接
[root@oldboyedu-lnb ~]# seq 10|awk ‘{print 「useradd stu0」$1}’
useradd stu01
useradd stu02
useradd stu03
useradd stu04
useradd stu05
useradd stu06
useradd stu07
useradd stu08
useradd stu09
useradd stu010
[root@oldboyedu-lnb ~]# seq 10|awk ‘{print 「userdel -r stu0」$1}’|bash
[root@oldboyedu-lnb ~]# echo stu{01…10}|xargs -n1|awk ‘{print "useradd " $1}’
useradd stu01
useradd stu02
useradd stu03
useradd stu04
useradd stu05
useradd stu06
useradd stu07
useradd stu08
useradd stu09
useradd stu10
---------------------------- 劉童
[root@oldboyedu-lnb ~]# echo stu{1…10}|xargs -n1|xargs -i useradd {}
[root@oldboyedu-lnb ~]# #useradd stu1 stu2 stu3
[root@oldboyedu-lnb ~]# #-i {}
[root@oldboyedu-lnb ~]# #useradd stu1
[root@oldboyedu-lnb ~]# #useradd stu2
----------------------------呂超哲
[root@oldboyedu-lnb ~]# echo useradd" 「stu{01…10}|xargs -n2
useradd stu01
useradd stu02
useradd stu03
useradd stu04
useradd stu05
useradd stu06
useradd stu07
useradd stu08
useradd stu09
useradd stu10
[root@oldboyedu-lnb ~]# echo useradd」 "stu{01…10}
useradd stu01 useradd stu02 useradd stu03 useradd stu04 useradd stu05 useradd stu06 useradd stu07 useradd stu08 useradd stu09 useradd stu10
---------------------白星
[root@oldboyedu-lnb ~]# echo useradd_stu{1…10}|xargs -n1|sed ‘s#_# #g’
useradd stu1
useradd stu2
useradd stu3
useradd stu4
useradd stu5
useradd stu6
useradd stu7
useradd stu8
useradd stu9
useradd stu10
-------------------閆萬辰
[root@oldboyedu-lnb ~]# echo -e ‘\n’useradd’\t’stu{01…10}
useradd stu01
useradd stu02
useradd stu03
useradd stu04
useradd stu05
useradd stu06
useradd stu07
useradd stu08
useradd stu09
useradd stu10
給每個使用者建立一個隨機密碼
1)如何生成隨機密碼
第一個方法: RANDOM 數位區間0-32767
[root@oldboyedu-lnb ~]# echo $((RANDOM))|md5sum|cut -c1-8
639ca2d9
[root@oldboyedu-lnb ~]# echo $((RANDOM))|md5sum|cut -c1-8
146e52c9
[root@oldboyedu-lnb ~]# echo 1|md5sum
b026324c6904b2a9cb4b88d6d61c81d1 -
[root@oldboyedu-lnb ~]# echo 2|md5sum
26ab0db90d72e28ad0ba1e22ee510510 -
[root@oldboyedu-lnb ~]# echo 3|md5sum
6d7fce9fee471194aa8b5b6e47267f03 -
第二個方法:
[root@oldboyedu-lnb ~]# date +%N|md5sum |cut -c1-8
863fda71
[root@oldboyedu-lnb ~]# date +%N|md5sum |cut -c1-8
71d47869
[root@oldboyedu-lnb ~]# date +%N|md5sum |cut -c1-8
bdf8d2e5
[root@oldboyedu-lnb ~]# date +%N|md5sum |cut -c1-8
2a4ec3de
2)如何拼接到批次建立使用者
awk
[root@oldboyedu-lnb ~]# echo stu{01…10}|xargs -n1|awk ‘{print 「useradd " $1」;echo 123456|passwd --stdin " $1}’
useradd stu01;echo 123456|passwd --stdin stu01
useradd stu02;echo 123456|passwd --stdin stu02
useradd stu03;echo 123456|passwd --stdin stu03
useradd stu04;echo 123456|passwd --stdin stu04
sed
[root@oldboyedu-lnb ~]# echo stu{01…10}|xargs -n1|sed -r ‘s#(.*)#useradd \1;echo 123456|passwd --stdin \1#g’
useradd stu01;echo 123456|passwd --stdin stu01
useradd stu02;echo 123456|passwd --stdin stu02
useradd stu03;echo 123456|passwd --stdin stu03
useradd stu04;echo 123456|passwd --stdin stu04
[root@oldboyedu-lnb ~]# seq 10|sed -r ‘s#(.*)#useradd stu\1#g’|bash
[root@oldboyedu-lnb ~]# grep stu /etc/passwd
命令:
chown 修改檔案的屬主屬組
命令格式:
chown [參數選項] 屬主.屬組 file
1)修改檔案的屬主
[root@oldboyedu-lnb test]# chown oldboy oldboy.txt
[root@oldboyedu-lnb test]# ll
total 16
-rw-r--r-- 1 root root 168 Aug 5 10:49 all.tar.gz
lrwxrwxrwx 1 root root 9 Aug 4 11:39 data -> /tmp/data
-rwxr-xr-x 1 root root 10 Aug 4 11:47 oldboy.bak
-rw-r--r-- 1 oldboy root 24 Aug 12 09:29 oldboy.txt
2) 同時修改檔案的屬主屬組 重要
[root@oldboyedu-lnb test]# chown oldboy.oldboy oldboy.txt
[root@oldboyedu-lnb test]# ll oldboy.txt
-rw-r--r-- 1 oldboy oldboy 24 Aug 12 09:29 oldboy.txt
3) 只修改屬組 瞭解
[root@oldboyedu-lnb test]# chown .root oldboy.txt
[root@oldboyedu-lnb test]# ll oldboy.txt
-rw-r--r-- 1 oldboy root 24 Aug 12 09:29 oldboy.txt
4) 修改當前目錄和目錄下的所有檔案 遞回修改-R 重要
[root@oldboyedu-lnb test]# chown -R oldboy.oldboy ./*
[root@oldboyedu-lnb test]# ll
total 16
-rw-r--r-- 1 oldboy oldboy 168 Aug 5 10:49 all.tar.gz
-rwxr-xr-x 1 oldboy oldboy 10 Aug 4 11:47 oldboy.bak
-rw-r--r-- 1 oldboy oldboy 24 Aug 12 09:29 oldboy.txt
-rw-r--r-- 1 oldboy oldboy 45 Aug 12 09:29 police.txt
drwxr-xr-x 2 oldboy oldboy 137 Aug 12 11:04 test
[root@oldboyedu-lnb test]# ll test
total 0
-rw-r--r-- 1 oldboy oldboy 0 Aug 12 11:04 10.txt
-rw-r--r-- 1 oldboy oldboy 0 Aug 12 11:04 1.txt
-rw-r--r-- 1 oldboy oldboy 0 Aug 12 11:04 2.txt
案例: 筆試題:
建立一個 uid 999 不允許登陸 不建立家目錄 屬於test組 oldboy10使用者
PS:必須先建立組
[root@oldboyedu-lnb ~]# groupadd -g 888 test
[root@oldboyedu-lnb ~]# useradd -u997 -s /sbin/nologin -M -G test oldboy10
[root@oldboyedu-lnb ~]# id oldboy10
uid=997(oldboy10) gid=1020(oldboy10) groups=1020(oldboy10),888(test)
使用者的相關命令:
1) id 檢視使用者的資訊
2) w 檢視系統效能和使用者登陸資訊
3) top 動態檢視系統效能資訊
-M 按照記憶體排序
-P 按照CPU使用率進行排序
4) sort 排序
語法格式:
sort [參數選項] file
cat file|sort [參數選項]
1.sort預設按照第一列進行排序
a. 第一列的第一個字母 a..z 正序排序
b. 第一列的第一個數位 從小到大正序排序
案例1: 按照數位的第一列正序排序
[root@oldboyedu-lnb ~]# sort test.txt
10
110
200000
300
4555555
5
6
7
8
9
案例2: 預設按照字元的第一列排序 正序排序
[root@oldboyedu-lnb ~]# sort 2.txt
alex
hjfie
jaifek
lidao
oldboy
oomnfwe
qqqq
rrrr
tttt
uuu
yyyy
案例3: 字串和數位在一起
[root@oldboyedu-lnb ~]# sort 2.txt
10
110
200000
300
4555555
5
6
7
8
9
alex
hjfie
jaifek
lidao
案例4: 逆序排序
[root@oldboyedu-lnb ~]# sort -r test.txt
9
8
7
6
5
4555555
300
200000
110
10
案例5: 按照數位進行正序排序
[root@oldboyedu-lnb ~]# sort -n test.txt
5
6
7
8
9
10
110
300
200000
4555555
[root@oldboyedu-lnb ~]# sort -rn test.txt
4555555
200000
300
110
10
9
案例6: 按照第二列的數位進行逆序排序 k2意思是第二行
[root@oldboyedu-lnb ~]# sort -rnk2 3.txt
閆萬辰 100
苗稼木 100
林銀展 100
李博森 100.00
徐焱 100
吳琦 100
案例7: 統計文字中單詞出現的次數
uniq
去重
統計
預設去重(把挨着的 相鄰的和自己一模一樣的單詞進行去重)
[root@oldboyedu-lnb ~]# sort 3.txt |uniq -c
2 alex
1 ccccc
2 lidao
1 odlboyedu.com
2 oldboy
1 qqqqq
1 zs
[root@oldboyedu-lnb ~]# sort 3.txt |uniq -c|sort -r|head 重要
2 oldboy
2 lidao
2 alex
1 zs
1 qqqqq
1 odlboyedu.com
1 ccccc
案例:
作業: 統計出以下域名各出現了多少次 按照出現次數最多的進行排序
把以下內容複製到檔案中 先取出過濾域名 然後進行域名的次數統計
cat oldboy.txt
http://www.baidu.com/images/jpg
http://www.sina.com/images/mp4
http://www.baidu.com/static/index.html
http://www.weibo.com/index.html
http://www.sina.com/static/jpg
http://www.baidu.com/index.html
http://www.sina.com/test/index.html
[root@oldboyedu-lnb ~]# awk -F"/" '{print $3}' oldboy.txt|sort|uniq -c|sort -r
3 www.sina.com
3 www.baidu.com
1 www.weibo.com
結果如下
3 www.baidu.com
2 www.weibo.com
小結:
密碼管理
系統安全
MD5校驗 重要
相關命令
chown
批次建立使用者 sed awk 建立+8位元隨機密碼
下次內容:
last
lastlog
sudo 提前
日誌審計
許可權管理 RWX
cat -n
grep -n .