Linux的用戶和組管理
Linux的用戶有兩種,分別是系統管理員和普通用戶,其中普通用戶又分為系統用戶和登陸用戶;
系統用戶
:系統用戶從不登陸系統,是用來執行某些進程服務的賬號
登陸用戶
:用戶通過輸入賬號密碼登陸
用戶創建時系統至少會為其分配兩個id號,一個是用戶id即UID
,一個是組id,即GID
。
普通用戶登陸是是通過輸入賬號密碼進行登陸,Linux系統識別的并不是賬號,而是識別用戶創建時系統分配的用戶id號即UID,其中UID
分類如下:
系統管理員
:root,其id號是0;
普通用戶
:id為1-65535
系統用戶id:1-499(centOS 6),1-999(centOS 7)
登陸用戶id:500以上(centOS 6),1000以上(centOS 7)
GID分類與UID差不多:
系統管理員
:root,其id號是0;
普通用戶
:id為1-65535
系統組id:1-499(centOS 6),1-999(centOS 7)
非系統組id:500以上(centOS 6),1000以上(centOS 7)
一個用戶可以屬于多個組,分別為主組和附加組,主組名與用戶名相同,主組以外的組就是附加組。但是一個用戶只能有唯一一個UID號。
相關的配置文件:
/etc/passwd:用戶賬號的相關信息
/etc/group:用戶組的相關信息
/etc/shadow:用戶密碼相關信息,加密后存放
/etc/gshadow:用戶組密碼的相關信息
useradd
-
添加用戶
- -u:創建用戶時指定其uid
- -g:創建用戶時指定其基本id,此組要事先存在
- -c:創建用戶時給用戶添加附加組,多個組用逗號隔開
- -d:創建用戶時指定其家目錄,通過復制/etc/skel并重命名實現,指定的家目錄如果事先存在則不會為用戶復制huanj環境配置文件
- -s:創建用戶時指定其默認shell
- -r:創建系統用戶
- useradd -D:顯示創建用戶時的默認配置
- useradd -D:選項:修改默認配置 useradd -D -s /bin/csh 修改默認shell為csh
- 修改結果保存在/etc/default/useradd中
usermod
-
修改用戶屬性信息
- -u:修改用戶的uid
- -g:修改用戶所屬的基本組
- -G: 修改用戶所屬的附加組,原來的附加組會被覆蓋
- -a:用于給用戶追加新的附加組,與-G一同使用
- -c:修改注釋信息
- -d:修改用戶的家目錄,原有的家目錄不會被移動至新的家目錄
- -m:與-d一同使用,將原有的家目錄移動至新的家目錄
- -l:修改用戶名
- -s:修改用戶默認的shell
- -L:鎖定用戶的密碼,即在原來用戶的密碼字符串前加上‘!’
- -U:解鎖用戶的密碼
userdel
-
刪除用戶
- -r:刪除用戶時連同家目錄一起刪除
passwd
-
修改用戶密碼
- passwd username:修改指定用戶的密碼,僅root有此權限
- -l,-u:鎖定和解鎖用戶密碼
- -d:清除用戶密碼
- -e DATE:過期期限
- -i DATE: 非活動期限
- -n DATE:密碼最短使用期限
- -x DATE:密碼最長使用期限
- –stdin:echo “passwd” | passwd –stdin USERNAME 通常在寫腳本是會以此方式給用戶添加密碼
groupadd
-
添加組
- -g:創建組時指定組id,默認是上一個GID+1
- -r: 創建系統組
groupmod
-
修改組信息
- -g:修改GID
- -n:修改組名
groupdel
-
刪除組
- groupdel [OPTION] groupname
gpasswd
-
設置組密碼
- 用法:gpasswd group
- -a USERNAME:在組中添加用戶
- -d USERNAME:在組中移除用戶
id
-
顯示用戶相關id號信息
- -u:顯示用戶有效的UID
- -G:顯示用戶所屬的所有組id
- -g:顯示用戶的GID
- -n:顯示用戶的名字
su
-
切換用戶
- su USERNAME:以非登錄式的方式切換用戶,不會讀取用戶的配置信息
- su – USERNAME:以登錄的方式切換用戶,讀取用戶的配置信息
- su USERNAME -c ‘COMMMAND’:以用戶‘USERNAME’的身份執行‘COMMAND’
chage
-
更改用戶密碼過期信息
- chage [option] 登錄名
newgrp
-
臨時切換到指定組為基本組
- newgrp [-] [group]
- -:會模擬用戶重新登錄以實現重新初始化其工作環境
目錄或文件權限管理
文件或者目錄的權限可通過ls -l命令查看;一般文件屬于三類用戶,分別是u(屬主),g(屬組),o(其他用戶)
例如:drwxr-xr-x 3 user group 102 Mar11 22:56 Filename
drwxr-xr-x
- d:文件類型,d代表該文件為為目錄
- rwx:文件對應屬主的權限,r:可讀,w:可寫,x:可執行
- r-x:文件對應屬組的權限,r:可讀,-:不可寫,x:可執行
- r-x:文件對其他用戶的權限,r:可讀,-:不可寫,x:可執行
chmod
-
修改文件或目錄的權限
- 用法:chmod [option] mode[mode] file
賦權表示法
:操作一類用戶的所有權限- 例: chmod u=rwx file chmod a=rwx file
授權表示法
:操作一類用戶的一個權位- 例:chmod u+r file chmod g-r file
- option: -R 遞歸修改
- 參考其他文件的屬性修改目標文件:
- chmod [option] …–reference=RFILE(參考的文件) file(目標文件)
chown
-
修改文件的屬主屬組
- 用法:chown [option]…[owner][:group] file
- 參考其他文件的屬性修改目標文件:
- chown [option] …–reference=RFILE(參考的文件) file(目標文件)
- 選項:-R 遞歸修改,目錄下的文件也一同修改
chgrp
-
修改文件的屬主屬組
- 用法:chgrp [option]…[owner][:group] file
- 參考其他文件的屬性修改目標文件:
- chgrp [option] …–reference=RFILE(參考的文件) file(目標文件)
umask
-
文件權限的反向掩碼,遮掩碼
- 文件默認權限:666減去mask
- 目錄默認權限:777減去mask
-
注:文件默認權限使用666減去mask是因為文件本身不能有執行權限,如果減的結果中有執行權限則需要將其加一
- 例如:umask是023
- 此時666減去023得643,有執行權限,則將其加一變成644
- umask:查看當前umask
- umask UMSK:設置umask
-
注:此類設置只對當前shell進程有效
mktmp
-
創建臨時文件
- 用法:mktmp [option] [template]
- 選項:-d 創建臨時目錄
- 例如:mktmp file.XXX , 其中XXX用來生成隨機字符
ps:
Linux系統文件類型
通過ls -l命令查看:
- -:常規文件
- d:目錄文件
- b:塊設備文件
- c:字符設備文件
- l:鏈接文件
- p: 命令管道
- s:套接字文件
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91628