首頁 系統教程 Linux 用戶和用戶群組檔案在linux中的應用系統設置

用戶和用戶群組檔案在linux中的應用系統設置

Apr 05, 2024 am 09:10 AM
linux linux作業系統

ID:ChinaUnix2013

1、使用者和使用者群組檔案

在linux中,使用者帳號,使用者密碼,使用者群組資訊和使用者群組密碼均是儲存在不同的設定檔中的。

在linux系統中,所建立的使用者帳號和其相關資訊(密碼除外)都是儲存在/etc/passwd設定檔中。因為所有使用者對passwd檔案都有讀取的權限,因而密碼資訊並未保存在該檔案中,而是保存在了/etc/shadow的設定檔中。

在passwd檔案中,一行定義一個使用者帳號,每行由多個不同的陣列構成,各數組值間以":」分隔,每位陣列均代表該帳號某方面的資訊。

在剛安裝完成的linux系統中,passwd設定檔已有好多帳號資訊了,這種帳號是由系統手動建立的,她們是linux流程或部份服務程式正常運作所須要使用的帳號linux課程,這種帳戶的最後一個陣列的值通常為/sbin/nologin,表示該帳號不能拿來登陸linux系統。

在passwd設定檔中,由左至右各數組的對應關係及其涵義:

因為passwd不再保存密碼訊息,所以用x佔位代表。

若要讓某個使用者帳號無法登入linux,只要設定該使用者所使用的shell為/sbin/nologin即可。例如,對於FTP帳戶,通常只容許登陸和存取FTP伺服器,不容許登陸linux作業系統。若要讓某用戶沒有telnet權限,即不容許該用戶借助telnet遠端登陸和存取linux作業系統,則設定該用戶所使用的shell為/bin/true即可。若要讓使用者沒有telnet和ftp登陸權限,則可設定該使用者的shell為/bin/false。

在/etc/shells檔案中,若沒有/bin/true或/bin/false,則須要自動新增:

[root@localhost~]#echo"/bin/false">>/etc/shells

[root@localhost~]#echo"/bin/true">>/etc/shells

2、使用者密碼檔

為安全起見,用戶真實的密碼採用MD5加密演算法加密後,保存在/etc/shadow設定檔中,該檔案只有root用戶可以讀取。

與passwd檔案類似,shadow檔案也是每行定義和保存一個帳戶的相關資訊。第一個陣列為使用者帳戶名,第二個陣列為帳戶的密碼。

3、用戶群組帳號檔案

用戶群組帳號資訊保存在/etc/group設定檔中linux系統使用者設定檔是什麼?,任何用畝均可以讀取。使用者群組的真實密碼保存在/etc/gshadow設定檔中。

在group中,第一個陣列代表使用者群組的名稱,第二個陣列為x,第三個為使用者群組的ID號,第四個為該使用者群組的使用者成員列表,各使用者名稱間用冒號分隔。

4、新增使用者

建立或新增使用者使用useradd指令來實現,其指令用法為:

useradd[option]username

用户配置文件有()版本_linux系统用户配置文件是什么?_用户配置文件的类型

#此指令的option選項較多,常用的主要有:

-c註釋使用者設定對帳戶的註釋說明文字

-d主目錄指定拿來取代預設的/home/username的主目錄

#-m若主目錄不存在,則建立它。 -r與-m結合,可為系統帳戶建立主目錄

-M不建立主目錄

-edate指定帳戶過期的日期。日期格式為MM/DD/YY

-fdays帳號過期幾天後永久停權。若指定為-,則立刻被停權,若為-1,則關掉此功能

-g使用者群組指定將使用者加入到那個使用者群組,該使用者群組必須存在

-G用戶群組列表指定用戶同時加入的用戶群組列表,各組以逗分分隔

-n不為使用者建立私有使用者群組

-sshell指定使用者登入時使用的shell,預設為/bin/bash

#-r建立一個使用者ID大於500的系統帳戶,預設不建立對應的主目錄

-u用戶ID自動指定新用戶的ID值,該值必須惟一,且小於499

-ppassword為新建使用者指定登陸密碼。此處的password是對應登陸密碼經MD5加密後所得到的密碼值,不真實真實密碼原文,因而在實際應用中,此參數選項使用較少,一般單獨使用passwd指令來為使用者設定登陸密碼。

範例:

若要建立一個名為nisj的用戶,並作為babyfish用戶群組的成員,則操作指令為:

[root@localhost~]#useradd-gbabyfishnisj

#[root@localhost~]#idnisj

uid=502(nisj)gid=500(babyfish)groups=500(babyfish)

[root@localhost~]#tail-1/etc/passwd

##nisj:x:502:500::/home/nisj:/bin/bash

新增使用者時,若未使用-g參數指定使用者群組,則系統預設會手動建立與使用者帳號同名的私有使用者群組。若不須要建立該私有用戶群組,則可選用-n參數。

例如,新增一個名為nsj820的帳戶,但不指定使用者群組,其操作結果為:

[root@localhost~]#useraddnsj820

[root@localhost~]#idnsj820

uid=503(nsj820)gid=503(nsj820)groups=503(nsj820)

[root@localhost~]#tail-1/etc/passwd######## ###nsj820:x:503:503::/home/nsj820:/bin/bash###

[root@localhost~]#tail-2/etc/passwd

##nisj:x:502:500::/home/nisj:/bin/bash

nsj820:x:503:503::/home/nsj820:/bin/bash#系統手動建立了名為nsj820的使用者群組,ID號碼為503

建立使用者帳戶時,系統會手動建立該使用者對應的主目錄,該目錄預設會置於/home目錄下,若要改變位置,可以藉助-d參數指定;對於使用者登入時使用的shell,預設為/bin/bash,若要修改,則使用-s參數指定

