Linux操作系統是多任務(Multi-tasks)多用戶(Multi-users)分時操作系統,linux操作系統的用戶就是讓我們登錄到linux的權限;每當我們使用用戶名登錄操作系統時,linux都會對該用戶進行認證、授權審計等操作。操作系統為了識别每個用戶,會給每個用戶定義一個ID,就是UID。用戶組就相當于多個用戶的容器;在linux系統中,用戶組也有一個ID,GID。
1.1 linux操作系統用戶
在linux中,用戶分為兩大類:管理員用戶和普通用戶,其中普通用戶由分為系統用戶和登錄用戶;
- 系統用戶:為了能夠讓那些後台進程或服務類進程以非管理員的身份運行,通常需要為此創建多個普通用戶,這類用戶從來不用登陸系統。
- 登錄用戶:就是我們一般使用登錄linux的用戶。
用戶标識:user id,UID
- 通常使用16bits二進制數字表示(0-65535)
- 管理員的用戶标識:0
- 普通用戶:1-65535
- 系統用戶:1-499(Centos6)、1-999(Centos7)
- 登錄用戶:500-60000(Centos6)、1000-60000(Centos7)
linux通過名稱解析庫“/etc/passwd”文件解析用戶名與用戶ID之間的對應關系。
/etc/passwd:用戶信息庫
name:password:UID:GID:GECOS:directory:shell
1.2 linux操作系統用戶組
在Linux中,用戶組分類方式有三種:
1、管理員組、普通用戶組(系統用戶組,登錄用戶組)
2、用戶的基本組、用戶附加組
3、私有組、公共組
用戶組标識:group id,GID
- 通常使用16bits二進制數字表示(0-65535)
- 管理員的用戶組标識:0
- 普通用戶組:1-65535
- 系統用戶組:1-499(Centos6)、1-999(Centos7)
- 登錄用戶組:500-60000(Centos6)、1000-60000(Centos7)
linux通過名稱解析庫“/etc/group”文件解析用戶名與用戶ID之間的對應關系。
1.3 linux操作系統密碼
用戶在登錄linux系統時,會對比password與之前保存在“/etc/shadow”、“/etc/gshadow”文件中的密碼是否一緻。
加密算法:
- 對稱加密:加密和解密使用同一個密碼
- 非對稱加密:加密和解密使用的一對密鑰
- 密鑰對:公鑰(public key)、私鑰(private key)
- 單向加密:隻能加密,不能解密;提取數據特征碼;
定長輸出:
- 雪崩效應:密碼中某一個字符改變,那麼整個加密後的密鑰都會改變
- linux的密碼加密方式使用單向加密算法,并且添加随機數(salt)計算得出的。
- 系統識别算法ID算法名稱1md5:message digest,128bits2sha:secure hash algorithm,160bits3sha2244sha2565sha3846sha512
/etc/shadow:用戶密碼
用戶名:加密的密碼:最近一次修改密碼的時間:最短使用期限:最長使用期限:警告期段:非活動期限:過期期限:保留字段
root:$6$28Q91hEp6c..QfTj$HZFYC1hMr1/dMDpO2t51ipld329/HrPw4rbB6nguyOiglTxNtxT/ob6cCgeMW78K9tgfYPffhi8HHqHz9o.qu1::0:99999:7:::
加密密碼:使用$分隔,第一個段表示使用的加密算法,第二個段表示添加的salt。第三段表示加密後的密碼.
2、權限管理linux的文件管理權限分為讀、寫和執行
[root@k8s-master ~]# ls -l /bin/bash -rwxr-xr-x. 1 root root 960472 Aug 3 2017 /bin/bash
文件權限:
- -rwxr-xr-x.
共分為五個部分:
- -:表示文件類型
- rwx:用戶屬主的權限
- r-x:用戶屬組的權限
- r-x:其他用戶的權限
- .:是否啟用facl
權限:
- r:readable,讀
- w:wirteable,寫
- x:excuteable,執行
權限對文件的作用:
- r:可獲取文件的數據;
- W:可修改文件的數據;
- x:可将此文件運行為進程;
權限對目錄的作用:
- r:可使用ls命令獲取其下的所有文件列表;
- w:可修改此目錄下的文件列表;即創建或删除文件,包括子目錄。
x:可cd至此目錄中;且可使用ls -l來獲取所有文件的詳細屬性信息;
3.1用戶管理命令
useradd命令:創建用戶
useradd [選項] 登錄名
- -u,–uid UID:指定UID,默認是上一個用戶的UID 1
- -g,–gid GID:指定基本組ID,此組得事先存在;
- -G,–groups GROUP1[,GROUP2,……[,GROUPSN]]:指明用戶所屬的附加組,多個組之間用逗号分隔。
- -c,–comment COMMENT:指明注釋信息
- -d,–home HOME_DIR:以指定路徑為用戶的家目錄;通過複制/etc/skel此目錄并重命名實現;指定的家目錄路徑如果事先存在,則不會為用戶複制環境配置文件。
- -s,–shell SHELL:指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件中;
- -r,–system:創建系統用戶
- -M:不為用戶創建主目錄
- -f,–incative INACTIVE:在密碼過期後,賬戶被徹底禁用之前的天數,0表示立即禁用,-1表示禁用該功能。
注意:創建用戶時的諸多默認設定配置文件為/etc/login.defs
useradd -D:顯示創建用戶的默認選項配置;
useradd -D 選項:修改默認選項的值;
修改的結果保存于/etc/default/useradd文件中;可以直接修改此文件來實現。
usermod命令:修改用戶屬性
usermod [選項] 登錄名
- -u,–uid UID:修改用戶的ID為此處指定的新UID;
- -g,–group GROUP:修改用戶所屬的基本組;此組得事先存在;
- -G, –groupsGROUP1[,GROUP2,…[,GROUPN]]]:修改用戶所屬的附加組,原來的附加組會被覆蓋;
- -a, –append:與-G一同使用,用于用戶追加新的附加組;
- -c,–comment COMMENT:修改注釋信息;
- -d,–home HOME_DIR:修改用戶的家目錄;用戶原有的文件不會被轉移至新位置;
- -m,–move-home:隻能與-d選項一同使用,用于将原來的家目錄移動為新的家目錄;
- -l,–login NEW_LOGING:修改用戶名;
- -s, –shell SHELL:修改用戶的默認shell;
- -L,–lock:鎖定用戶密碼;即在用戶原來的密碼字符串之前添加一個”!”;
- -U,–unlock:解鎖用戶密碼,
userdel命令:删除用戶,
userdel [選項] 登錄名
- -r:删除用戶時一并删除其家目錄和用戶郵箱;
id命令:顯示用戶的真實和有效的UID和GID
id [OPTION]… [USERNAME]
- -u:僅顯示有效的UID;
- -g:僅顯示用戶的基本組的ID;
- -G:僅顯示用戶所屬的所有組的ID;
- -n:顯示名字而非ID;一般與g一起使用:-ng
su命令:switch user
登錄式切換:會通過重新讀取目标用戶的配置文件來重新初始化
su - USERNAME
su -l USERNAME
非登錄式切換:不會讀取目标用戶的配置文件進行初始化
su USERNAME
注意:管理員可無密碼切換至其它任何用戶;其它用戶在切換用戶時必須輸入密碼。
-c “COMMAND”:僅以指定用戶的身份運行此處指定的命令
例如:su - USERNAME -c “whoami”
3.2 用戶組管理命令
groupadd命令:添加組
groupadd [選項] group_name
- -g GID:指定GID,默認是上一個組的GID 1
- -r:創建系統組;
groupmod命令:修改組屬性
groupmod [選項] GROUP
- -g GID:修改GID
- -n new_name:修改組名
groupadd命令:删除組
groupdel [選項] GROUP
3.4 密碼管理命令
passwd命令:
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays]
[-S] [–stdin] [username]
(1)passwd:修改用戶自己的密碼;
(2)passwd USERNAME:修改指定用戶的密碼,但僅root有此權限;
- -l,-u:鎖定和解鎖用戶;
- -d:清除用戶密碼;
- -e DATE:過期期限,日期;
- -i DAYS:非活動期限,時間範圍;
- -n DAYS:密碼的最短使用期限;
- -x DAYS:密碼的最長使用期限;
- -w DAYS:警告期限;
- –stdin:
echo “PASSWORD” | passed –stdin USERNAME
[root@localhost ~]# echo "hadoop" | passwd --stdin hadoop 更改用戶 hadoop 的密碼 。 passwd:所有的身份驗證令牌已經成功更新。
gpasswd命令:
用戶組密碼文件:/etc/gshadow
gpasswd [選項] group
- -a USERNAME:向組中添加用戶,作為附加組
- -d USERNAME:從組中删除用戶
newgrp命令:臨時切換指定的組為基本組;
newgrp [-] [group]
-:會模拟用戶重新登錄以實現重新初始化其工作環境
注意:
若指定組設定了密碼:
(1)如果用戶的附加組是要切換到的組名,那麼不需要密碼可以直接切換到指定組。
(2)如果用戶的附加組不包含要切換的組名,那麼需要輸入密碼才能切換到指定組。
若指定組沒有設定密碼:所有用戶都不可以直接切換到指定組;root用戶除外。
chage命令:更改用戶密碼過期信息
[root@localhost ~]# chage list root
用法:chage [選項] 登錄
選項:
- -d, –lastday 最近日期 将最近一次密碼設置時間設為“最近日期”
- -E, –expiredate 過期日期 将帳戶過期時間設為“過期日期”
- -h, –help 顯示此幫助信息并推出
- -I, –inactive INACITVE 過期 INACTIVE 天數後,設定密碼為失效狀态
- -l, –list 顯示帳戶年齡信息
- -m, –mindays 最小天數 将兩次改變密碼之間相距的最小天數設為“最小天數”
- -M, –maxdays 最大天數 将兩次改變密碼之間相距的最大天數設為“最大天數”
- -R, –root CHROOT_DIR chroot 到的目錄
- -W, –warndays 警告天數 将過期警告天數設為“警告天數”
其他幾個命令用戶管理命令:
chsh:修改shell
chfn:修改用戶基本信息
finger:顯示用戶基本信息
[root@k8s-master ~]# finger
Login Name Tty Idle Login Time Office Office Phone Host
root root pts/0 1:10 May 29 09:21 (192.168.1.20)
root root pts/1 May 29 10:29 (192.168.1.20)
[root@k8s-master ~]#
pwck:檢查用戶的密碼是否有問題
[root@k8s-master ~]# pwck user 'ftp': directory '/var/ftp' does not exist pwck: no changes [root@k8s-master ~]#
grpck:檢查組文件的完整性
3.5 權限管理命令
chmod命令:
chmod [OPTIONS]… MODE[,MODE]… FILE… chmod [OPTIONS]… OCTAL-MODE FILE… chmod [OPTIONS]… –reference=RFILE FILE… 三類用戶: u:屬主 g:屬組 o:其它 a:所有
(1)chmod [OPTIONS]… MODE[,MODE]… FILE…
MODE表示法:
賦權表示法:直接操作一類用戶的所有權限位;
在賦予三類用戶的權限不同時,則用逗号隔開;如果相同,可以合并授權。
u=
g=
o=
a=
授權表示法:直接操作一類用戶的所有權限位r,w,x:
在賦予三類用戶的權限不同時,則用逗号隔開;如果相同,可以合并授權。
u ,u-
g ,g-
o ,o-
a ,a-
(2)chmod [OPTIONS]… OCTAL-MODE FILE…
使用十進制的數字進行授權
(3)chmod [OPTIONS]… –reference=RFILE FILE…
參考文件權限授權;
選項:
-R,–recursive:遞歸修改,對目錄下的所有文件(包括子目錄)都有效。
注意:用戶僅能修改屬主為自己的那些文件的權限;
從屬管理管理命令:chown,chgrp
chown命令:
chown [選項]… [OWNER][:[GROUP]] FILE… chown [選項]… [OWNER][.[GROUP]] FILE… chown [選項]… –reference=RFILE FILE…
選項:
-R:遞歸修改,對目錄下的所有文件(包括子目錄)都有效。
chgrp命令:
chmod [選項]… GREOUP FILE… chmod [選項]… –reference=RFILE FILE…
注意:僅管理員可修改文件的屬主和屬組;
umask:文件的權限反向掩碼,遮罩碼;
文件:
666-umask
目錄:
777-umask
注意:之所以文件用666去減,表示文件默認不能擁有執行權限;如果減得的結果中有執行權限,則需要将其加1;
umask命令:
umask:查看當前umask umask MASK:設置umask;
注意:此類設定僅對當前shell進程有效。
,