1. 程式人生 > >用戶和組的管理命令

用戶和組的管理命令

添加用戶 單獨 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:檢查組有沒有什麽問題

用戶和組的管理命令