用戶、組、權限
安全上下文(secure context):
權限:
r, w, x
文件:
r: 可讀,可以使用類似cat等命令查看文件內容
w: 可寫,可以編輯或刪除此文件
x: 可執行,eXecutable, 可以在命令提示符下當做命令提交給內核運行
目錄:
r: 可以對此目錄執行ls以列出內容的所有文件
w: 可以在此目錄創建文件
x: 可以使用cd 切換進此目錄,也可以使用ls -l 查看內部文件的詳細信息
rwx:
r-- 只讀
r-x 讀和執行
--- 無權限
0 000 --- 無權限
1 001 --x 執行
2 010 -w- 寫
3 011 -wx 寫和執行
4 100 r-- 只讀
5 101 r-x 讀和執行
6 110 rw- 讀寫
7 111 rwx 讀寫執行
755: rwxr-xr-x
用戶: UID, /etc/passwd
組: GID, /etc/group
影子口令:
用戶:/etc/shadow
組: /etc/gshadow
用戶類別:
管理員: 0
普通用戶 : 1-65535
系統用戶 1-499
一般用戶 500-60000
用戶組組別:
管理員組:
普通組:
系統組:
一般組:
用戶組類別:
私有組: 創建用戶時,如果沒有爲其制定所屬的組,系統會自動爲其創建一個與用戶名同名的組
基本組: 用戶的默認組
附加組,額外組: 默認組以外的其他組
進程: tom tom
對象:
/etc/passwd
account: 登錄名
password: 密碼
UID:
GID: 基本組ID
comment:註釋
HOME DIR: 家目錄
SHELL: 用戶的默認shell
/etc/shadow
account: 登錄名
encrypted password: 加密的密碼; 加!! 可以鎖定該賬號
加密方法:
對稱加密: 加密和解密使用同一個密碼
公鑰加密: 每個密碼都成對出現,一個爲私鑰(secret key),一個爲公鑰(public key)
私鑰加密,公鑰解密;
公鑰加密,私鑰解密。
單向加密:散列加密: 提取數據特徵碼,常用語數據完整性校驗
1. 雪崩效應
2. 定長輸出
MD5: Message Digest, 128位定長輸出
SHA1 : secure hash Algorithm, 160位定長輸出
useradd USERNAME
groupadd GRPNAME
用戶管理:
useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage
組管理:
groupadd, groupdel, groupmod, gpasswd
權限管理:
chown, chgrp, chmod, umask
/etc/paswd:
用戶名:密碼:UID:GID註釋:家目錄:默認SHELL
/etc/group:
組名:密碼:GID:以此組爲其附加組的用戶列表
/etc/shadow:
用戶名:密碼:最近一次修改密碼的時間:最短使用期限:最長使用期限:警告時間:非活動時間:過期時間:
useradd [options] USERNAME
-u UID 要大於等於500,但是不能是已經使用的
-g GID (基本組) 組一定要存在
-G GID,... (附加組) 可以有多個
-c "COMMENT"
-d /path/to/directory 指定某個目錄爲用戶家目錄
-s SHELL路徑
-m -k(將/etc/skel下內容複製到home)強制爲用戶創建家目錄
-M 不給用戶創建家目錄, 即使/etc/login.defs中定義用戶必須有家目錄
-r 添加系統用戶(1-499的id號,不能登錄系統,沒有家目錄)
/etc/login.defs
環境變量:
PATH
HISTSIZE
SHELL 保存當前的SHELL
/etc/shells: 指定了當前系統可用的安全shell
eg: useradd -c "tony Blare" -d /home/blare user4
userdel:
userdel [options] USERNAME 不指定參數,用戶的家目錄不會被刪除
-r: 同時刪除用戶的家目錄
id: 查看用戶的賬號屬性信息
-u 顯示用戶名
-g 顯示默認組
-G 顯示附加組
-n 顯示名稱,而非id號
finger: 查看用戶賬號信息
finger USERNAME
修改用戶賬號屬性:
usermod
-u UID
-g GID (GID必須存在)
-G(-a) 當不帶-a時候,會覆蓋此前的附加組
-c
-d(-m) 不適用-m, 舊的家目錄文件將無法訪問, -m將會複製到新的家目錄
-s SHELL
-l 修改用戶的login name
-L 鎖定用戶賬號
-U 解鎖用戶賬號
chsh: 修改用戶的默認shell
chfn: 修改用戶的註釋信息
密碼管理:
passwd [USERNAME]
--stdin
eg: echo "jingming" | passwd user4 --stdin
-l 鎖定賬號
-u 解鎖賬號
-d 刪除用戶密碼
-n 設置密碼最短使用期限
pwck: 檢查用戶賬號的完整性
組管理:
創建組: groupadd
-g 指定GID
-r 添加爲系統組(GID=1-499)
groupmod
-g GID
-n GRPNAME 組名
groupdel
gpasswd: 給組加密碼
newgrp 登錄當前用戶的基本組爲新的基本組,可以用gpasswd給組設置密碼, 用exit退出
練習:
1、 創建一個用戶mandriva, 其ID號爲2002,基本組爲distro(組ID爲3003),附加組爲linux:
groupadd distro -g 3003
groupadd linux
useradd -u 2002 -g distro -G linux mandriva
2、 創建一個用戶fedora,其全名爲Fedora Community, 默認shell爲tcsh
useradd -s '/bin/tcsh' -c "Fedora Community" fedora
3、 修改mandriva的ID號爲4004,基本組爲linux,附加組爲distro和fedora
usermod -u 4004 -g linux -G distro,fedora mandriva
4、 給fedora加密碼,並設定其密碼最短使用期限爲2天,最長爲50天
passwd -n 2 -x 50 fedora
5、 將mandriva的默認shell改爲/bin/bash
usermod -s /bin/bash mandriva
6、 添加系統用戶hbase,且不允許其登陸系統
useradd -r -s '/sbin/nologin' hbase
chage 改變用戶密碼過期信息
-d 最近一次的修改時間
-E: 過期時間:
-I: 非活動時間
-m 最短使用期限
-M 最長使用期限
-W 警告時間