Linux中賬號與許可權管理

賬號與許可權管理

一,管理使用者賬號和組賬號

使用者賬號:超級使用者,普通使用者,程式使用者
組賬號:基本組(私有組),附加組(公共組)
UID:使用者標識號;GID:組標識號

使用者賬號

超級使用者;
root使用者,對本機擁有至高無上的許可權。只有當進行系統管理,維護任務時,才建議使用root使用者登入系統,日常事務處理建議使用普通使用者賬戶【root擁有對系統的最高的管理許可權ID=0】
普通使用者:
普通使用者賬號需要由root使用者或其他管理員使用者建立,擁有的許可權受到一定限制,一般只在使用者自己的宿主目錄中擁有完整許可權。
程式使用者:
在安裝Linux系統及部分應用程式時,會新增一些特定的低許可權使用者賬戶,這些使用者一般不允許登入到系統,而僅用於維持系統或某個程式的正常執行,如bin,daemon,ftp,mail等偽使用者,一般不會用來登入系統,主要維持某個服務的正常執行,如:ftp,apache

組賬號

基本組(私有組)
附加組(公共組)
基本組:基於某種特定聯絡(如都需要訪問FTP服務)將多個使用者集合在一起,即構成一個使用者組,表示該組內所有使用者的賬號稱為組賬號。每一個使用者賬號至少屬於一個組,這個組稱為該使用者的基本組(或私有組):
附加組:若該使用者同時還包含在其他的組中,則這些組稱為該使用者的附加組(或公共組)。
UID:每個使用者的身份標識(身份證)
管理員組:root,0(固定為0)
普通組:GID
系統組:1-499(centos6),1-999(centos7)
普通組:500+(centos6) , 1000+(centos7)
【附加組(一個人兩個及以上職位)】

1./etc/passwd:使用者賬號檔案

儲存檔名稱、宿主目錄、登入shell等基本資訊,每一行對應一個使用者的賬號記錄
root : x : 0 : 0 : root:/root:/bin/bash

root:使用者賬號

x:密碼佔位符 x表示無密碼

第一個0:使用者賬號ID

第二個0:組賬號ID

第一個root:使用者說明

第二個root:宿主目錄

/bin/bash:登入shell

這裡的每個字元不代表實際操作上就是這個字元 x、0和root只是替代
passwd檔案賬號記錄詳細說明

root : x : 0 : 0:root: / root : / bin / bash詳解如下:

root:使用者名稱,使用者名稱僅是為了方便使用者記憶。Linux系統是透過UID來識別使用者身份,分配使用者許可權。
x:表示此使用者設有密碼,但不是真正的密碼,真正的密碼儲存在/etc/shadow檔案
Linux系統把真正的加密密碼串放置在/etc/shadow檔案中,此檔案只有root使用者可以瀏覽和操作,最大限度地保證了密碼的安全。
補充:

注意! ! !,雖然"x"並不表示真正的密碼,但也不能刪除,如果刪除了

"x",那麼系統會認為這個使用者沒有密碼,從而導致只輸入使用者名稱而不用輸入密碼就可以登陸(只能在使用無密碼登入,遠端是不可以)。
0:使用者賬號的UID 號。
0:所屬基本組賬號的GID號
root:描述性資訊,此欄位只是用來解釋這個使用者的意義而已
/root:宿主目錄,即該使用者登入後所在的預設工作目錄
注:通常稱為使用者的主(家)目錄。例如: root主目錄為/root,普通使用者odysee的主目錄為/home/odysee/bin/bash錄 shell等資訊,使用者完成登入後使用的

2./etc/shadow:使用者賬號檔案

儲存使用者的密碼,賬號有效期等資訊
/etc/ shadow(影子檔案)

/etc/ shadow檔案只有root使用者擁有讀許可權,其他使用者沒有任何許可權,這樣就保證了使用者密碼的安全性

和/etc/passwd 檔案一樣,檔案中每行代表一個使用者,同樣使用":"