例如,若要建立一個名為vodup的帳戶,主目錄置於/var目錄下,並指定登陸shell為/sbin/nologin,則操作指令為:

[root@localhost~]#useradd-d/var/vodup-s/sbin/nologinvodup

[root@localhost~]#idvodup

uid=504(vodup)gid=504(vodup)groups=504(vodup)

[root@localhost~]#tail-1/etc/passwd

##vodup:x:504:504::/var/vodup:/sbin/nologin

[root@localhost~]#tail-1/etc/group

##vodup:x:504:

5、設定帳號屬性

對於已建立好的用戶,可使用usermod指令來變更和設定帳戶的各項屬性,包括登陸名,主目錄,用戶群組,登陸shell等,該指令用法為:

usermod[option]username

部份option選項

(1)改變使用者帳號名稱

使用-l參數來實現,指令用法為:

usermod-l新使用者名稱原始使用者名稱

例如,若要將使用者nsj820改名為nsj0820,則操作指令為:

[root@localhost~]#usermod-lnsj0820nsj820

[root@localhost~]#idnsj0820

uid=503(nsj0820)gid=503(nsj820)groups=503(nsj820)

[root@localhost~]#tail-1/etc/passwd

##nsj0820:x:503:503::/home/nsj820:/bin/bash

從輸出結果可見,使用者名稱已修改為nsj0820。主目錄仍為原先的/home/nsj820,若也要修改為/home/nsj0820

linux系統使用者設定檔是什麼?

,則可透過執行下列指令來實作

[root@localhost~]#usermod-d/home/nsj0820nsj0820

[root@localhost~]#idnsj0820

uid=503(nsj0820)gid=503(nsj820)groups=503(nsj820)

[root@localhost~]#tail-1/etc/passwd

##### ###nsj0820:x:503:503::/home/nsj0820:/bin/bash### ###[root@localhosthome]#mv/home/nsj820/home/nsj0820###

(2)鎖定帳號

若要暫時嚴禁用戶登入,可將該用戶帳號鎖定。鎖定帳戶可藉助-L參數來實現,其指令用法為:

usermod-L要鎖定的帳號

linux鎖定用戶,是透過在密碼檔案shadow的密碼陣列前加上「!」來標示該用戶被鎖定。

[root@localhosthome]#usermod-Lnsj0820

[root@localhosthome]#tail-1/etc/shadow

##nsj0820:!$1$JEW25RtU$X9kIdwJi/HPzSKMVe3EK30:16910:0:99999:7:::

但透過root用戶進去,之後su到被鎖定的用戶,是可以進去的。

(3)解鎖帳號

要解鎖帳戶,可以使用帶有-U參數的usermod指令來實現。

[root@localhost~]#usermod-Unsj0820

[root@localhost~]#tail-1/etc/shadow

nsj0820:$1$JEW25RtU$X9kIdwJi/HPzSKMVe3EK30:16910:0:99999:7:::

6、刪除帳戶

要刪掉帳戶,可以使用userdel指令來實現,其用法為:

userdel[-r]帳號名稱

-r為可選項,若帶上該參數,則在刪掉該帳戶的同時,一併刪掉該帳戶對應的主目錄。

[root@localhost~]#userdel-rnsj0820

若要設定所有使用者帳戶密碼過期的時間,則可透過變更/etc/login.defs設定檔中的PASS_MAX_DAYS設定項的值來實現,其預設值為99999,代表使用者帳戶密碼永不過期。其中PASS_MIN_LEN配置項目用於指定帳戶密碼的最小寬度,預設為5個字元。

7、設定使用者登錄密碼

使用passwd指令來設置,其指令用法為:

passwd[帳號名稱]

若指定了帳號名稱,則設定指定帳號的登陸密碼,原密碼手動被覆寫。只有root使用者才有權設定指定帳號的密碼。通常使用者只能設定或更改自己帳戶的密碼(不含參數)。

例如,若要設定nisj帳號的登入密碼,則操作指令為:

用户配置文件的类型_linux系统用户配置文件是什么?_用户配置文件有()版本

#[root@localhosthome]#passwdnisj

Changingpasswordforusernisj.

Newpassword:

BADPASSWORD:itistooshort

##### ###BADPASSWORD:istoosimple###

Retypenewpassword:

passwd:allauthenticationtokensupdatedsuccessfully.

帳號登入密碼設定後,該帳號就可以登入系統了。

8、鎖定/解鎖帳號密碼及查詢密碼狀態、刪除帳號密碼

在linux中LINUX 刪除目錄,不僅使用者帳號可被鎖定外,帳號密碼也可被鎖定,任何一方被鎖定後,都將未能登入系統。只有root使用者才有權執行該指令,鎖定帳號密碼使用帶有-l選項的passwd指令,其用法為:

passwd-l帳號名稱

passwd-u帳號名稱#解鎖帳號密碼

[root@localhosthome]#passwd-lnisj

Lockingpasswordforusernisj.

passwd:Success

[root@localhosthome]#passwd-unisj

Unlockingpasswordforusernisj.

passwd:Success

要查詢目前帳戶的密碼是否被鎖定,可以使用帶有-S參數的passwd指令來實現,其用法為:

passwd-S帳號名稱

比如

[root@localhosthome]#passwd-Snisj

以上是用戶和用戶群組檔案在linux中的應用系統設置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1320
25
PHP教程
1269
29
C# 教程
1249
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

vscode上一步下一步快捷鍵 vscode上一步下一步快捷鍵 Apr 15, 2025 pm 10:51 PM

VS Code 一步/下一步快捷鍵的使用方法:一步(向後):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

See all articles