1. 程式人生 > >Linux 使用者passwd檔案詳解

Linux 使用者passwd檔案詳解

使用者管理有兩個最重要的配置檔案,一個是儲存使用者資訊的檔案/etc/passwd,一個是儲存了使用者密碼的檔案/etc/shadow

超級使用者的uid0,在/etc/passwd裡面有很多偽使用者,這些使用者是不能登入的,他們的uid1-499之間,安裝完系統就預設的添加了這些使用者。

UID0的使用者就是超級使用者。

/etc/passwd test:x:1002:1003::/home/test:/bin/bash將其改為test:x:0:1003::/home/test:/bin/bash

[[email protected] oracle]# su - test

上一次登入:一 1225 21:22:01 CST 2017pts/0

[[email protected] ~]#

可以看到test使用者變為了超級使用者,許可權和root一樣。

在使用useradd新增的使用者是普通使用者,在系統安裝完畢在/etc/passwd裡面就有許多使用者,這裡面有很多使用者並不是真正可以登入系統和使用的。

[email protected] ~]# head  -n 5 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

oracle:x:1001:1001:/home/oracle:/bin/bash

/etc/passwd裡面儲存了每一個使用者的資訊,可以使用man 5 passwd來檢視配置檔案幫助。

 (密碼檔案)裡每行一條記錄,並且每行有這樣的格式:

