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

(0)
galamgalam
上一篇 2018-02-23
下一篇 2018-02-24

相關推薦

  • 一起學DNS系列(十四)DNS查詢工具之DIG的使用(2)

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/240243    上節談到了利用DIG的+trace參數追蹤域名解析的過程,其實除此之外,DIG還有一些其他的參數,這節會涉及到這…

    2015-03-17
  • Kickstart實現CentOS 6.5的網絡自動安裝

    1.KickStart KickStart是一種無人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預填寫的各種參數,并生成一個名為ks.cfg的文件;在其后的安裝過程中(不只局限于生成KickStart安裝文件的機器)當出現要求填寫參數的情況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,就采用找到的…

    Linux干貨 2016-10-24
  • 網絡及TCP

    為什么要使用分層網絡模型     降低復雜性     標準化接口     簡化模塊化設計     確保技術的互操作性     加快發展速度  &nbs…

    2017-05-08
  • corosync + pacemaker + iscsi實現高可用mysql (上)

    一、實驗圖   二、準備實驗環境:  1)確保sql服務器之間可以基于主機名通信 [root@SQL1 ~]# vim /etc/hosts 172.16.2.13  SQL1.linux.com  SQL1 172.16.2.14  SQL2.li…

    Linux干貨 2015-07-09
  • Linux發行版介紹

    一,Linux是什么?      Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統…

    2016-10-29
  • keepalived+nginx-upstream部署高可用反向代理

    keepalived+nginx-upstream部署高可用反向代理 實驗拓撲 實驗要求 兩個web server提供httpd服務,ip地址分別是172.18.27.201、202,掩碼是16 兩個nginx proxy提供高可用反向代理,ip地址分別是172.18.27.102、200,掩碼是16. client能夠訪問web server,使用dr模型…

    2017-05-15
欧美性久久久久