程序VS程式
程式:二進制程式檔案+庫檔案+配置檔案+幫助檔案
靜态
程序:是程式的副本,是程式執行的執行個體
動态(有生命周期)
使用者權限
使用者組:使用者容器并可以關聯權限 辨別符
權限類型:屬主、屬組、其他使用者
使用者:擷取資源或服務的憑證或辨別 辨別符
程序:也是有屬主和屬組的,是使用者操作計算機的代理
使用者權限=程序的權限+檔案的權限
權限類型:r,w,x
對檔案來說:
r:可讀,可使用類似cat等指令檢視檔案内容
w:可寫,可以編輯或删除此檔案
x:可執行,exacutable,可以在指令提示符下當作指令送出給核心運作
對目錄來說:
r:可對此目錄執行ls以列出内部的所有檔案
w:可以在此目錄建立檔案
x:可以使用cd切換進此目錄,也可以使用ls -l檢視内部檔案的詳細屬性
rwx權限組合:
---:無權限
r--:隻讀
r-x:讀和執行
rw-:讀和寫
rwx:讀寫執行
權限組合對應的二進制:
0 000 --- 無權限
1 001 --x 可執行
2 010 -w- 可寫
3 011 -wx 寫和執行
4 100 r-- 隻讀
5 101 r-x 讀和執行
6 110 rw- 讀和寫
7 111 rwx 讀寫執行
使用者:UID 使用者資料庫:/etc/passwd
使用者組:GID 使用者資料庫:/etc/group
密碼檔案:
使用者:/etc/shadow
組:/etc/gshadow
使用者類别: 使用者ID
管理者: 0
普通使用者: 1-65535
系統使用者:專門運作系統程式及服務,不可登入系統
系統使用者:1-499 CentOS6.8
1-1000 CentOS7.2
普通使用者:500-60000 CentOS6.8
1000-60000 CentOS7.2
使用者組類别:
基本組:使用者預設組
私有組:建立使用者時,如果沒有為其指定所屬的組,系統會自動建立一個與使用者名同名的組
附加組/附加組:預設組以外的其它組
passwd檔案格式:
account:使用者名
passwd:密碼占位符
UID:使用者UID
GID:基本組
comment:注釋
home dir:家目錄
shell:使用者的預設登入shell類型
shadow檔案格式:
第一段:使用者名
第二段:加密的密碼
第三段:上次修改密碼的時間
第四段:密碼最短使用期限
第五段:密碼最長使用期限
第六段:密碼到期前的警告天數
第七段:密碼過期後的保留天數
第八段:帳戶過期時間
加密算法:
對稱加密:加密和解密都使用同一個密碼
公鑰加密:每個密碼都成對出現,一個為私鑰(secret key),一個為公鑰(public key)
單向加密/散列加密:提取資料特征碼,常用于校驗資料的完整性
md5:message digest 128位定長輸出
sha1:secure hash algorithm 160位定長輸出
使用者管理指令:useradd,userdel,usrmod,passwd,chsh,chfn,finger,change,id
組管理指令:groupadd,groupdel,groupmod,gpasswd
權限管理指令:chown,charp,chmod,umask
帳戶管理需要操作到的檔案
/etc/passwd:使用者帳戶檔案
/etc/shadow:使用者密碼檔案
/etc/group:組帳戶檔案
/etc/gshadow:組密碼檔案
/etc/default/useradd:建立新使用者的預設設定檔案
/etc/skel/:包含使用者家目錄預設檔案的目錄
/etc/login.defs:密碼檔案的預設配置
useradd [options] username建立使用者帳戶
-u:指定使用者UID
-o:忽略唯一性,必須放在其他選項之前組合使用
-g:指定使用者GID 基本組必須事先存在
-G:指定使用者附加組 附加組必須事先存在
-c:指定注釋資訊 有空格加單引号
-d:指定使用者家目錄 預設/home/username
-s:指定使用者預設shell
-m -k:強行為使用者建立家目錄,-k複制使用者shell環境檔案到家目錄下
-M:不為使用者建立家目錄,同時使用者也沒有shell環境檔案
-N:不建立私有組做為主組,使用users組做為主組
-r:添加系統使用者,不能登入,也沒有家目錄
使用者shell環境配置檔案模闆:/etc/skel下的所有檔案
建立新使用者的系統預設設定檔案:/etc/login.defs
login.defs檔案格式:
pass_max_days:密碼最長使用期限 99999:不過期
pass_min_days:密碼最短使用期限
pass_min_len:密碼最短長度
pass_warn_age:過期前警告時長
UID_min:新使用者最小UID
UID_max:新使用者最大UID
GID_min:新使用者最小GID
GID_max:新使用者最大GID
Create home yes預設情況下建立家目錄
Umask 077:檔案權限遮罩碼為077
Usergroups_enab yes删除使用者的同時删除私有組
encrypt_method sha512加密方式采用sha512
usermod [options] username 修改使用者帳戶屬性
-u:修改使用者UID
-o:忽略唯一性,必須放在其他選項之前組合使用
-g:修改使用者基本組
-G:修改使用者附加組(覆寫之前的附加組)
-G -a:追加新附加組
-c:修改注釋資訊
-d -m:修改使用者家目錄,并移動之前使用者的的檔案至此新目錄
-s:修改使用者的預設shell
-l:修改登入名
-e:修改使用者的過期時間(格式為:CCYY-MM-DD)
-f:修改過期前的警告天數
-L:鎖定帳戶(不讓使用者登入系統)
-U:解鎖帳戶(普通使用者空密碼不讓解鎖)
userdel [options] username 删除使用者帳戶
-r 删除使用者的同時删除家目錄(預設不删除)
id [options] username 檢視使用者資訊
-G:檢視使用者所屬的所有組(基本組、附加組)的資訊
-u:檢視使用者UID
-g:檢視使用者GID
-n:顯示組名,非ID号,可以和以上選項合并使用
finger [options] username檢視使用者的擴充屬性資訊
-s:檢視使用者的登入情況
-l:檢視使用者擴充屬性資訊
chsh [options] [username] 檢視及修改使用者shell
-l:不加使用者名,檢視目前系統上有哪些可用shell
-s /path/shellname username:修改使用者的預設登入shell
chfn [options] [username] 修改使用者注釋資訊
-f:修改使用者全名
-o:修改辦公室房間号
-p:修改辦公室電話号碼
-h:修改家庭電話
chage [options] [username] 修改使用者密碼過期的資訊
-d:最近一次修改密碼的時間
-E:密碼過期時間
-I:非活動時間
-l:顯示密碼期限詳情
-m:最短使用期限
-M:最長使用期限
-W:警告天數
passwd [options] [username]修改使用者密碼
-k:修改密碼使用期限為永不過期
-l:鎖定使用者帳号
-u:解鎖使用者帳号
--stdin:用管道方式給使用者設定密碼
-d:删除使用者密碼
-e:強制讓使用者密碼過期,并讓其下一次登入必須更改密碼
-f:強制指定的操作
-n:修改密碼最短使用周期
-x:修改密碼最長使用周期
-w:修改密碼過期警告期限
-i:修改密碼禁用前的保留時間
-S:檢視使用者密碼密碼狀态資訊
su [options...] [-] [user [args...] 臨時切換使用者身份或以其他身份運作程式
su username 非登入式切換
su - username 登入式切換 等同于 su -l username
非登入式切換:不會讀取目标使用者的配置檔案,不改變目前工作目錄
登入式切換:會讀取目标使用者的配置檔案,切換至家目錄,完全切換
root使用者 su 至其他使用者無須密碼
非root使用者 su 至其他使用者時需要密碼
su [-] username -c 'COMMAND' 以其他身份運作程式
groupadd [options] groupname 建立使用者組
-g:指定GID
-r:建立系統組
-R /path/chroot_dir:指定chroot_dir目錄
-p:為建立的組建立密碼
-f:指定GID存在時直接退出
-K GID_MIN=# -K GID_MAX=#:修改預設配置設定GID池
gpasswd [option] groupname組管理操作
-a:向組中添加使用者
-d:從組中删除使用者
-r:删除組密碼
-R:限制成員通路
-M:設定成組的成員
-A:設定成組的管理者
gpasswd "groupname"專業修改組密碼
groupmems [options] username組成員管理
-a:向組中添加使用者
-d:從組中删除使用者
-g groupname:更改組名
-l:列出組成員名單
-p:清空組成員清單
groupmod [option] groupname 修改組屬性
-g:修改GID
-o:忽略唯一性,必須放在其他選項之前組合使用
-n:修改組名