用戶和組的管理命令
阿新 • • 發佈:2017-10-03
添加用戶 單獨 unlock 移動 mod stdin 一起 mov 系統
(一)Linux用戶和組管理
- 安全上下文模型
- 進程以其發起者的身份運行:進程對文件的訪問權限,取決於發起此進程的用戶的權限
- 系統用戶:為了能夠讓那些後臺進程或服務類進程以非管理員的身份運行,通常需要為此創建多個普通用戶,此類用戶從來不用登陸系統,僅僅需要他們的權限給進程
- groupadd:添加組
- groupadd [選項] group_name
- -g GID:自定義GID,默認是上一個組的GID加1
- -r:創建系統組
- groupmod:修改組
- groupmod [選項] group_name
- -g GID:修改GID
- -n New_Name:修改組名
- groupdel:刪除組
- groupdel [選項] group_name
- useradd:創建用戶
- file ‘which adduser‘,發現adduser是useradd的符號鏈接
- useradd [選項] User_Name
- -u/--uid UID:自定義UID,默認使用上一個用戶的UID加1
- -g/--gid Group:自定義基本組,此組必須事先存在,否則會出錯;註:Group應該是指組的名字,不是GID??
- -G/--groups Group1[,Group2...[,GroupN]]:指明用戶所屬的附加組,多個組之間用逗號分隔
- -c/--comment Comment:指明註釋信息
- -d/--home home_dir:自定義用戶家目錄
- 家目錄的創建過程是復制/etc/skel,然後重命名
- 指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件
- -s/--shell Shell:指定用戶的默認shell。
- 可用的所有shell列表存儲在/etc/shells文件
- -r/--system:創建系統用戶
- 創建用戶時的諸多默認設定配置文件為 /etc/login.defs
- useradd -D:用於顯示創建用戶的默認配置
- useadd -D 選項:修改默認選項的值
- 修改的結果保存於/etc/default/useradd文件中,也可以直接編輯此文件
- usermod:修改用戶屬性
- -u/--uid UID:修改用戶的UID
- -g/--group Group:修改用戶的基本組,這個組事先必須存在
- -G/--groups Group1[,Group2...[,GroupN]]:修改用戶的附加組,原來的附加組會被覆蓋
- -a/--append:追加附加組,和-G一起使用
- -c/--comment Comment:修改註釋信息
- -d/--home home_dir:修改用戶家目錄,用戶原有的文件不會被轉移至新位置
- -m/--move-home:移動家目錄到新位置,只有與-d結合使用才有效
- -l/--login New_Name:修改用戶名
- -s/--shell Shell:修改用戶的默認shell
- -L/--lock:鎖定用戶密碼,禁止用戶登陸,即在用戶原來的密碼字符串之前添加一個“!”
- -U/--unlock:解鎖用戶密碼
- 註:比較常用的是-a -G結合使用
- userdel:刪除用戶
- userdel [選項] User_Name
- -r:刪除用戶時,一並刪除其家目錄,默認不刪除
- passwd:修改密碼
- 單獨使用表示修改用戶自己的密碼
- passwd UserName:修改指定用戶的密碼,默認情況下,僅root用戶有此權限。root用戶修改別人密碼的時候,不需要知道原密碼。
- -l/-u:鎖定和解鎖用戶
- -d:清除用戶密碼
- -e Date:過期期限,日期
- -i Days:非活動期限,密碼過期以後還能活動幾天
- -n Days:修改密碼的最小間隔
- -x Days:修改密碼的最長使用期限
- -w Days:警告期限
- echo "Mage" | passwd --stdin docker,在腳本中通常如此使用
- gpasswd:修改組密碼,或者添加刪除用戶
- -a UserName:向組中添加用戶,用戶將以此組為附加組
- -d UserName:從組中移除用戶,用戶將不再以此組為附加組
- 給組添加密碼的作用
- 如果組沒有密碼,其他人無法把主組切換為此組
- 如果組有密碼,如果其他人的附加組包括該組,切換過來不需要密碼
- 如果組有密碼,如果其他人的附加組不包括該組,切換過來需要密碼
- 設置密碼的方法是:gpasswd GroupName,之後便會提示輸入兩次密碼
- newgrp:臨時切換指定的組為基本組
- -:加橫行表示模擬用戶重新登陸,重新初始化其工作環境
- exit退出
- chage:修改密碼的過期信息,選項和上面一樣
- id:顯示用戶的真實和有效ID信息
- 直接用表示顯示自己的
- id UserName:顯示別人的
- -u:僅顯示有效的UID
- -g:僅顯示基本組id,不顯示附加組的
- -G:顯示所有組的,基本組和附加組
- -n:顯示名字而非Id,可以和上面的選項結合使用
- su:switch user/切換用戶
- 登陸式切換/完全切換:仿佛重新登陸,重新初始化用戶的工作環境,su - UserName或者su -l UserName
- 非登錄式切換/半切換:不會重新初始化用戶的工作環境,su UserName
- root用戶切換至其它任何用戶不需要密碼,非root用戶需要給出目標用戶的密碼
- -c:不切換用戶,僅以用戶身份執行命令,例如:su - docker -c ‘whoami‘
- exit退出
- 其它幾個命令:
- chsh:修改shell
- chfn:修改用戶信息
- finger:顯示用戶信息
- pwck:檢查用戶有沒有什麽問題
- grpck:檢查組有沒有什麽問題
用戶和組的管理命令