Linux的用戶,組及文件權限管理

Linux用戶與組的創建,刪除,屬性修改,文件權限管理

 

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/91629

(0)
galamgalam
上一篇 2018-02-24 14:33
下一篇 2018-02-24 14:33

相關推薦

  • 馬哥教育網絡21期+第四周練習博客

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# chmod&n…

    Linux干貨 2016-08-02
  • 腳本及變量解析

    bash腳本編程 腳本文件格式: 第一行頂格:#!bin/bash  (shebang) 注釋信息:以#開頭 代碼注釋:好的程序員必備 適量的添加縮進或添加空白行以示分割 語言:編程語言格式:庫,算法和數據結構 編程思想:      能夠把學到的編程語言的語法格式隨時轉換為解決問題的思路     &…

    Linux干貨 2016-08-12
  • bash腳本進階

    case  變量引用  in PAT1)分支1 ;; PAT2)  分支2 ;; … *) 分支n ;; esac case支持glob風格的通配符:   *:任意長度任意字符: ?:任意單個字符: [ ]:指定范圍內的任意單個字符: a|b:a或b function:函數   &nbs…

    Linux干貨 2017-05-21
  • 馬哥教育網絡班22期+第三周課程練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。  who | tr -s [[:space:]] | cut -d" " -f1 | sort -u [root@localhost cdrom]# who root     pts/1     &…

    Linux干貨 2016-09-07
  • linux下文件類型簡介

    linux下文件類型簡介 概述 文件類型縮寫及別稱 文件類型的縮寫、翻譯及別稱 文件類型 縮寫 英文 其他名稱 普通文件 – Regular file 目錄文件 d Directory file 塊設備文件 b Block special file 塊區文件 字符設備文件 c Character special file 字符設備文件 數據傳送 …

    Linux干貨 2016-10-17
  • shell腳本編程基礎

    變量的種類 ——–shell—–父shell                      &…

    Linux干貨 2017-04-16
欧美性久久久久