作為分隔符,不同之處在於,每行使用者資訊被劃分為9個欄位
第一列:賬戶名
第二列:存放真正加密的密碼,採用SHA512雜湊演算法,更加安全

!!和*表示沒有密碼不能登陸,新建立使用者也是!!,如果密碼前面顯示雙感嘆號表示該賬戶被鎖定了
第三列:上一次修改密碼的時間,從1970年1月1日開始算的,因為1970年是linux的誕生日,date -d"1970-01-01 15775 days"可以檢視哪一天改過
第四列:多久之後才可以修改密碼,如果是0,則密碼可以隨時修改
第五列:密碼有效期,預設99999,表示永久生效
第六列:密碼到期前的第幾天發出告警資訊,預設是7天,每次登入系統都會向該賬戶發出"修改密碼”的警告資訊
第七列:密碼過期的寬限天數,過期後的幾天還是可以登陸的,如果過了寬限天數,系統將不再讓此賬戶登陸,也不會提示賬戶過期,是完全停用
第八列:賬號失效時間,使用自1970年1月1日以來的總天數作為賬戶的失效時間
第九列:保留,未使用
chage命令
用來修改帳號和密碼的有效期限,針對目前系統已經存在的使用者chage[選項]使用者名稱
-m:密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。
-M:密碼保持有效的最大天數。chage -M 60 root
-w:使用者密碼到期前,提前收到警告資訊的天數。
-E:帳號到期的日期。過了這天,此帳號將不可用。
-d:上一次更改的日期。
-i:停滯時期。如果一個密碼已過期這些天,那麼此帳號將不可用。
-l:例出當前的設定。由非特權使用者來確定他們的密碼或帳號何時過期。
例: chage -E 2019-04-29 test//其中,tet為使用者,使用者將在2019年4月29日失效(不可登入)
chage -d 2019-06-30 test

/設定test使用者最後一次修改密碼的日期為2019年6月30日
chage -d 0 test

//則代表該test使用者需立即修改密碼
date -d "+45 days" -u/如果不知道時間可以用date檢視

-u:UTC時間

2.useradd:新增使用者賬號

user add 【選項】使用者名稱
UID最大上限42億
新增使用者賬號

