
用戶和組
用戶和組是非常重要的概念,主要用于控制對系統(tǒng)資源的訪問和權(quán)限管理。
介紹
用戶
Linux系統(tǒng)中的每個用戶都由一個唯一的用戶名標識,用戶可以屬于一個或多個組。用戶的詳細信息通常存儲在/etc/passwd文件中。該文件中的每一行都代表一個用戶,其中包含7個字段,它們分別是:
- 用戶名
- 密碼
- 用戶ID(UID) 用戶的唯一標識
- 組ID(GID) 表明用戶的基本組是誰
- 用戶全名或注釋
- 用戶主目錄的路徑
- 用戶默認的Shell程序的路徑
組
在Linux系統(tǒng)中,組是一組用戶的集合,每個組都有一個唯一的組名和組ID(GID)。組的詳細信息通常存儲在/etc/group文件中。該文件中的每一行都代表一個組,其中包含4個字段,它們分別是:
- 組名
- 組密碼(已加密)
- 組ID(GID)
- 組成員
skel
在Linux中,skel是指骨架(Skeleton)的縮寫,通常用于在創(chuàng)建新用戶時自動設(shè)置用戶的默認環(huán)境。skel文件夾通常位于/etc/skel目錄下,該目錄中包含一些文件和目錄,它們被用作新用戶的默認文件和目錄。
**當創(chuàng)建新用戶時,系統(tǒng)會自動復(fù)制/etc/skel目錄中的所有文件和目錄到新用戶的主目錄中。**這些文件和目錄包括用戶的shell配置文件(例如.bashrc和.profile),以及一些默認的模板文件(例如.desktop文件),可以幫助新用戶快速上手并使用系統(tǒng)。
通過編輯/etc/skel目錄下的文件和目錄,管理員可以自定義新用戶的默認環(huán)境。例如,可以添加自定義的shell腳本、設(shè)置默認的終端和編輯器、設(shè)置默認的桌面環(huán)境等等。這樣可以使得新用戶在創(chuàng)建時擁有一個與系統(tǒng)當前環(huán)境相似的默認環(huán)境。
需要注意的是,skel文件夾中的文件和目錄對已經(jīng)存在的用戶沒有任何影響,它們只會影響新用戶的默認環(huán)境。如果需要修改已經(jīng)存在用戶的環(huán)境,需要手動修改他們的配置文件或目錄。
家目錄下的三個腳本文件
.bash_logout 用戶退出的時候自動執(zhí)行
.bash_profile 用戶登錄的時候執(zhí)行
.bashrc 進入新的bash環(huán)境的時間執(zhí)行
如何正確的選擇腳本文件
用戶個性化設(shè)置:
只對當前用戶生效,就修改家目錄下的.bashrc或者.bash_profile文件
全局生效,針對所有用戶生效 ,系統(tǒng)設(shè)置 /etc/bash_profile /etc/bashrc
useradd
useradd
是一個 Linux 命令,用于創(chuàng)建新用戶賬戶
選項
語法
useradd [選項] 用戶名
-
-c
:用于指定用戶的注釋。注釋通常包括用戶的姓名、電話號碼、郵箱等信息。 -
-d
:用于指定用戶的主目錄。如果不指定,則默認為/home/用戶名
。 -
-g
:用于指定用戶的初始登錄組。 -
-m
:如果指定了-d
選項,則使用該選項可以創(chuàng)建用戶的主目錄。 -
-s
:用于指定用戶的默認 shell。如果不指定,則默認為/bin/bash
。 -
-u
:用于指定用戶的 UID。如果不指定,則會自動分配一個未被使用的 UID。
使用
查看passwd文件
[root@localhost home]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
查看用戶sc的信息
[root@localhost home]# id sc1
uid=1001(sc1) gid=1001(sc1) 組=1001(sc1)
沒有指明組,會自動創(chuàng)建跟用戶同名的組
- 創(chuàng)建用戶的時候指定基本組和附加組
[root@localhost home]# useradd -g sc1 -G sc sc2
-g 指定基本組 :只有一個
-G 指定附加組 :可以有多個
指定某個組就擁有了這個組的權(quán)限了、方便管理
[root@localhost home]# id sc2
uid=1002(sc2) gid=1001(sc1) 組=1001(sc1),1000(sc)
-
指定用戶id
[root@localhost home]# useradd -u 2000 sc3 -u創(chuàng)建的時候指定id [root@localhost home]# id uid=0(root) gid=0(root) 組=0(root) 環(huán)境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
-
創(chuàng)建用戶的時候,不指定用戶id是,默認情況下,id會在前一個用戶的基礎(chǔ)上加一
[root@localhost home]# useradd sc4
[root@localhost home]# id
uid=0(root) gid=0(root) 組=0(root) 環(huán)境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
- 指定用戶的說明信息
[root@localhost home]# useradd -c "test sc5" sc5
>-c指定用戶的說明信息
[root@localhost home]# grep sc5 /etc/passwd
sc5:x:2002:2002:test sc5:/home/sc5:/bin/bash
- 指定用戶的家目錄
>普通情況下,一個普通用戶,只能在家目錄
[root@localhost home]# useradd -d /opt/home/sc6 sc6
>-d 指定家目錄
useradd:無法創(chuàng)建目錄 /opt/home/sc6
[root@localhost home]# grep sc6 /etc/passwd
sc6:x:2003:2003::/opt/home/sc6:/bin/bash
- 指定用戶登錄的shell
[root@localhost home]# useradd -s /bin/sh sc7
[root@localhost home]# grep sc7 /etc/passwd
sc7:x:2004:2004::/home/sc7:/bin/sh
[root@localhost home]# su - sc7
-sh-4.2$ 登錄shell
需要注意的是,useradd
命令只能被 root 用戶或者具有 sudo 權(quán)限的用戶執(zhí)行。如果沒有指定密碼,則新用戶無法登錄系統(tǒng)。
useradd命令在后臺做了那些工作,手工新建用戶。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IemYOo8T-1685365645928)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20230519183437340.png)]
-
修改/etc/passwd,在文件末尾添加信息
hellow:x:6688:6688:wudangpai:/home/hellow:/bin/bash
-
修改/etc/shadow,設(shè)置密碼,這里設(shè)置為空
hellow::19496:0:99999:7:::
-
修改/etc/group
wudangpai:x:6688:
-
新建家目錄
[root@localhost ~]# mkdir /home/hellow
-
復(fù)制環(huán)境變量初始化腳本到家目錄下
[root@localhost skel]# cp /etc/skel/.* /home/hellow/
-
新建一個郵箱
[root@localhost mail]# touch /var/spool/mail/hellow
截止目前,我們已經(jīng)可以切換當
hellow
用戶,因為是root新建用戶的,所有切換到hellow用戶
后不完全適合用戶的需求。[hellow@localhost ~]$ mkdir aa mkdir: 無法創(chuàng)建目錄"aa": 權(quán)限不夠
[hellow@localhost ~]$ ll -d /home/hellow drwxr-xr-x 2 root root 62 5月 19 18:42 /home/hellow
這個時候我們需要修改家目錄相關(guān)的權(quán)限。修改家目錄相關(guān)的權(quán)限是為了確保該用戶能夠正常訪問和使用自己的家目錄。
同樣的我們也需要修改郵箱的相關(guān)權(quán)限。
-
,修改家目錄相關(guān)的權(quán)限
[root@localhost mail]# chown hellow:wudangpai /home/hellow/ [root@localhost mail]# chmod 700 /home/hellow [root@localhost mail]# ll -d /home/hellow drwx------ 2 hellow wudangpai 62 5月 19 18:42 /home/hellow
-
修改郵箱的相關(guān)權(quán)限
[root@localhost mail]# chown hellow:mail /var/spool/mail/hellow [root@localhost mail]# chmod 660 /var/spool/mail/hellow
重新登錄hellow
,
[hellow@localhost ~]$ mkdir aa
[hellow@localhost ~]$ ls
aa
可以看到用戶hellow
已經(jīng)可以執(zhí)行基本的功能了。
以上就是手工新建用戶的全部過程了。
usermod修改郵箱的相關(guān)權(quán)限
usermod命令用于修改現(xiàn)有用戶的屬性和設(shè)置。通過使用usermod命令,管理員可以修改用戶的用戶名、用戶ID、主目錄、默認shell、附加組等屬性。
選項
語法
usermod [選項] 用戶名
其中,用戶名指要修改的現(xiàn)有用戶的用戶名。選項用于指定要進行的修改操作,下面是一些常用選項的介紹:
-
-l
: 修改用戶的用戶名。 -
-u
: 修改用戶的用戶ID。 -
-d
: 修改用戶的主目錄。 -
-s
: 修改用戶的默認shell。 -
-G
: 修改用戶所屬的附加組。 -
-a
: 將用戶添加到指定的附加組中。 -
-c
: 修改用戶的備注信息。
使用
- 修改用戶的用戶名:
usermod -l newusername oldusername
- 修改用戶的用戶ID:
usermod -u 1001 username
- 修改用戶的主目錄:
usermod -d /home/newdir username
- 修改用戶的默認shell:
usermod -s /bin/bash username
- 修改用戶的附加組:
usermod -G group1,group2 username
- 將用戶添加到指定的附加組中:
usermod -aG groupname username
- 修改用戶的備注信息:
usermod -c "New comment" username
需要注意的是,usermod命令需要使用root用戶或具有sudo權(quán)限的用戶來執(zhí)行。
userdel
userdel
是一個 Linux 命令,用于刪除用戶賬戶
選項
語法
userdel [選項] 用戶名
-
-r
:刪除用戶賬戶和主目錄以及用戶的郵箱目錄。這個選項應(yīng)該謹慎使用,因為它會徹底刪除用戶的所有數(shù)據(jù),包括文件和文件夾。如果你想要保留用戶的主目錄,不要使用該選項。 -
-f
:強制刪除用戶賬戶。如果用戶當前正在登錄系統(tǒng),或者用戶的某些進程正在運行,userdel
默認會拒絕刪除該用戶,但是使用-f
選項可以強制刪除用戶賬戶。 -
-Z
:將用戶的 SELinux 安全上下文設(shè)置為默認值
使用
- 刪除一個用戶賬戶:
userdel john
- 刪除一個用戶賬戶和主目錄:
userdel -r john
- 強制刪除一個用戶賬戶:
userdel -f john
- 刪除多個用戶賬戶:
userdel alice bob charlie
需要注意的是,userdel
命令只能被 root 用戶或者具有 sudo 權(quán)限的用戶執(zhí)行,否則會提示權(quán)限不足。
chpasswd
在Shell中,chpasswd是一個用于批量修改用戶密碼的命令。它允許你通過腳本或命令行一次性修改多個用戶的密碼,而不需要逐個手動輸入。
chpasswd命令通常使用文本文件作為輸入,該文件包含了用戶名和對應(yīng)的新密碼。它將讀取文件中的每一行,將用戶名和密碼分開,并將新密碼設(shè)置給相應(yīng)的用戶。
以下是chpasswd命令的詳細解釋:
用法:chpasswd [選項]
選項:
-c, --crypt-method METHOD 使用指定的加密方法對密碼進行加密
-e, --encrypted 密碼已經(jīng)是加密的形式
-h, --help 顯示幫助信息并退出
-m, --md5 使用 MD5 加密算法加密密碼
-R, --root CHROOT_DIR 在指定的 chroot 目錄中執(zhí)行操作
-s, --sha-rounds ROUNDS 使用 SHA 加密算法加密密碼,并指定循環(huán)次數(shù)
要使用chpasswd命令,你需要具有root權(quán)限或sudo權(quán)限。
chpasswd命令常用選項的解釋如下:
- -c, --crypt-method METHOD:可以指定加密方法。常用的加密方法包括DES、MD5和SHA。如果不指定加密方法,chpasswd將使用系統(tǒng)默認的加密方法。
- -e, --encrypted:使用這個選項表示輸入的密碼已經(jīng)是加密的形式。
- -m, --md5:使用MD5算法加密密碼。
- -s, --sha-rounds ROUNDS:使用SHA算法加密密碼,并指定循環(huán)次數(shù)。
chpasswd命令的典型用法如下:
- 從文件中讀取用戶名和密碼:
$ chpasswd < password_file.txt
password_file.txt是一個包含用戶名和密碼的文本文件,每行一個用戶,用冒號(:)分隔用戶名和密碼。例如:
user1:password1
user2:password2
- 使用加密密碼:
$ echo "user1:$6$4sLTwmYs$TlT2Sdz1W9GfYRoUZGruO4ZRA" | chpasswd -e
上述命令中的密碼已經(jīng)是經(jīng)過加密的,使用-e
選項告訴chpasswd命令密碼已經(jīng)是加密形式。
- 使用不同的加密方法:
$ echo "user1:password1" | chpasswd -c SHA
上述命令將使用SHA加密算法來加密密碼。
需要注意的是,chpasswd命令會直接修改密碼,而不會進行任何確認。因此,在使用該命令時要小心,確保輸入的密碼是正確的并且你具有相應(yīng)的權(quán)限。
mkpasswd
當在CentOS 7的Shell中使用mkpasswd
命令時,它用于生成加密密碼。這個命令在Linux系統(tǒng)中常用于創(chuàng)建安全的用戶密碼,特別適用于自動化腳本和系統(tǒng)配置文件。下面是對mkpasswd
命令的超詳細解釋。
語法
mkpasswd [選項]... [密碼]
選項
-
-l, --length <長度>
:指定生成密碼的長度。默認情況下,生成的密碼長度為9個字符。 -
-d, --method <方法>
:指定生成密碼的加密方法??梢赃x擇以下加密方法之一:des
、md5
、sha-256
、sha-512
。默認使用md5
方法。 -
-R, --rounds <輪數(shù)>
:對于使用SHA-256和SHA-512加密方法,指定密碼散列的輪數(shù)。默認值為5000。 -
-s, --salt <鹽>
:為密碼加密指定自定義鹽值。 -
-S, --sha-rounds <輪數(shù)>
:對于使用SHA-256和SHA-512加密方法,指定密碼散列的輪數(shù)。與-R
選項功能相同。
密碼
可以通過兩種方式提供密碼:
- 在命令行中直接指定密碼作為參數(shù)。
- 將密碼通過標準輸入流傳遞給
mkpasswd
命令。
如果沒有提供密碼參數(shù),則會提示用戶輸入密碼。
示例
- 使用默認設(shè)置生成一個9個字符長度的MD5加密密碼:
$ mkpasswd
輸出:
s3cr3tP4ss
- 使用DES方法生成一個12個字符長度的加密密碼:
$ mkpasswd -l 12 -d des
輸出:
3KhMjJbE9.oI.
- 使用SHA-512方法生成一個16個字符長度的加密密碼,并指定自定義鹽值:
$ mkpasswd -l 16 -d sha-512 -s mySalt
輸出:
$6$mySalt$32xqDW8wO1iGV5MjgSDU4gXQ2lsJ6oZPFSKQm7UuavPCNpOIZrQQDEOHgmfY4eDjWWxDV8TWlGoo6GMz8zqeh/
以上是對mkpasswd
命令的超詳細解釋。該命令的主要功能是生成加密密碼,以增加密碼的安全性。使用時,根據(jù)實際需求選擇合適的密碼長度和加密方法,并妥善保管生成的密碼。
chomd
在Shell中,chmod
命令用于修改文件或目錄的權(quán)限。chmod
是"change mode"(改變模式)的縮寫。通過使用chmod
命令,你可以添加或刪除文件或目錄的讀取、寫入和執(zhí)行權(quán)限。以下是chmod
命令的詳細介紹和使用方法:
語法:
chmod [選項] 模式 文件或目錄
選項:
-
-R
:遞歸地修改目錄及其子目錄中的文件權(quán)限。
模式:
模式用于指定要應(yīng)用的權(quán)限更改。它可以使用以下格式之一:
-
數(shù)字形式:使用三個數(shù)字表示權(quán)限,每個數(shù)字范圍是0-7。第一個數(shù)字表示所有者權(quán)限,第二個數(shù)字表示群組權(quán)限,第三個數(shù)字表示其他用戶權(quán)限。每個數(shù)字對應(yīng)的權(quán)限如下:
- 0:無權(quán)限
- 1:執(zhí)行權(quán)限
- 2:寫權(quán)限
- 3:寫和執(zhí)行權(quán)限
- 4:讀權(quán)限
- 5:讀和執(zhí)行權(quán)限
- 6:讀和寫權(quán)限
- 7:讀、寫和執(zhí)行權(quán)限
例如,chmod 755 file.txt
將文件file.txt
的權(quán)限設(shè)置為所有者具有讀、寫和執(zhí)行權(quán)限,群組和其他用戶具有讀和執(zhí)行權(quán)限。
-
符號形式:使用符號來表示權(quán)限更改。符號形式由以下組成:
- 權(quán)限類別:u(所有者)、g(群組)、o(其他用戶)、a(所有用戶)
- 操作符:+(添加權(quán)限)、-(刪除權(quán)限)、=(設(shè)置權(quán)限)
- 權(quán)限:r(讀權(quán)限)、w(寫權(quán)限)、x(執(zhí)行權(quán)限)
例如,chmod u+x file.txt
將文件file.txt
的所有者添加執(zhí)行權(quán)限。
文件或目錄:
表示要修改權(quán)限的目標文件或目錄的路徑。
示例用法:
-
設(shè)置文件的讀寫權(quán)限:
chmod +rw file.txt
這將為文件
file.txt
添加讀取和寫入權(quán)限。 -
設(shè)置目錄及其子目錄中文件的執(zhí)行權(quán)限:
chmod -R +x directory
這將遞歸地為目錄
directory
及其子目錄中的所有文件添加執(zhí)行權(quán)限。 -
設(shè)置群組和其他用戶的只讀權(quán)限:
chmod go-w file.txt
這將刪除文件
file.txt
的群組和其他用戶的寫權(quán)限。 -
使用數(shù)字形式設(shè)置文件的權(quán)限:
chmod 644 file.txt
這將為文件
file.txt
設(shè)置權(quán)限為所有者具有讀寫權(quán)限,群組和其他用戶具有只讀權(quán)限。
chmod
命令允許你根據(jù)需要更改文件或目錄的權(quán)限。它是管理文件系統(tǒng)權(quán)限的重要工具,在Shell腳本、系統(tǒng)管理和文件權(quán)限管理中廣泛使用。請注意,更改文件權(quán)限可能需要管理員權(quán)限或所有者權(quán)限。
chown
在Shell中,chown
命令用于更改文件或目錄的所有者(用戶)和所屬組。chown
是"change owner"(改變所有者)的縮寫。通過使用chown
命令,你可以將文件或目錄的所有權(quán)轉(zhuǎn)移給其他用戶或組。以下是chown
命令的詳細介紹和使用方法:
語法:
chown [選項] 用戶名[:組名] 文件或目錄
選項:
-
-R
:遞歸地修改目錄及其子目錄中的所有文件和目錄的所有者。
用戶名:
表示要將文件或目錄的所有者更改為的用戶名。
組名:
(可選)表示要將文件或目錄的所屬組更改為的組名。如果未提供組名,則默認為與用戶名相同的組名。
文件或目錄:
表示要更改所有者和所屬組的目標文件或目錄的路徑。
示例用法:
-
更改文件的所有者:
chown john file.txt
這將將文件
file.txt
的所有者更改為用戶john
。 -
更改文件的所有者和所屬組:
chown mary:users file.txt
這將將文件
file.txt
的所有者更改為用戶mary
,所屬組更改為users
。 -
遞歸地更改目錄及其子目錄中的所有文件和目錄的所有者:
chown -R john:users directory
這將遞歸地將目錄
directory
及其子目錄中的所有文件和目錄的所有者更改為用戶john
,所屬組更改為users
。
注意事項:
- 使用
chown
命令可能需要管理員權(quán)限或所有者權(quán)限,因為只有所有者或管理員才能更改文件的所有者。 - 如果你只想更改文件的所屬組而不更改所有者,請使用冒號分隔用戶名和組名,如
chown :users file.txt
。
chown
命令在Shell中是一個重要的權(quán)限管理工具,允許你更改文件和目錄的所有者和所屬組。它在系統(tǒng)管理、文件共享和安全設(shè)置方面非常有用。請確保在使用chown
命令時謹慎操作,以免意外更改了文件的所有權(quán)。
改變屬主
[root@localhost shell-test]# chown sc1 h.sh
[root@localhost shell-test]# ls -al h.sh
-rwxr-xr-x. 1 sc1 root 32 4月 10 15:22 h.sh
第一種修改屬主和數(shù)組:
[root@localhost shell-test]# chown sc1:sc2 h.sh
[root@localhost shell-test]# ls -al h.sh
-rwxr-xr-x. 1 sc1 sc2 32 4月 10 15:22 h.sh
第二種修改屬主和數(shù)組:
[root@localhost shell-test]# chown sc1.sc3 h.sh
[root@localhost shell-test]# ls -al h.sh
-rwxr-xr-x. 1 sc1 sc3 32 4月 10 15:22 h.sh
切換當前環(huán)境
在Linux中,切換用戶時可以選擇是否切換當前環(huán)境,這取決于使用的命令以及切換用戶的方式。下面是CentOS 7中幾種常見的切換用戶方式及其對當前環(huán)境的影響:
- su命令:使用su命令切換用戶時,默認不會切換當前環(huán)境。也就是說,切換到新用戶后,環(huán)境變量、工作目錄、umask等都會保持原來的值。如果需要切換環(huán)境,可以使用“su -”或“su -l”選項。
- sudo命令:使用sudo命令切換用戶時,默認會保留當前用戶的環(huán)境。也就是說,切換到新用戶后,環(huán)境變量、工作目錄、umask等都會保持當前用戶的值。如果需要切換環(huán)境,可以使用“sudo -i”或“sudo -H”選項。
- login命令:使用login命令切換用戶時,默認會切換當前環(huán)境。也就是說,切換到新用戶后,環(huán)境變量、工作目錄、umask等都會變成新用戶的值。如果需要保留當前環(huán)境,可以使用“l(fā)ogin -f”選項。
需要注意的是,切換用戶時會導(dǎo)致環(huán)境變量、工作目錄等的改變,可能會影響當前進程的運行。因此,在切換用戶前應(yīng)該確認當前進程的狀態(tài),以避免不必要的錯誤。
su
介紹
su
是一個 Linux 命令,用于切換當前用戶身份到另一個用戶身份。
語法
su [選項] [用戶名]
以下是 su
命令常用的選項:
-
-
: 使用該選項可以切換到另一個用戶的環(huán)境,包括環(huán)境變量、工作目錄等。 -
-c
:用于執(zhí)行一個命令??梢允褂迷撨x項在切換用戶身份后立即執(zhí)行一個命令,并在命令執(zhí)行完成后切換回原來的用戶身份。 -
-s
:用于指定 shell??梢允褂迷撨x項指定要使用的 shell,如果不指定,則默認使用/bin/sh
。
使用
su sc1
直接切換到sc1用戶,不切換當前的環(huán)境
su - sc1
直接切換到sc1用戶,并且切換當前的環(huán)境
sudo
介紹
在Linux系統(tǒng)中,sudo是一種授權(quán)管理工具,可以允許用戶以另一個用戶身份執(zhí)行命令。通常情況下,sudo需要管理員授予用戶權(quán)限才能使用。
使用
- 安裝sudo
在大多數(shù)Linux系統(tǒng)中,sudo已經(jīng)預(yù)裝了。如果沒有,可以通過包管理工具進行安裝。以Ubuntu系統(tǒng)為例,可以使用以下命令安裝sudo:
sudo apt-get update
sudo apt-get install sudo
- 配置sudo
在安裝完sudo后,需要進行配置才能使用??梢酝ㄟ^以下步驟進行配置:
a. 添加用戶到sudo組
在Linux系統(tǒng)中,sudo命令是由sudo組授權(quán)的用戶才能使用的。因此,首先需要將用戶添加到sudo組中??梢允褂靡韵旅钐砑佑脩舻絪udo組:
sudo usermod -aG sudo username
其中,username是要添加的用戶名。
b. 編輯sudoers文件
sudoers文件是sudo的配置文件,存儲著哪些用戶可以使用sudo命令以及可以執(zhí)行哪些命令??梢允褂靡韵旅罹庉媠udoers文件:
sudo visudo
vim /etc/sudoers
在sudoers文件中,可以添加以下內(nèi)容:
username ALL=(ALL) ALL
其中,username是要允許使用sudo命令的用戶名。
- 使用sudo
在配置完sudo后,可以使用以下命令以root用戶身份執(zhí)行命令:
sudo command
其中,command是要執(zhí)行的命令。
需要注意的是,使用sudo命令需要謹慎,因為執(zhí)行的命令具有root用戶的權(quán)限,可以對系統(tǒng)造成損害。建議只在必要的情況下使用sudo命令,并且在使用前仔細確認要執(zhí)行的命令。
使用sudo切換當前環(huán)境
在Linux系統(tǒng)中,sudo命令可以切換到另一個用戶的身份來執(zhí)行命令。如果需要切換到另一個用戶的環(huán)境下執(zhí)行命令,可以使用sudo -i或sudo -E命令。
- sudo -i
使用sudo -i命令可以切換到另一個用戶的身份,并進入該用戶的登錄shell環(huán)境。這意味著,用戶環(huán)境變量、工作目錄等會被切換到新用戶的值。使用以下命令切換到root用戶的環(huán)境:
sudo -i
在切換到root用戶的環(huán)境后,可以執(zhí)行需要root權(quán)限的命令。
- sudo -E
使用sudo -E命令可以切換到另一個用戶的身份,并保留當前用戶的環(huán)境變量。這意味著,用戶環(huán)境變量、工作目錄等不會被切換到新用戶的值。使用以下命令切換到root用戶的環(huán)境:
sudo -E command
其中,command是要執(zhí)行的命令。
需要注意的是,在使用sudo命令切換到另一個用戶的身份時,需要謹慎確認要執(zhí)行的命令,并避免對系統(tǒng)造成不必要的損害。
/etc/sudoers
/etc/sudoers
是一個配置文件,用于定義sudo
命令的授權(quán)規(guī)則和權(quán)限限制。它規(guī)定了哪些用戶或用戶組可以以超級用戶(root)的權(quán)限執(zhí)行特權(quán)命令。
以下是關(guān)于/etc/sudoers
文件的詳細說明:
-
文件位置:
/etc/sudoers
文件位于Linux系統(tǒng)中的根目錄下。它是一個系統(tǒng)級別的文件,只能由超級用戶(root)進行編輯。 -
文件格式:
/etc/sudoers
文件的格式是基于特定的語法規(guī)則。通常使用visudo
命令來編輯此文件,以確保語法正確且文件完整。 -
用戶授權(quán):
/etc/sudoers
文件中的條目定義了哪些用戶或用戶組有權(quán)使用sudo
命令以及可以執(zhí)行的特權(quán)命令。以下是一些常用的授權(quán)示例:用戶名 主機=(授權(quán)用戶) 命令
其中,
用戶名
指定了具有sudo權(quán)限的用戶,主機
表示可以使用sudo的主機或主機組(通常使用ALL表示所有主機),(授權(quán)用戶)
指定了該用戶可以切換到的授權(quán)用戶,命令
表示可以以sudo權(quán)限執(zhí)行的命令。 -
命令別名:
/etc/sudoers
文件支持命令別名的定義。通過使用Cmnd_Alias
關(guān)鍵字,可以將一組復(fù)雜的命令定義為別名,以簡化文件中的授權(quán)規(guī)則。[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-jK2g5Tqz-1685365645930)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20230519181916649.png)]
這里定義了
USERMANAGER
擁有用戶的新增、刪除、修改密碼、用戶組的新增、ip等功能。 -
特殊用戶和組:
/etc/sudoers
文件中有一些特殊的用戶和用戶組,其中包括:-
root用戶:
root ALL=(ALL:ALL) ALL
表示root用戶可以在所有主機上執(zhí)行所有命令,相當于無限制的特權(quán)。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Mw58o7OI-1685365645930)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20230519182201333.png)]
這表示用戶
sc98
擁有USEMANAGER、NERWORKING
等功能。-
%sudo組:
%sudo ALL=(ALL:ALL) ALL
表示sudo組中的用戶可以在所有主機上執(zhí)行所有命令。 -
%sudo用戶組:
%sudo ALL=(ALL) NOPASSWD:ALL
表示sudo用戶組中的用戶可以在所有主機上執(zhí)行所有命令,而無需輸入密碼。[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JRMojh7e-1685365645930)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20230519182348452.png)]
這表示用戶組
xiyouji
擁有USEMANAGER、NERWORKING
等功能,只有用戶屬于xiyouji
組就可以使用該組的所有功能了。
-
root用戶:
-
權(quán)限限制:
/etc/sudoers
文件中可以定義對sudo命令的進一步限制。例如,可以限制用戶使用sudo時必須輸入密碼,或者可以限制用戶只能在特定的終端或主機上使用sudo。 -
注釋: 在
/etc/sudoers
文件中,使用#
符號可以添加注釋。注釋對于提供文件的可讀性和可維護性非常有用。
請注意,編輯/etc/sudoers
文件時要非常小心,以免意外更改或刪除授權(quán)規(guī)則,導(dǎo)致系統(tǒng)不可訪問或安全風險。為了避免錯誤,建議始終使用visudo
命令來編輯文件,
login
介紹
在Linux系統(tǒng)中,login是一個命令行工具,用于登錄到系統(tǒng)中。在登錄時,login會要求用戶輸入用戶名和密碼,并根據(jù)用戶提供的信息驗證身份。如果驗證成功,login會啟動用戶的登錄shell,并將用戶的工作目錄設(shè)置為HOME目錄。
使用
- 打開終端窗口
在Linux系統(tǒng)中,可以通過按下Ctrl+Alt+T組合鍵打開終端窗口。
- 輸入用戶名和密碼
在終端窗口中,輸入登錄用戶名和密碼,按下Enter鍵確認。
login new_user
其中,new_user是要登錄的新用戶的用戶名。
- 進入登錄shell
如果輸入的用戶名和密碼正確,login會啟動該用戶的登錄shell,并將用戶的工作目錄設(shè)置為HOME目錄。文章來源:http://www.zghlxwxcb.cn/news/detail-461771.html
需要注意的是,在使用login命令登錄到系統(tǒng)后,用戶的環(huán)境變量、別名等都是新的。如果用戶需要保留當前環(huán)境,可以使用su命令切換用戶身份,或者在當前用戶下使用sudo命令執(zhí)行需要root權(quán)限的命令。文章來源地址http://www.zghlxwxcb.cn/news/detail-461771.html
到了這里,關(guān)于Linux-有關(guān)用戶和組的命令詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!