用vb做網(wǎng)站seo挖關(guān)鍵詞
作者介紹:簡歷上沒有一個精通的運維工程師。希望大家多多關(guān)注我,我盡量把自己會的都分享給大家,下面的思維導圖也是預計更新的內(nèi)容和當前進度(不定時更新)。
Linux是一個多用戶多任務操作系統(tǒng),這意味著它可以同時支持多個用戶登錄并使用系統(tǒng)。但是我們之前所有的操作都是基于超級管理員root來操作的,但是從Linux設計來說,是不推薦的。因為root的權(quán)限太大,所以才需要使用普通用戶來進行日常運維,那如果普通用戶需要做的操作需要root權(quán)限的時候又該怎么做呢?我們將通過以下幾個方面來講解。
1.Linux用戶(本章節(jié))
2.Linux用戶組
3.SU命令
4.SUDO命令
用戶介紹
Linux操作系統(tǒng)的用戶體系非常靈活,這使得它成為了一個很好的多用戶系統(tǒng)。它有三種類型的用戶:超級用戶(root),系統(tǒng)用戶和常規(guī)用戶。
-
超級用戶 (root):在Linux系統(tǒng)中,超級用戶是權(quán)限最高的用戶,被稱為根用戶,也就是root用戶。超級用戶可以執(zhí)行任何命令,包括系統(tǒng)設置、軟件安裝、用戶和權(quán)限管理等。root用戶的權(quán)限等同于Windows系統(tǒng)中的管理員權(quán)限。
-
系統(tǒng)用戶:系統(tǒng)用戶主要是為了運行某些服務或者守護進程(daemon)而創(chuàng)建的。這些系統(tǒng)用戶通常不會具有登錄shell,也就是說,它們不能直接登錄系統(tǒng)。例如,郵件系統(tǒng)會有一個名為?
mail
?的系統(tǒng)用戶,網(wǎng)頁服務器可能會有一個名為?www
?或?http
?的用戶。 -
常規(guī)用戶:這些用戶是進行日常工作的用戶,他們可以登錄系統(tǒng)并運行各種應用程序。但是,他們不能對系統(tǒng)進行修改,也不能訪問其他用戶的文件,除非這些文件被明確地賦予了訪問權(quán)限。你在安裝Linux系統(tǒng)后創(chuàng)建的第一個用戶就是常規(guī)用戶(也可以不創(chuàng)建),通常這個用戶會被賦予使用sudo命令的權(quán)限,也就是說,這個用戶可以執(zhí)行一些需要root權(quán)限的命令。
在Linux系統(tǒng)中,每個用戶都有一個唯一的用戶ID(UID),系統(tǒng)內(nèi)部通過UID來識別用戶。UID 0通常被賦予root用戶,UID 1-999一般為系統(tǒng)用戶,1000以上的UID用于常規(guī)用戶。
用戶命令
Linux 用戶管理可以通過命令行進行,以下是一些常用的用戶管理命令:
-
useradd [options] username
:創(chuàng)建新的用戶。例如?useradd -m username
?將會創(chuàng)建一個新的用戶,并創(chuàng)建用戶的主目錄。 -
passwd username
:設置或修改用戶的密碼。不加用戶名則默認修改當前用戶,只有root可以修改其他用戶的密碼。 -
userdel [options] username
:刪除用戶。例如?userdel -r username
?將會刪除用戶以及用戶的主目錄。 -
usermod [options] username
:修改用戶的信息。例如?usermod -l newname username
?將會修改用戶的用戶名。 -
groups username
:顯示用戶所屬的組。 -
id username
:顯示用戶的 UID(用戶 id)、GID(用戶組 id)以及所屬的組。 -
su username
:切換到其他用戶。例如?su - username
?將會切換到用戶,并加載用戶的環(huán)境變量。 -
whoami
:顯示當前的用戶名。 -
who
:顯示當前登錄的所有用戶。 -
last
:顯示系統(tǒng)的登錄記錄。
注意在使用這些命令時可能需要 root 權(quán)限,可以使用?sudo
?命令獲取 root 權(quán)限。例如?sudo useradd username
。
用戶管理
[root@localhost?~]#?cat?/etc/passwd
root:x:0:0:root:/root:/bin/bash
#省略中間部分
nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
#省略中間部分
user01:x:1000:1000::/home/user01:/bin/bash
/etc/passwd
文件中的每一行都代表系統(tǒng)上的一個用戶賬號,每行由多個字段組成,字段之間使用冒號(:
)分隔。典型的字段包括:
-
用戶名:用戶的登錄名。
-
密碼占位符:(在現(xiàn)代系統(tǒng)中通常是?
x
)原本是存儲加密的密碼,現(xiàn)在通常是存儲在?/etc/shadow
?文件中,或者指向其他安全存儲的文件。 -
用戶 ID (UID):唯一標識符,用于系統(tǒng)內(nèi)部識別用戶。
-
組 ID (GID):該用戶所屬的主要組的標識符。
-
用戶描述:一般是用戶的全名或注釋。
-
主目錄:用戶登錄后所處的初始目錄。
-
登錄 Shell:用戶登錄后默認使用的 Shell 程序。
root 屬于超級管理員,無論用戶ID還是組ID都是0
nginx&ntp 屬于系統(tǒng)用戶,都是服務自帶的用戶,/sbin/nologin 就是不允許登錄,包括ssh和通過控制臺
user01 屬于常規(guī)用戶,屬于通過useradd 增加的用戶的,沒有nologin就是允許ssh和通過
[root@localhost?~]#?cat?/etc/shadow
root:*:18961:0:99999:7:::
#省略中間部分
ntp:!!:19885::::::
user01:!!:19893:0:99999:7:::
/etc/shadow
?文件用于存儲用戶賬號的加密密碼、密碼過期信息以及賬號是否被鎖定等敏感信息。相比于?/etc/passwd
?文件,它具有更高的安全性,因為普通用戶無法直接讀取此文件。
-
文件結(jié)構(gòu):
-
用戶名:與?
/etc/passwd
?中的用戶名對應。 -
加密密碼:使用密碼哈希算法加密后的密碼。實際密碼不會直接存儲在此處,只存儲其哈希值。
-
密碼最后更改日期:自 Unix 時間戳起,距離上次更改密碼的天數(shù)。
-
密碼更改最短天數(shù):兩次密碼更改之間的最小天數(shù)間隔。
-
密碼更改最大天數(shù):密碼的有效期,超過此期限用戶需要強制更改密碼。
-
密碼過期前警告天數(shù):密碼即將過期前,提前多少天發(fā)出警告。
-
賬號失效日期:賬號失效的日期,即停止使用該賬號的日期。
-
賬號標志:包含有關(guān)賬號當前狀態(tài)的其他信息,例如是否被鎖定等。
-
每一行對應一個用戶賬號,字段之間用冒號(
:
)分隔。 -
典型的字段包括:
-
-
訪問權(quán)限:
/etc/shadow
?文件具有非常嚴格的訪問控制,通常只有 root 用戶或具有相應特權(quán)的用戶能夠讀取和修改此文件。這是為了確保用戶密碼和賬戶信息不被未經(jīng)授權(quán)的用戶獲取。
總結(jié)
1.如果自己是一個普通運維角色,我們能拿到的賬號和密碼,應該是一個普通用戶和密碼。
2.如果自己是運維管理員的情況,則分配給其他人的賬號也只能是一個普通賬號。
3.普通用戶可以可以通過su
及sudo
命令來提升自己的權(quán)限,用于完成需要超級管理員權(quán)限才能完成運維的操作。
4.當然,這并不是標準方案,你可以根據(jù)自己的實際情況選擇。
5.有的應用程序則要求必須使用非root用戶啟動,比如es,使用root則會被提示不允許使用root啟動。