-u:指定使用者的UID號,要求該UID號碼未被其他使用者使用。
-d:指定使用者的宿主目錄位置(當與-M一起使用時,不生效)。
-e:指定使用者的賬戶失效時間,可使用YYYY-MM-DD的日期格式。
-g:指定使用者的基本組名((或使用GID號)。
-G:指定使用者的附加組名(或使用GID號) 。
-M:不建立宿主目錄,即使/etc/login.defs系統配置中已設定要建立宿主目錄。
-s:指定使用者的登入shell。
useradd zhangsan

id zhangsan

tail -l /etc/passwd tail -1 /etc/ shadowls / home
建立一個輔助管理員賬號

admin,將其基本組指定為"wheel",附加組指定為"root",宿主目錄指定為"/admin"useradd -d / admin -g wheel -G root admin

id admin

3.passwd:設定/更改使用者口令

passwd [選項] 使用者名稱
useradd xyh
echo "123456" |passwd –stdin 使用者名稱 用於批次設定更改密碼
呼叫管道符,給xyh新使用者設定密碼,為了方便系統管理,passwd命令提供了–stdin選項,用於批次給使用者設定初始密碼
-d :清空指定使用者的密碼,僅使用使用者名稱即可登入系統
-l :鎖定使用者賬號
-S: 檢視使用者賬號的狀態(是否被鎖定)
-u: 解鎖使用者賬號

4.usermod:修改使用者賬戶屬性

-l :更改使用者賬號的登入名稱(login name)
-L: 鎖定使用者賬戶
-U: 解鎖使用者賬戶
-u: 修改使用者的uid號
-d: 修改使用者的宿主目錄位置
-e :修改使用者的賬戶失效時間
-g: 修改使用者的基本組名
-G: 修改使用者的附加組名
-s: 指定使用者的登入shell

5.userdel:刪除使用者賬戶

userdel -r 使用者名稱:連使用者的宿主目錄一併刪除
【userdel 使用者名稱,後,並沒有完全刪除,
userdel -rf 使用者名稱可強制刪除】

6.使用者賬號的初始配置檔案

檔案來源:新建使用者賬號時,從/etc/skel賬號模板目錄中複製而來,基本上是隱藏檔案。
主要的使用者初始配置檔案:
.bash_logout: 在使用者每次退出登入時執行
【在當前使用者登出時,列印logout和當前時間
echo "logout, date"】
.bash_profile: 使用者每次登入時被執行
.bashrc: 每次載入"/bin/bash"程式(登入系統)時執行(可以新增使用者自己設定的可執行語句,以便自動完成相應的任務)
【每次修改.bashrc後,使用source ~/.bashrc(或者 . ~ / .bashrc)就可以重新載入,生效】
一般會在 .bashrc _profile檔案中顯示呼叫 .bashrc
登入linux啟動bash時首先會先讀取~/ .bash_profile檔案,這樣~/.bashrc也就得到執行,個性化設定也就生效了
【關於環境變數的讀取順序:
使用者登入—-載入 /.bash_profile—-bash_profile中配置了首先是使/.bashrc生效】

7.組賬號檔案

與組賬號相關的配置檔案也有兩個,分別是/etc/group 和/etc/gshadow。前者用於儲存組賬號名稱、GID號、組成員等基本資訊,後者用於儲存組賬號的加密密碼字串等資訊(但

是很少使用到)。某一個組賬號包含哪些使用者成員,將會在 group檔案內最後一個欄位中體現出來(基本組對應的使用者賬號預設可能不會列出),多個組成員之間使用","(逗號)分隔
grep "^root" letc/group #//檢索root組包括哪些使用者

grep "root" /etc/groupl/檢索哪些組包括root 使用者
groupadd命令

groupadd[-g GID]組賬號名groupadd -g 1200 market

tail -1 /etc/group
gpasswd命令

-a:新增使用者到組
-d:從組刪除使用者
-A:指定管理員(單個)

-M:指定組成員和-A的用途差不多(多個)
-r:刪除密碼

-R:限制使用者登入組,只有組中的成員才可以用newgrp加入該組
useradd mike

gpasswd -a mike,l,w root#確認mike 使用者已加入 root 組
groups mike 檢視使用者屬於哪個組
groupadd:新增組賬號

8.查詢賬號資訊

finger 使用者名稱 :查詢使用者賬號的詳細資訊
w、who、users#查詢已登入到主機的使用者資訊

通常使用tty來簡稱各種型別的終端裝置,
Centos7系統,ttyl表示圖形介面,tty2-tty6表示文字介面,可以用Ctrl+Alt+F1-F6切換。
按ctr1+A1t+F2登陸,執行w命令,檢視使用的終端就是tty2
User:登入使用者名稱

TTY:登入後系統分配的終端號From:遠端主機名,即從哪登入的login@:何時登入

IDLE:使用者空閒時間。這是個計時器,一旦使用者執行任何操作,改計時器就會被重置。JCPU:和終端連線的所有程序佔用時間。包括當前正在執行的後臺作業佔用時間

PCPU:當前程序所佔用時間

WHAT:當前正在執行程序的命令列
pts說明是用遠端工具連線的,比如1xshell,後面的數字代表登入的時間順序,越小證明登入的越早Ⅰ

二,管理目錄和檔案的屬性

1.檔案/目錄的許可權和歸屬

■訪問許可權

●讀取r:允許檢視檔案內容、顯示目錄列表

●寫入w:允許修改檔案內容,允許在目錄中新建、移動、刪除檔案或子目錄

●可執行x:允許執行程式、切換目錄
歸屬(所有權)

●屬主:擁有該檔案或目錄的使用者帳號
●屬組:擁有該檔案或目錄的組帳號
檢視目錄和檔案的屬性root 使用者、root組
如"drwxr-xr-x"和"-rw-r–r–”。許可權欄位由四部分組成,各自的含義如下所述。
第1個字元:表示該檔案的型別,可以是d(目錄)、b(塊裝置檔案)、c(字元裝置檔案)、"-”(普通檔案)、字母"l”(連結檔案)等。
第2~~4個字元:表示該檔案的屬主使用者(User)對該檔案的訪問許可權。
第5~7個字元:表示該檔案的屬組內各成員使用者(Group)對該檔案的訪問許可權。
第8~10 個字元:表示其他任何使用者 (other)對該檔案的訪問許可權。
第11 個字元:這裡的"."與 SELinux有關,目前不必關注
上述格式中,字元組合"[ugo..][+-=][rwx]"或數字組合"nnn"的形式表示要設定的許可權模式。其中,"nnn"為需要設定的具體許可權值,如"755""644"等;而“[ugoa.][+-=][rwx]"的形式中,三個組成部分的含義及用法如下所述。
"ugoa"表示該許可權設定所針對的使用者類別。"u"代表檔案屬主,"g"代表檔案屬組內的使用者,"o"代表其他任何使用者,"a"代表所有使用者 (u、g、o 的總和)。
"+-="表示設定許可權的操作動作。"+"代表增加相應許可權,"-"代表減少相應許可權,"=”代表僅設定對應的許可權。
"rwx"是許可權的字元組合形式,也可以拆分使用,如"r""rx"等。

2.chown:設定檔案和目錄的歸屬

chown_屬主檔案或目錄
chown :屬組檔案或目錄
chown屬主:屬組檔案或目錄

常用選項

●-R:遞迴修改指定目錄下所有檔案、子目錄的歸屬

3.umask

umask設定的背景:從其他人的目錄裡copy檔案過來,copy的時候發現很多檔案copy不過來,copy一個資料夾時,當前檔案把許可權修改了,結果子目錄的中的還沒有自動繼承過來,導致子目錄中的檔案copy不過來。
改變的umask值在shell退出之前或者使用新的umask命令之前一直有效,如果想永久改變umask值,需要修改自己$ H O M E目錄下的. p r o f i l e或. b a s h _ p r o f i l e檔案中。
umask 檢視umask值
永久修改:
vim .bash_proflie
重新載入:
source .bash_profile
umask 檢視
【賬戶安全
密碼複雜性:大小寫,數字,符號
安全性:賬戶密碼過期時間】
總結
使用者賬號管理(useradd,passwd、usermod.userdel)
組賬號管理(groupadd、gpasswd、groupdel)
使用者賬號檔案與組賬號檔案
查詢賬號相關資訊的命令(groups、id、finger,w)
設定目錄與檔案許可權(chmod)
設定目錄與檔案歸屬(chown)
連結:https://www.cnblogs.com/qfzr2508/p/15728427.html
                                                              (版權歸原作者所有,侵刪)

文末福利

即將步入2025年,不少小夥伴在考慮來年的工作方向。

僅目前來說,傳統運維衝擊年薪30W+的轉型方向就是SRE&DevOps崗位。

為了幫助大家早日擺脫繁瑣的基層運維工作,給大家整理了一套【2024最新運維資料高階運維工程師必備技能資料包(文末一鍵領取),內容有多詳實豐富看下圖!
共有 20 個模組
1.38張最全工程師技能圖譜
2.面試大禮包
3.Linux書籍
4.go書籍
······
6.自動化運維工具
18.訊息佇列合集
 以上所有資料獲取請掃碼
識別上方二維碼
備註:2024最新運維資料
100%免費領取
(是掃碼領取,不是在公眾號後臺回覆,別看錯了哦)


相關文章