此篇博客是根據視頻要求寫的,因為馬哥在視頻中說了,用戶組、權限在linux運維過程中比較重要,所以一定要深入學習
首先,先介紹一下用戶、組與權限是什么:
用戶:用戶時指你在服務器上的標識,通過不同類型的用戶,你享受到不同的待遇,而待遇就是權限的大小。每個用戶在服務器上都有唯一的id標識,即使你將此用戶刪除,再建一個與 此用戶相同名稱的用戶,你也不是此用戶了,因為每個用戶的id號是唯一的。
用戶還分為超級用戶(管理員) 系統用戶與普通用戶。其實系統用戶也是普通用戶,只是因為系統中某些進程需要以用戶的身份運行,但是不想給于管理員的權限,所以就 創建了一個不能交互登錄系統的用戶,就是系統用戶。系統用戶通常只在后臺運行。普通用戶時最常見的用戶,在系統中只能進行一般操作,在不授權的情況下無法進行敏 感操作。
組:說白了就是一堆用戶的集合,管理員為方便管理權限,講一堆用戶加入到一個組來,然后授予此組特定的權限,而后在組內的用戶都可以享受到此組的權限了。組也分為管理員組與普 通組,其中普通組由系統組與登陸組組成。每個用戶被創建時,默認會自動創建一個與用戶同名且id號相同的組,此組為用戶的基本組。對應的,用戶也可以為了享受其他組權限而添加其他的組,即為附加組。基本組一般還會被稱為私有組,因為此組只包含同名用戶,而附加組被稱為共有組,因為組內會包含多個用戶。
權限:通俗的講,就是你所代表的角色在服務器能在服務器中干什么,和一個文件(夾)可被什么樣的角色讀、寫、執行。
/etc/passwd:此文件存放著用戶信息的數據,會提供UID、GID、shell等諸多信息;
/etc/group: 此文件存放著用戶組的詳細信息,記錄著有哪些組且組內包含哪些用戶;
/etc/shadow:此文件主要記錄著用戶的密碼信息,密碼通常為加密狀態,以防密碼被竊取;
/etc/gshadow:此文件主要記錄著組密碼的信息, 密碼也是為加密樁頭。
以上文件只有管理員有更改權限,普通用戶對(g)shadow無任何權限。
用戶、組、權限的基本命令介紹:
在介紹命令之前先介紹一下UID與GID:
UID:在一臺服務器上,有諸多用戶,為了能更好的定位與識別用戶,這就產生了UID。每個用戶的UID是唯一的,其中0是超級用戶(管理員),1-499(centos6)/1-999(centos7)是為系統用 戶預留,500-60000(centos6)/1000-60000(centos7)是為普通用戶預留。
GID:即組的ID號。每個GID都對應著一個組,且是唯一的。0是root組(管理員組),1-499(centos6)/1-999(centos7)是為系統組預留,500-60000(centos6)/1000-60000(centos7)是 為普通組預留。
用戶:
添加用戶:useradd
組成格式:useradd [options] USERNAME
例如:useradd abc
options:
-u:指定UID;
-g:指定基本組(必須事先存在)
-G:指定附加組 (必須事先存在)
-d:以指定的路徑為用戶的家目錄; 通過復制/etc/skel(框架,模板)此目錄并重名實現;指定的家目錄如果事先存在,則不會為用戶復制環境配置文件;
-c: 添加描述信息;
-s: 指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件中;
-r: 創建系統用戶;
-M: 不創建用戶家目錄;
-D: 默認屬性, 等同修改/etc/login.defs 可加其他參數修改。
修改用戶屬性:usermod
組成格式 :usermod [options] USERNAME
例如:usermod -u 666 aaa
options:
–u –uid 修改uid號
-g –gid 修改基本組
-G –groups 修改附加組,原來的被覆蓋掉
-a –append 與-G一同使用,用于添加附加組
-c –comment 修改注釋信息
-d –home 修改家目錄,用戶原有的文件不會移動
-m –move-home 只能與-d使用,用于將原來的家目錄移動為新的家目錄;
-l –login 修改用戶名
-s –shell 修改bash
-L –lock 鎖定用戶密碼 即在用戶密碼字符串之前添加一個!
-U –unlock 解鎖用戶密碼
刪除用戶: userdel
組成格式:userdel [option] USER
例如:userdel aaa
option:
-r :userdel默認不會刪除用戶家目錄的,加上此選項會將家目錄一起刪除;
組:
添加組:groupadd
組成格式:groupadd [options] GROUP
例如:groupadd bbb
options:
-g:指定gid;
-r:創建系統組;
修改組的屬性:groupmod
組成格式:groupmod [options] GROUP
例如:groupmod -g 5044 bbb
options:
-g:指定GID;
-n:修改組名;
刪除組:groupdel
組成格式:groupdel GROUP
密碼管理:
修改密碼:passwd 直接使用,修改自己的密碼 (提供密碼級別的管理)
組成格式: passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inac –tivedays] [-S] [–stdin] [username]
例如:passwd root
options:
-l 鎖定用戶密碼
-u 解鎖用戶密碼
-d 刪除用戶密碼
-i days非活動時長(密碼過期后還能存活幾天)
-n days 密碼最短使用期限
-x days 密碼最長使用期限
-w days 警告期限
-e date 密碼立刻過期 (密碼過期,只需更改密碼即可)
–stdin
修改組密碼:gpasswd (默認為組添加密碼,但主要是用來管理組)
組成格式:passwd [options] GROUP
例如:gpasswd bbb
options:
-a 向組中添加用戶,成為用戶的附加組
-d 從組中移除用戶
臨時切換基本組:newgrp 臨時切換指定組為基本組,使用exit退回來 ,配合gpasswd使用。
組成格式:newgrp [option] GROUP
例如:newgrp bbb 指定bbb為臨時基本組
option:
– : 會模擬用戶重新登錄以實現重新初始化其工作環境
更改用戶密碼過期信息:chage
組成格式:chage [options] USER
例如:chage -d 0 aaa
options:
-d 指定密碼最后修改日期 -d 0 表示下次登錄必須修改密碼
-E 賬戶到期的日期,過了這天,此賬號將不可用。0表示馬上過期,-1表示永不過期。
-h 顯示幫助信息并退出
-I 密碼過期后,鎖定賬號的天數
-l 列出用戶以及密碼的有效期
-m 密碼可以更改的最小天數。為零代表任何時候都可以更改密碼。
-M 密碼保持有效的最大天數。
-W 密碼過期前,提前收到警告信息的天數。
顯示用戶真實和有效的id: id
組成格式:id [options]
例如: id -u
options:
-u 僅顯示 uid
-g 僅顯示gid
-G 僅顯示用戶附加組的id
-n name 顯示名稱,非id
切換用戶:su
組成格式:su [options] USER
例如:su – aaa
options:
su – user 登錄式切換 會通過讀取用戶的配置文件來重新初始化 –
su user 非登陸式切換 不會讀取目標用戶的配置文件進行初始化
-c ‘COMMAND’ 僅以指定用戶的身份運行此處指定的命令;
例如:用gentoo來執行 whoami命令
su – Gentoo –c ‘whoami’
查看用戶信息:finger
finger [USER]
例如:finger gentoo
臨時更改shell路徑:chsh
組成格式:chsh 回車,然后輸入 shell路徑 (shell路徑可用 cat /etc/shells查看)
顯示當前登陸用戶:whoami
檢查/etc/passwd 文件是否正確:pwck
權限:
通俗的說,就是你所代表的角色在服務器能在服務器中干什么,和一個文件(夾)可被什么樣的角色讀、寫、執行。
進程安全上下文:
當一個用戶開啟一個程序時(命令)時,相當于開啟了一個進程,而這個進程的屬主與屬組就是當前用戶。
當進程對文件(夾)進行訪問時,進程會會比對文件(夾)的屬主與進程屬主是否相同,如果相同,則應用屬主權限,如果不同,則會檢查屬組是否相同,如果相同,則應用屬組的權限,如果不同,只能應用other的權限。
各權限的說明:
r:可讀,如果是目錄,則可以ls目錄下的所有文件;
w:可寫,如果是目錄,可修改目錄下的文件列表,即刪除或創建文件;
x:如果是文件,可以被執行,如果是目錄,可以cd到此目錄當中,且可以ls -l來獲取所有文件的詳細屬性信息。
mode:rwxrwxrwx 權限
ownership: user,group 從屬
例如:
注:d代表目錄
紅色部分代表屬主的權限;
藍色部分代表屬組的權限;
紫色部分代表other的權限;
綠色部分代表屬主;
黃色部分代表屬組。
權限組合極值:讀寫執行位置固定;
— 000 0
–x 001 1
-w- 010 2
-wx 011 3
r– 100 4
r-x 101 5
rw- 110 6
rwx 111 7
權限修改:chmod
組成格式:chmod [options] <mode> FILE/DIR
options:
-R :默認修改目錄權限無法被其子目錄傳承,使用此項后可將權限應用于子目錄;
–reference=/var/log/messages fstab 解釋:將fstab的權限改成messages
mode:表示法:
賦權表示法:
u=
g=
o=
a=
授權表示法:
u+ u-
g+ g-
o+ o-
a+ a-
八進制表示法:
4:可讀
2:可寫
1:可執行
例如:754:屬主可讀可寫可執行,屬組可讀可執行,其他可讀。
從屬關系管理:chown chgrp(此命令功能可被chown實現,所以基本不用)
組成格式:chown [option] <user.group|user|.group> FILE/DIR
options:
-R:同上,使得子目錄基礎父目錄的從屬關系。
–reference=參考對象 需修改的文件(夾): 同上,參考修改。
例如:
查看設置反碼:umask
umask:查看文件的權限反向掩碼 遮罩碼 (文件默認不能擁有執行權限)如果有有執行權限則需要將其+1 例如:權限是3,就要加1成為4
只對當前shell有效
設置:
umask MASK
例如:
復制文件同事設置文件屬性:install
組成格式:install [options] SOURCE TARGET (復制文件同時設置文件屬性;與cp用法基本一樣 注:僅管理員能修改屬主與屬組)`
-m 設定目標文件權限,否則默認為755
-o 設定屬主
-g 屬組
-d 創建目錄
舉例 1:
install –o archlinux -g mygrp -m 640 /etc/inittab /tmp/inittab
舉例 2:
原創文章,作者:N25_韓奇洋,如若轉載,請注明出處:http://www.www58058.com/60774
贊~~總結的不錯,能注意下排版會更好~加油~