首頁 > 系統教程 > Linux > 主體

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

WBOY
發布: 2024-04-05 09:10:02
轉載
983 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:itcool.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!