一. 使用者身份概述
設計linux系統的初衷之一就是為了滿足多個使用者同事工作的需求,因此linux系統必須具備很好的安全性。
1.使用者id——uid
在rhel7系統中,使用者身份有如下這些:
管理員uid為0:系統的管理員使用者。
系統使用者uid為1——999: linux系統為了避免因某個服務程式出現漏洞而被黑客提權至整台伺服器,預設服務程式會有獨立的系統使用者負責執行,進而有效控制被破壞範圍。
普通使用者uid從1000開始:由管理員建立的用於日常工作的使用者。
需要注意的是,uid是不能衝突的,而且管理員建立普通使用者的uid預設是從1000開始的(即使前面有閒置的號碼)。
2.組id——gid
為了方便管理屬於同一組的使用者,linux系統中還引入了使用者組的概念。通過使用使用者組號碼(gid,group identification),我們可以把多個使用者加入到同一組中,從而方便為組中的使用者統一規劃許可權或指定任務。
另外,在linux系統中建立每個使用者時,將自動建立乙個與其同名的基本使用者組,而且這個基本使用者組只有該使用者乙個人。如果該使用者以後被歸納人其他使用者組,則這個其他使用者組稱為擴充套件使用者組。乙個使用者只有乙個基本使用者組,但是可以有多個擴充套件使用者組,從而滿足日常的工作需要。
二. 常用命令
1. useradd命令
useadd 命令用於建立新的使用者,格式為「useradd [選項] 使用者名稱」。
使用該命令建立使用者賬號時,預設的使用者家目錄會被放在/home目錄中;預設的shell直譯器為/bin/bash,而且缺省會建立乙個與該使用者名稱同名的基本使用者組。
-d 指定使用者的家目錄(預設為/home/username)
-e 賬戶的到期時間,格式為 yyyy-mm-dd
-u 指定該使用者的預設uid
-g 指定乙個初始的使用者基本組(必須已存在)
-g 指定乙個或多個擴充套件使用者組
-n 不建立與使用者同名的基本使用者組
-s 指定該使用者的預設shell直譯器
[root@rockman home]# ls
hk workdir
[root@rockman home]# useradd bob
[root@rockman home]# ls
bob hk workdir
2. groupadd 命令
garoupadd命令用於建立使用者組,格式為「groupadd [選項] 群組名」。
[root@rockman home]# groupadd ronny
3. usermod 命令
usermod 命令使用者修改使用者的屬性,格式為「usermod [選項] 使用者名稱」。
linux系統中一切都是檔案,因此在系統中建立使用者也就是修改配置檔案的過程。使用者的資訊儲存在/etc/passwd檔案中,可以直接用文字編輯器修改其中的使用者引數專案,也可以用usermod命令修改已經建立的使用者資訊。
4. passwd 命令
passwd命令用於修改使用者密碼、過期時間、認證資訊等,格式為「passwd [選項][使用者名稱]」。
普通使用者只能使用passwd命令修改自身的系統密碼,而root管理員則有權修改其他所有人的密碼。更酷的是,root管理員在linux系統中修改自己或他人的密碼時不需要驗證舊密碼,這一點特別方便。
既然root管理員可以修改其他使用者的密碼,就表示完全擁有該使用者的管理許可權。passwd命令中可用的引數以及作用如下。
-l 鎖定使用者,禁止其登入
-u 解除鎖定,允許使用者登入
--stdin 允許通過標準輸入修改使用者密碼,如echo"newpassword" | passwd --stdin username
-d 試該使用者可以空密碼登入系統
-e 強制使用者在下次登入時修改密碼
-s 顯示使用者的密碼是否被鎖定,以及密碼所採用的加密演算法名稱
#修改當前使用者密碼(root)
[root@rockman /]# passwd
changing password for user root.
new password:
bad password: the password is a palindrome
retype new password:
passwd: all authentication tokens updated successfully.
#修改bob使用者密碼
[root@rockman /]# passwd bob
changing password for user bob.
new password:
bad password: the password is a palindrome
retype new password:
passwd: all authentication tokens updated successfully.
#通過標準輸入修改使用者密碼
[root@rockman /]# echo "123456" | passwd --stdin bob
changing password for user bob.
passwd: all authentication tokens updated successfully.
5. userdel 命令
userdel命令用於刪除使用者,格式為「userdel [選項] 使用者名稱」。
[root@rockman /]# id bob
uid=1001(bob) gid=1001(bob) groups=1001(bob)
#-f 強制刪除使用者 -r 同時刪除使用者及使用者家目錄
[root@rockman /]# userdel -rf bob
[root@rockman /]# id bob
id: bob: no such user
#bob資料夾已經被刪除
[root@rockman home]# ls
hk workdir
使用者身份與管理許可權管理
linux系統對使用者分配如下 系統管理員 root 系統使用者 不可登入 和普通使用者 可登入 我們登入linux系統時輸入的是賬號,但linux系統並不會直接識別賬號,而是通過我們建立賬號時系統分配的id號碼,其中,系統管理員 root id為0,可登入普通使用者id為1000 65535。et...
mac使用者丟失管理員身份
起因 試圖編輯mac電腦預設使用者資料,比如試圖改使用者名稱 試圖改home路徑之類的,有很高比率可能導致該使用者喪失管理員許可權。隨後悲劇就開始了,所有需要管理員許可權認證的地方,比如安裝了乙個新軟體,在彈出的認證視窗中,無論如何輸入使用者名稱和密碼,都無法授權通過。此時在系統設定 使用者及使用者...
使用者身份切換
su 是最簡單的身份切換命令了,它可以進行任何身份的切換。方法如下 su lm c 命令 username 引數 單純使用 如 su 代表使用 login shell 的變數檔案讀取方式來登入系統 若使用者名稱沒有加上去,則代表切換為 root 的身份。l 與 類似,但後面需要加預切換的使用者賬號。...