account:password:UID:GID:GECOS:directory:shell (帳號:密碼:使用者ID:ID:一般的資訊:目錄:shell

       欄位描述如下:

              account   使用者在系統中的名字,它不能包含大寫字母.

              password  加密的使用者密碼,或者星號。

              UID       使用者 ID 數。

              GID       使用者的主要組

ID 數。

              GECOS     這欄位是可選的,通常為了存放資訊目的而設的. 通常,它包含了使用者的全名. GECOS 意思是通用電氣綜合作業系統(General Electric Comprehen

                        sive    Operating    System,    當     GE     的大型系統部分割售賣給     Honeywell     時它被改為     GCOS.     Dennis     Ritchie

                        作過報告:"有時我們傳送印刷品或批道作業到 GCOS機器時,gcos 欄位打斷了 $IDENT 卡的資訊,不太美觀。"

              directory 使用者的 $HOME 目錄.

              shell     登入時執行的程式(如果空的,使用 /bin/sh).  如果設為不存在的執行(程式),使用者不能通過 login(1) 登入.

在密碼位的地方沒有儲存密碼。在linux裡面核心只認識數字,不認識密碼,

偽使用者一般分為兩種,一種是與linux系統相關的,一種是與程式服務相關的。比如使用shutdown關機的時候就會呼叫偽使用者的身份。在linux系統裡面任何一個程序操作都必須有一個使用者身份,這個就通過呼叫偽使用者。比如安裝了apachehttp的程序,啟動以後也要對應一個使用者身份,但是不能對應root啟動這個程序,如果別人得到這個程序相當於竊取到管理員root的許可權,這樣很危險,所以都是通過一些偽使用者,新增一些服務的偽使用者,比如apache,mysql。這些實際上是這些程序啟動之後呼叫的使用者身份

所以偽使用者最大的作用就是在一些系統操作或一些應用服務的呼叫的身份而已。

使用者組是同樣型別使用者的集合,一個使用者可以屬於多個使用者組,比如有一個使用者叫張三,可以讓其管理FTP server又可以管理web server,可以讓其同時屬於這兩個組。但是總要有一個預設的組,UID就是定義預設組的組id,新增一個一個使用者的時候如果不指定預設組,預設建立一個和使用者名稱稱相同的組並且將使用者新增進去。

在實際當中,新增一個使用者必須指定所在的組。

一個使用者屬於某個組就擁有這個組的許可權。所以使用者加入組就是讓使用者享有這個組的許可權。

描述資訊,這個部分可以寫內容也可以不寫,就是用來描述使用者資訊的,建議在新增使用者的時候寫上使用者的描述資訊。

每一個普通使用者必須要有一個宿主目錄來存放基本資訊,比如環境設定的選項,如果建立使用者不指定宿主目錄,那麼就會在/home下面建立和使用者同名的宿主目錄。

普通使用者使用的預設shell就是bashshell

如果真的要將linux做一個伺服器,那麼密碼最好使用8位或者8位以上的,大小寫數字字母的組合來組成密碼。Unix最早採用的加密演算法是des,但是des識別的密碼位只有8位,現在使用的linux大多數時候使用的是desmd5混合使用的,md5255位的。

Md5進行密碼的加密,MD5演算法對密碼的加密規則,第一個,輸入的長度不固定但是輸出的長度是固定的,不管輸入的密碼長度是6位的還是8位的,生成的加密的密碼是固定長度的值,單向不可逆的,無法通過輸出推算出輸入的值。

[[email protected] oracle]# echo "123456" | md5sum

f447b20a7fcbf53a5d5be013ea0b15af  -

[[email protected] oracle]# echo "1" | md5sum

b026324c6904b2a9cb4b88d6d61c81d1  -

可以看到不同長度的密碼最終生成的密文都是同等長度的,在設定密碼的時候強度要足夠同時應該經常修改密碼。

為什麼不在/etc/passwd裡面密碼位放上使用者的加密密碼。

因為在/tec/passwd裡面儲存了使用者的資訊,有很多命令在使用的過程當中會呼叫這些資訊,呼叫這些資訊就需要/etc/passwd這個檔案。所以檢視/etc/passwd檔案會發現每一個使用者對其都有一個讀的許可權,那麼將加密密碼放在這裡每個人都可以拿到加密過後的密碼去嘗試破解,這樣就危險了。(使用者密碼是存放在/etc/shadow裡面)

[[email protected] oracle]# ls -ld /etc/passwd

-rw-r--r--. 1 root root 2459 1225 21:25 /etc/passwd



相關推薦

Linux 使用者passwd檔案

使用者管理有兩個最重要的配置檔案,一個是儲存使用者資訊的檔案/etc/passwd,一個是儲存了使用者密碼的檔案/etc/shadow。 超級使用者的uid為0,在/etc/passwd裡面有

Linux標頭檔案

標頭檔案主目錄include 標頭檔案目錄中總共有32個.h標頭檔案。其中主目錄下有13個,asm子目錄中有4個,Linux子目錄中有10個,sys子目錄中有5個。這些標頭檔案各自的功能如下,具體的作用和所包含的資訊請參見第14章。 <a.out.h>:a.out標頭檔案,定義了

Linux /etc/profile檔案

linux /etc/profile檔案的改變會涉及到系統的環境,也就是有關Linux環境變數的東西,學習Linux要了解Linux profile檔案的相關原理,這裡對則以檔案進行具體分析。這裡修改會對所有使用者起作用。   1、Linux是一個多使用者的作業系統。每

Linux網路配置檔案

Redhat Linux的網路配置,基本上是通過修改幾個配置檔案來實現的,雖然也可以用ifconfig來設定IP,用route來配置預設閘道器,用hostname來配置主機名,但是重啟後會丟失。 Linux中網路相關的主要的幾個配置檔案為: /ect/hosts配置主機名(

關於MD5 32位和16位的區別以及linux /etc/shadow 檔案

有人說md5,128位,32位,16位,到底md5多長? md5的長度,預設為128bit,也就是128個0和1的二進位制串。 這樣表達是很不友好的。 所以將二進位制轉成了16進位制,每4個bit表示一個16進位制, 所以128/4 = 32 換成16進製表示後

linux之fstab檔案

        /etc/fstab是用來存放檔案系統的靜態資訊的檔案。位於/etc/目錄下,可以用命令less /etc/fstab 來檢視,如果要修改的話,則用命令 vi /etc/fstab 來修改。       當系統啟動的時候,系統會自動地從這個檔案讀取資訊,並且

Linux 下hosts檔案

1、主機名: 無論在區域網還是INTERNET上,每臺主機都有一個IP地址,是為了區分此臺主機和彼臺主機,也就是說IP地址就是主機的門牌號。 公網:IP地址不方便記憶,所以又有了域名。域名只是在公網(INtERNET)中存在,每個域名都對應一個IP地址,但一個IP地址可有對應多個域名。 區域網:每臺機器都有

Linux /etc/profile檔案及修改後如何立即生效(使用source命令)

Linux /etc/profile檔案的改變會涉及到系統的環境,也就是有關Linux環境變數的東西,學習Linux要了解Linux profile檔案的相關原理,這裡對則以檔案進行具體分析。這裡修改會對所有使用者起作用。  1、Linux是一個多使用者的作業系統。每個使用者

Linux下/etc/passwd和/etc/shadow檔案

Linux系統中,所有使用者(包括系統管理員)的賬號和密碼都可以在/etc/passwd和/etc/shadow這兩個檔案中找到,(使用者和密碼就放在檔案中,不怕被其他人看的或者修改嗎?/etc/passwd只有系統管理員才可以修改的,其他使用者可以檢視,/etc/shad

Linux常用命令示例(一)-檔案管理

1、touch 命令 使用說明: Linux touch命令用於修改檔案或者目錄的時間屬性,包括存取時間和更改時間。若檔案不存在,系統會建立一個新的檔案。 使用語法: touch [-acfm][-d<日期時間>][-r<參考檔案或目錄>

linux基礎3-磁碟和檔案系統相關 LINUX支援哪些檔案系統 linux下磁碟分割槽 圖文(fdisk;mkfs)

一 dumpe2fs :    在Linux使用過程中,我們如果要了解檔案系統的配置情況,可以使用dumpe2fs檢視ext2/ext3/ext4格式的檔案系統資訊。 命令格式: dumpe2fs [選項] 裝置 常用選項: -h  僅列出超級塊中的資訊

Linux(CentOS)開機自動掛載與fstab檔案

摘要: Linux中我們分完區,並做好檔案系統格式化,掛載(mount)之後才可以使用磁碟裝置。/etc/fstab是用來存放檔案系統的靜態資訊的檔案, 當系統啟動的時候,系統會自動地從這個檔案讀取資訊,並且會自動將此檔案中指定的檔案系統掛載到指定的目錄。 Linux中我們分完區,並做

Red Hat Enterprise Linux(RHEL)中yum的repo檔案

Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。 使

linux /etc/resolv.conf /etc/hosts配置檔案

/etc/resolv.conf 該檔案是由域名解析器(resolver,一個根據主機名解析IP地址的庫)使用的配置檔案該檔案是DNS域名解析的配置檔案,它的格式很簡單,每行以一個關鍵字開頭,後接配置引數。resolv.conf的關鍵字主要有四個,分別是:nameserver  

Linux Makefile與Kconfig檔案

本文章介紹了makefile跟kconfig檔案,包括編譯過程與makefile編碼規則。    編譯過程:     我們在進行linux核心配置的時候經常會執行make menuconfig這個命令,然後螢幕上會出現以下介面: &n

linux 下的連結檔案

轉載來自:http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.shtml 轉載來自:(這個哥們加工了的,各種顏色,美化)http://www.cnblogs.com/li-hao/p/4107964.html

linux檔案系統 /etc/resolv.conf 檔案

大家好,今天51開源給大家介紹一個在配置檔案,那就是/etc/resolv.conf。很多網友對此檔案的用處不太瞭解。其實並不複雜,它是DNS客戶機配置檔案,用於設定DNS伺服器的IP地址及DNS域名,還包含了主機的域名搜尋順序。該檔案是由域名解析器(resol

Linux --- SSH遠端登陸配置sshd_config檔案

ssh是linux遠端登入的安全協議,是 C/S 模式的架構,配置檔案分為伺服器端配置檔案 [/etc/ssh/sshd_config] 與客戶端配置檔案預設配置檔案[/etc/ssh/ssh_config] 使用者配置檔案[~/.ssh/config]  sshd_conf

linux中C語言標頭檔案

linux中C程式標頭檔案的種類 一類:#include<stdio.h> stdio.h檔案就在/usr/include目錄下 二類:#include<arpa/inet.h> arpa/是/usr/include目錄下的子目錄,inet.h其實是/usr/include

Linux 檔案

Linux下的壓縮解壓縮命令詳解及例項 例項:壓縮伺服器上當前目錄的內容為xxx.zip檔案 zip -r xxx.zip ./* 解壓zip檔案到當前目錄 unzip filename.zip ============================ 另:有些伺