您好,登錄后才能下訂單哦!
用戶類別分為:普通用戶、系統用戶、登陸用戶
用戶標識:UserID, UID 是16bits二進制數字: 0-65535
管理員:0
普通用戶:0-65536
系統用戶:
1-499(CentOS6)
1-999(CentOS7)
登陸用戶:
500-60000(CentOS6)
1000-60000(CentOS7)
名稱解析: Username <--->UID
名稱解析是根據名稱解析庫/etc/passwd進行轉換;
組類別可劃分為:
組類別1:管理員組、普通用戶組、系統組、登錄組
組標識: GroupID, GID,同UID一樣,16bits二進制數字: 0-65535
管理員組:0
普通用戶組: 1-65535
系統用戶組:
1-499(CentOS6)
1-999(CentOS7)
登陸用戶組:
500-60000(CentOS6)
1000-60000(CentOS7)
名稱解析: groupname <--> GID
名稱解析是根據名稱解析庫/etc/group進行轉換;
組類別2:用戶的基本組、用戶的附加組
組類別3:
私有組: 組名同用戶名,且只包含一個用戶;
公共組: 組內包含了多個用戶;
認證信息:
通過比對事先存儲的password,與登錄時提供的信息是否一致:
/etc/shadow
/etc/gshadow
密碼的使用策略:
加密算法:
對稱加密: 加密和解密使用同一個密碼;
非對稱加密:加密和解密使用的一對兒密鑰;
公鑰:public key 用于加密;
私鑰:private key 用于解密;
單向加密: 只能加密,不能解密;提取數據特征碼;
定長輸出;雪崩效應
算法:
md5: message digest, 128bits
sha1: secure hash algorithm
sha224
sha256
sha385
sha512
在計算之時加salt, 添加的隨機數,防止設置相同密碼加密后出現一樣的值;
/etc/passwd: 用戶的信息庫
[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
name: 用戶名
password: 可以是加密密碼,也可是占位符x;
UID: 用戶ID
GID: 用戶所屬的主組的ID號
GECOS: 注釋信息
Home directory: 用戶家目錄;
shell: 用戶登錄時默認shell程序;
/etc/shadow: 用戶密碼;
user1:$6$3RsDhRk/DfEsAv0L$dzlsVlqL.vxHU2wMVX8LBdfoE5WrQatxjRXIAg2uFqfaq8ckctZAF3zN4QmDGKfsaJlknW19FytnckyiOnrl21:18234:0:99999:7:::
用戶名:加密的密碼:最近一次修改密碼的時間:最短使用期限:最長使用期限:警告期段:過期期限:保留字段
$6$:表示加密的算法;
id為1時,采用md5算法加密
id為5時,采用SHA256算法加密
id為6時,采用SHA512算法加密
salt為隨機偏移值,是對密碼進行hash的一個干擾值
encrypted為散列值
$3RsDhRk/DfEsAv0L$ : salt, hash的偏移值
/etc/group: 組的信息庫
group_name: password: GID: user_list
user_list: 該組的用戶成員: 以此組為附加組的用戶的用戶列表
安全上下文:
進程以其發起者的身份運行;
進程對文件的訪問權限,取決于發起此進程的用戶權限;
系統用戶:為了能夠讓那些后臺進程或服務類進程以非管理員的身份運行,通常需要為此創建多個普通用戶,這類用戶從不用登系統;
groupadd: 添加組
groupadd [options] group
-g GID :指定GID, 默認是上一個組的GID+1;
-r: 創建系統組;
groupmod: 修改組屬性
groupmod [options] GROUP
-g GID: 修改GID;
[root@server1]#tail /etc/group
newgrp:x:1007:
[root@server1]#groupmod -g 1005 newgrp
[root@server1c]#tail /etc/group
newgrp:x:1005:
-n new_name: 修改組名;
[root@server1]#groupadd oldgrp
[root@server1]#groupmod -n newgrp oldgrp
groupdel: 刪除組;
groupdel [options] GROUP
useradd: 創建用戶
adduser:創建用戶 (其實是指向useradd命令)
[root@server1]#file which adduser
/usr/sbin/adduser: symbolic link to `useradd'
useradd [options] LOGIN
-u, --uid UID: 指定UID; 會自動創那家與UID一樣的GID;
-g, --gid GID: 指定基本GID,此組要事先存在,不使用默認GID;
-G, --groups GROUP1 GROUP2…: 指明用戶所屬的附加組,多個組之間用逗號分隔;
[root@server1]#useradd -G eng,fin leo
[root@server1]#tail -3 /etc/group
eng:x:1013:leo
fin:x:1014:leo
leo:x:1015:
-c, --comment COMMENT: 指明注釋信息;
-d, --home HOME_DIR: 以指定的路徑為用戶家目錄, 通過復制/etc/skel此目錄并重命名實現;指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件;
-s, --shell SHELL: 指定用戶的默認shell, 可用的所有shell列表存存在/etc/shells文件中;
-r, --system: 創建系統用戶;
-m, --create-home:
-M, --no-user-group: 不為用戶創那家主目錄;
-f, --inactive: 設定用戶過期期限;
注意:創建用戶時的諸多默認設定配置文件為/etc/login.defs
-D:
useradd -D 顯示創建用戶時的默認配置;
useradd -D 選項:修改創建用戶時的默認配置;其修改的值保存于/etc/default/useradd文件中;
[root@server1]#useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@server1]#useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@server1]#useradd -D -d /tmp
[root@server1]#useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/csh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
usermod: 修改用戶屬性:
usermod [options] LOGIN
-u, --uid UID: 修改用戶的ID為此處指定的新UID;
-g, --gid GROUP:修改用戶所屬的基本組;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]: 修改用戶所屬的附加組;原來的附加組會被覆蓋;
-a,--append: 與-G一同使用,用于為用戶追加新的附加組;
-c, --comment COMMENT: 修修注釋信息;
-d, --home HOME_DIR:修改用戶的家目錄;用戶原有的文件不會被轉移至新位置;
-m, --move-home:只能與-d選項一同使用,用于將原來的家目錄移動至新的家目錄;
-l, --login NEW_LOGIN:修改用戶名;
-s, --shell SHELL:修改用戶的默認shell;
-L, --lock:鎖定用戶密碼,即在用戶原來的密碼字符串之前添加一個“!”;
-U, --unlock:解鎖用戶的密碼;
userdel: 刪除用戶
userdel [options] LOGIN
-r: 刪除用戶時一并刪除其家目錄,默認不刪除;
passwd: 密碼管理
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
gpasswd: 組密碼管理:
組密碼文件: /etc/gshadow
gpasswd [option] group
-a USERNAME: 向組中添加用戶;
-d USERNAME: 從組中移除用戶;
netgrp: 臨時切換指定的組為基本組; 用戶必須已經屬于要切換的組;
newgrp [-] [group]
-: 會模擬用戶重新登錄以實現重新初始化其工作環境;
chage命令:
chage [options] LOGIN
[root@server1]#chage sindy
Changing the aging information for sindy
Enter the new value, or press ENTER for the default
Minimum Password Age [0]:
Maximum Password Age [99999]:
Last Password Change (YYYY-MM-DD) [2020-03-01]:
Password Expiration Warning [7]:
Password Inactive [-1]:
Account Expiration Date (YYYY-MM-DD) [-1]:
id命令: 顯示用戶的真實和有效ID;
id [OPTION]... [USER]
-u: 僅顯示有效的ID;
-g:僅顯示用戶的基本組ID;
-G:僅顯示用戶所屬的所有組ID;
-n: 顯示名字而非ID;
su命令: switch user切換用戶
登陸式切換:會通過重新讀取用戶的配置文件來重新初始化;
su - USERNAME
su -l USERNAME
非登錄式切換: 不會讀取目標用戶的環境配置文件進行初始化;
su USERNAME
注意:管理員可無密碼切換至其它任何用戶;其它用戶在切換時必須輸入目標用戶的密碼;
-c ‘COMMAND’: 僅以指定用戶的身份運行此處指定的命令;
權限管理:
rwxrwxrwx:
左三位:定義user(owner)的權限;
中三位:定義group的權限;
右三位:定義other的權限;
權限:
r: readable,讀
w:writable,寫
x:excutable,執行
文件:
r: 可獲取文件的數據內容;
w:可修改文件的數據;
x: 可將此文件運行為進程;
目錄:
r: 可使用ls命令獲取其下的所有文件列表;
w:可修改此目錄下的文件列表, 即創建或刪除文件;
x: 可cd到此目錄中,且可使用ls -l來獲取所有文件的詳細屬性信息;
mode: rwxrwxrwx
ownership: user, group
權限組合機制:
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
權限管理命令:
三類用戶:
u:屬主
g:屬組
o:其它
a:所有
chmod [OPTION]... MODE[,MODE]... FILE…
授權表示法:直接操作一類用戶的一個權限俠:
u+,u-
g+,g-
o+,o-
a+,a-
chmod u+r, o+r FILE 或者chmod ug+r FILE
chmod [OPTION]... OCTAL-MODE FILE…
chmod [OPTION]... --reference=RFILE FILE…
選項:
-R, --recursive: 遞歸修改 (在授權表示法中使用,其它方法不建議使用)
從屬關系管理命令: chown, chgrp
chown命令:修改屬主屬組
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
選項:
-R, 遞歸修改
chgrp命令:修改屬組(同chown)
注意:僅管理員可以使用;
umask: 文件的權限反向掩碼,遮罩碼:
文件:
666-umask
目錄:
777-umask
注意:之所以文件用666去減,表示文件默認不能擁有執行權限,如果中有執行權限,則需要將其加1;
umask: 023
666-023=644
777-023=754
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。