Linux系統中的使用者管理
1.常用設定檔
使用者資訊檔案: /etc/password
密碼檔案: /etc/shadow
使用者群組檔案: /etc/group
使用者群組密碼檔案:/etc/gshadow
1.1 /etc/password檔
vim /etc/password
fubh:x:1020:1000::/home/fubh :/bin/bash
man 5 password #查看設定檔幫助
(密碼檔案)裡每行一筆記錄,並且每行都有這樣的格式:
account :password:UID:GID:GECOS:directory:shell
(帳號:密碼:使用者ID:群組ID:一般的資訊:宿主目錄:shell)
欄位描述如下:
# account 使用者在系統中的名字,且它無法包含大寫字母.
UID 使用者 ID 數。
GID 使用者的主要群組 ID 數。
GECOS 此欄位是可選擇的,且通常是為了儲存資訊目的而設的。通常,它包含了使用者的全名.
directory 使用者的$HOME 目錄.
為不存在的執行(程式),使用者無法透過login(1) 登入.)
1.1.1 使用者分類
UID=0的 是超級使用者
UID=500~ 60000 為一般使用者
UID=1~499 是偽使用者(與系統和程式服務相關)
1.2 /etc/shadow 檔案
root:# 21312sd$44:wd323%cds:14945:0:99999:7:::
使用者名稱:加密密碼:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:帳號閒置時間:失效時間:
1.3 /etc/group 檔案
vim /etc/group
sudo:x:27:web,yanghuang,zhoumin,duyp,taofh,luanqq
group_name:password:GID:user_list
(群組名稱:群組密碼:群組ID:群組成員)
2、常用指令:
新增一個使用者:useradd [-ugGdsce] 使用者名稱
useradd -g webadmin -G root,web -c 'test suer' bob
-u UID
-g 缺省所屬使用者群組GID
-G 指定使用者屬於多個群組
-d 宿主目錄
-s 指令解析器Shell
-c 描述資訊
-e 指定使用者失效時間
設定密碼:passwd 使用者名稱
修改使用者資訊:
修改使用者名稱: usermod -l 新使用者名稱為舊使用者名稱
刪除一個使用者:userdel [-r] 使用者名稱(-r 刪除使用者的宿主目錄)
為群組設定密碼: gpasswd 群組名稱
gpasswd [-adArR] 使用者名稱群組名稱
- a 將一個使用者加入某個群組
-d 將使用者從群組中刪除
-A 設定使用者群組管理員
-r 刪除使用者群組密碼
-R 禁止使用者切換為改組
例如:
gpasswd webadmin
gpasswd -a bob_fu webadmin
gpasswd -A bob_fu webadmin
gpasswd -r webadmin
#鎖定一個使用者:passwd -l jack / usermod -L jack
解鎖一個使用者:passwd -uf jack / usermod -U jack
切換所屬群組:newgrp webadmin
查看所屬群組:groups lisi
#新增群組: groupadd [-g GID] 群組名稱(檢視: grep webadmin /etc/group)
刪除群組:groupdel webadmin
群組改名:groupmod -n 新名稱舊名稱
3、其他指令:
pwck 偵測/etc/passwd檔案(鎖定檔案)
vipw 編輯/etc/passwd檔案檢視(鎖定檔案)
id 檢視使用者id和群組資訊
finger 查看使用者詳細資料
su 切換使用者(su - 使用者名稱)
passwd -S 查看使用者密碼狀態
who、w 查看目前燈虎使用者資訊
grpck 使用者群組設定檔偵測
vigr 編輯/etc/group檔案(鎖定檔案)
chage [-lmM] 設定密碼(LINUX下可用)
-l 查看使用者密碼設定chage -l jack
的最小天數
-M 密碼修改的最大天數
-d 密碼最後修改的日期
-I 密碼過期後,若定帳號的,表示密碼立即過期,若為-1則永不過期
-W 設定密碼過期前,開始警告天數
mkdir /software
#新增兩個使用者:
useradd jack
useradd mary
設定密碼:
password jack
password mary
新增一個群組
groupadd softadm
將使用者新增至群組
usermod -G softadm jack
gpasswd -a mary softadm
檢視群組成員:
grep softadm /etc/group
將目錄有root群組授權為softadm群組
chgrp softadm ./software
#給群組新增目錄寫入權限
chmod g+w ./software
例如user.info 內容如下
test01::10001:503::/home/test01:/bin/bash
test02::10002:503:: /home/test02:/bin/bash
test03::10003:503::/home/test03:/bin/bash
test04::10004:503::/home/test04:/bin/bash
test05::10005:503::/home/test05:/bin/bash
test06::10006:503::/home/test06:/bin/bash
newusers < user. info
<2> pwunconv 指令取消shadow password 功能
pwunconv
##<3> chpasswd指令匯入密碼
例如pass.info 內容如下
test01:admin+01
test02:admin+02
test03:admin+03
test04:admin+04
test05:admin+05
test06:admin+06
chpasswd
<4> pwconv 指令將密碼寫入shadow檔案
pwconv
##優化方案:寫腳本
#!/bin/bash #add-some-users.sh #The script is add some users to a new group. echo "Welcome to the add some users!" echo -n "Please input the new group(example : mygroup) : " read my_new_group groupadd $my_new_group echo -n "Add the $my_new_group group is successful!" echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" echo "Then add some users to the $my_new_group group!" echo -n "Please input the username(example: student) : " read new_user echo -n "Please input the username(begin_id)(example: 1 ) : " read begin_id echo -n "Please input the username(end_id)(example: 10 ) : " read end_id echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" for ((i=$begin_id;i<=$end_id;i++)) do #add the new_user to the my_new_group,and no add new_user's group useradd -n -g $my_new_group $new_user$i #delete the new_user password passwd -d $new_user$i chage -d 0 $new_user$i // done echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"
5.2 限制使用者su 為root
groupadd sugroupchmod 4550 /bin/su
chgrp sugroup /bin.su
ls -l /bin/ su設定後,只有sugroup群組總的使用者可以使用su切換root
sueradd bob
passwd bob
usermod -G sugroup bob
5.3 用sudo 取代su
visudo
格式:使用者名稱(群組名稱)主機位址(主機名)=指令(絕對路徑)
例如:
使用者授權:bob 192.186.9.3=/usr/sbin/useradd,/usr/sbin/userdel
群組授權: %webadmin host1=/ bin/vim /etc/httpd/conf/httpd.conf
以上是Linux系統中的使用者管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)
