一 使用者管理指令
(*)使用者資訊檔案: /etc/passwd
aa:x:501:501:空:/home/aa:/bin/bash
第一列:使用者名
第二列:密碼位
第三列:UID 使用者ID =>500 普通使用者
第四列:GID 初始組ID
第五列:使用者說明
第六列:家目錄
第七列:使用者登入之後的權限
影子檔案: /etc/shadow //存放密碼的檔案
組資訊檔案: /etc/group
zhangsan:x:500:
組名:組密碼位:組ID:組中附加使用者
1 添加使用者
useradd 使用者名
useradd 選項 使用者名
選項:
-g 組名 指定初始組
-G 組名 指定附加組,把使用者加入組,使用附加組
-c 添加說明
-d 手工指定家目錄,目錄不需要事先建立/home/
-s /bin/bash(nologin禁止登陸) 手工指定使用者登入之後的權限
useradd -g aa bb 添加bb使用者,同時指定初始組為aa
useradd -G user1 aa 添加使用者aa,指定附加組為user1
初始組:每個使用者初始組隻能有一個,一般都是和使用者名相同的組作為初始組
附加組:每個使用者可以屬于多個附加組。要把使用者加入組,都是加入附加組
2 設定密碼
passwd 使用者名
passwd 改變目前使用者密碼
passwd root 改變root密碼
3 删除使用者
userdel -r 使用者名
-r 連帶家目錄一起删除
4 添加組
groupadd 組名
5 删除組
groupdel 組名 注意:組中沒有初始使用者。
6 把已經存在的使用者加入組
gpasswd -a 使用者名 組名 使用者加入組
gpasswd -d 使用者名 組名 把使用者從組中删除
二 使用者相關指令
1 id 使用者名 顯示使用者的UID,初始組,和附加組
[[email protected] home]# id 使用者
2 su - 使用者名 切換使用者身份
- 連帶環境變量一起切換
(*)三 ACL權限
給特殊身份的使用者設定權限。
1 getfacl 檔案名 查詢檔案的acl權限
2 setfacl 選項 檔案名 設定acl權限 (set 設定)
-m 設定權限
-b 删除權限
setfacl -m u:使用者名:權限 檔案名
setfacl -m g:組名:權限 檔案名
setfacl -m u:aa:rwx /test 給test目錄賦予aa是讀寫執行的acl權限
setfacl -m u:cc:rx -R soft/ 賦予遞歸acl權限,隻能賦予目錄
-R 遞歸
setfacl -b /test 删除acl權限
setfacl -x u:使用者名 檔案名 删除指定使用者的ACL權限
3 setfacl -m d:u:aa:rwx -R /test acl預設權限。d 含義:目錄 dir
預設權限隻能賦予目錄
注意:如果給目錄賦予acl權限,兩條指令都要輸入
-R 遞歸
-m u:使用者名:權限 -R 隻對已經存在的檔案生效
-m d:u:使用者名:權限 -R 隻對未來要建立的檔案生效
(*)四 輸出重定向和多指令順序執行
1 輸出重定向
把應該輸出到螢幕的輸出,重定向到檔案。
> 覆寫
>> 追加
ls > aa 覆寫到aa
ls >> aa 追加到aa
ls gdlslga 2>>aa 錯誤資訊輸出到aa 強調:錯誤輸出,不能有空格
2 錯誤資訊
lss >> aa 2>&1 錯誤和正确都輸入到aa,可以追加
2>&1 把标準錯誤重定向到标準正确輸出
& 背景運作
lss >> aa 2>>/tmp/bb 正确資訊輸入aa,錯誤資訊輸入bb
服務和程序管理
程序管理三個主要任務:
判斷伺服器健康狀态
檢視所有正在運作的程序
強制終止程序
一 程序檢視
1 ps aux 檢視目前系統所有運作的程序
-a 顯示前台所有程序
-u 顯示使用者名
-x 顯示背景程序
user: 使用者名
pid: 程序id。PID 1 init 系統啟動的第一個程序
%CPU cpu占用百分比
%MEM 記憶體占用百分比
VSZ 虛拟記憶體占用量 KB
RSS 固定記憶體占有量
tty 登入終端 tty1-7 本地終端 1-6 字元 7圖形 pts/0-5
alt+F1-F7
stat 狀态 S:睡眠 D:不可喚醒 R:運作 T:停止 Z:僵死
W:進入記憶體交換 X:死掉的程序 <:高優先級 N:低優先級
L:被鎖進記憶體 s:含子程序 +:位于背景 l:多線程
start 程序觸發時間
time 占用cpu時間
command 程序本身
2 pstree 檢視程序樹
3 top
第一行: 系統目前時間 系統持續時間 登入使用者 1,5,15分鐘之前的平均負載
第二行:程序總數
第三行:CPU占用率 %id 空閑百分比
第四行:記憶體使用: 總共 使用 空閑 緩存
第五航:swap使用
操作指令 M 記憶體排序
P CPU排序
q 退出
4 程序管理 終止程序
ps aux 組合使用
kill PID 結束單個程序 結束程序
-9 強制
Pstree 程序樹
killall -9 程序名 結束一類程序
pkill -9 程序名
Killall sshd
W 判斷登入使用者
pkill -9 -t 終端号 把某個終端登入的使用者踢出
pkill -9 -t tty1 把本地登入終端1登入使用者踢出
二 linux服務管理
1 分類
1)系統預設安裝的服務
2)源碼包安裝的服務
(一)系統預設安裝的服務
1 确定服務分類
chkconfig --list 檢視服務的自啟動狀态
運作級别:0-6
0 關機
1 單使用者模式
2 不完全多使用者,不包含N FS服務 無網絡登入
3 完全多使用者 字元界面
4 未配置設定
5 圖形界面
6 重新開機
init 0 halt 關機 init 5 startx init 3
init 6 重新開機
runlevel 查詢系統目前運作級别
vi /etc/inittab
id:3:initdefault: 定義系統預設運作級别
2 獨立的伺服器管理
1)啟動
①
/etc/rc.d/init.d/服務名 start|stop|restart|status
/etc/rc.d/init.d/httpd start
②
service 服務名 start|stop|restart|status
2)自啟動
①
chkconfig --level 2345 服務名 on|off
②
vi /etc/rc.local---->/etc/rc.d/rc.local
/etc/rc.d/init.d/httpd start
3 ntsysv
所有系統預設安裝服務都可以使用ntsysv指令進行自啟動管理
(二)源碼包安裝的服務
1源碼包安裝的服務
1)絕對路徑啟動
/usr/local/apache2/bin/apachectl start
2)自啟動
vi /etc/rc.local
/usr/local/apache2/bin/apachectl start
總結:
服務管理:
RPM包安裝服務
獨立的服務
啟動:
/etc/rc.d/init.d/服務名 start
service 服務名 start
自啟動:
chkconfig --level 2345 服務名 on|off
vi /etc/rc.local 推薦
/etc/rc.d/init.d/httpd start
源碼包服務
啟動
/usr/local/服務名/bin/服務名二進制執行檔案 start
自啟動
vi /etc/rc.local
/usr/local/apache2/bin/apachectl start
三 計劃任務
echo 11 >> /root/aa 在aa檔案中追加11.一會定時任務驗證用
循環定時任務
crontab -e 編輯定時任務
* * * * * 指令
10 * 31 * * 指令
10 * * * * 指令
5 4 * 5,7,10 * 指令
*/10 * * * * 指令
第一個:一小時中第幾分鐘 0-59
第二個:一天中第幾個小時 0-23
第三個:一個月中第幾天 1-31
第四個:一年第幾個月 1-12
第五個:一周中星期幾 0-6
crontab -l 檢視系統定時任務
crontab -r 删除定時任務
注意事項:
選項都不能為空,必須填入,不知道的值使用通配符*表示任何時間
每個時間字段都可以指定多個值,不連續的值用,間隔,連續的值用-間隔
間隔固定時間執行書寫為*/n格式
指令應該給出絕對路徑
星期幾和第幾天不能同時出現
最小時間範圍是分鐘,最大時間範圍是月
指令補充:
cat /proc/cpuinfo 檔案儲存了CPU裝置資訊
dmesg 檢視系統啟動資訊
cat /var/log/dmesg 系統啟動資訊日志
dmesg | grep eth0 檢視eth0資訊
dmesg | grep CPU 檢視cpu資訊