1. 程式人生 > 其它 >3.Linux的使用者組管理以及程序許可權

3.Linux的使用者組管理以及程序許可權

使用者和組

uid(使用者id)gid(組id)
/etc/passwd 看到使用者

root:x\:0:0:root:/root:/bin/bash
使用者名稱:密碼:uid:gid:描述資訊:主目錄:預設shell

x表示設定密碼但不是真正的密碼,真正的儲存在shadow裡面,\表示轉義,因為markdown語法問題,可以忽略

uid
0 超級使用者
1-499 系統使用者(偽使用者,無法登陸,保留給系統)1-99系統自己建立的,100-499給有系統賬號需求的賬戶
500-65535 普通使用者

/etc/shadow
使用者名稱:加密的密碼(sha512):最後一次修改時間:最小修改時間間隔:密碼有效期:密碼過期後寬限時間:賬號失效時間:保留欄位

/etc/group 使用者組配置檔案
組名:組密碼:組id:組使用者

/etc/gshadow 組密碼
組名:加密密碼:組管理員:組附加使用者list

# 新建使用者到一個新的組
useradd haha
groupadd users1 
usermod -G users1 haha   //將users1作為haha的附加組
groups haha   //檢視haha所在組
userdel -r haha   //刪除使用者

UGO許可權

r = 4
w = 2
x = 1

  • = 0

rw- r-- r--
屬主 屬組 其他人
U G O

chmod [許可權數字] [目標檔案] 修改檔案許可權

chmod u+x [目標檔案] 給目標檔案的u屬新增x許可權

chown :[組名] [目標檔案] 修改檔案所屬組

chown [屬主]:[屬組] [目標檔案] 把檔案過渡給某個人某個組

groupadd [組名] 新增組
groupadd users2 -g 9008 給組新增gid為9008

groupmod [新組名] [舊組名] 修改組名

groupdel [組名] 刪除一個組

gpasswd [組名] 給組設定密碼

gpasswd -A [使用者名稱] [組名] 將使用者設定為組管理員

gpasswd -a test2 users1 把test2拉到users1組裡

程序管理

程序和程式

程序:正在執行的程式或者命令,都有執行的實體,即在記憶體中有具體的記憶體地址,一定會佔用作業系統的資源
程式:程式設計師寫出來的東西

程序的型別
守護程序:系統引導過程中的啟動程序,和終端沒關係
前臺程序:和終端有關係,通過終端啟動

< 表示高優先順序的程序
N 表示低優先順序的程序

  • 屬於某個前臺組的程序
    s 某個會話的leader程序
    l 執行緒加鎖

程序狀態
R 執行
S 睡眠
D 磁碟睡眠
T 停止
Z 殭屍程序
X 死亡程序

ps -aux 檢視程序
a = 和終端相關的程序
u = 以使用者為中心的程序
x = 和終端無關的程序

ps -ef
e = 顯示所有程序
f = 顯示完整格式的程式資訊

檢視指定程序的id
cat /run/sshd.pid
ps aux | grep sshd
pgrep -l sshd
pidof sshd

pstree 檢視程序樹

top動態顯示系統相關程序
top 直接顯示
top -d 1 每隔1s重新整理一次
top -d 1 -p [程序id] 每隔1s重新整理目標程序(程序id表示)
top -d 1 -u root 檢視root使用者的程序

訊號控制

kill -l 檢視所有訊號控制
kill -1 [程序id] 給程序傳送重新裝載訊號
kill -9 [程序id] 傳送關閉程序訊號

優先順序

程序優先順序0-99,實時優先順序,數字越小越優先

靜態優先順序00-139 數字越小越優先

nice值 -20-19
預設啟動nice為0,優先順序120

ps axo pid,command,nice --sort=nice   通過nice排序顯示pid

sleep 60 &
睡60s,放後臺,告訴我pid

renice -20 [程序號] 調整nice值(優先順序)

作業控制

screen -S 'ping [www.google.com](http://www.google.com/)'   後臺執行ping命令
screen -list   列出所有後臺執行的命令
pkill screen   刪除所有後臺執行的程序
nohup ./xxx.sh &   把程式放後臺執行並反饋程序號