歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux賬戶管理詳解

當用戶登陸Linux系統時,Linux將做如下檢查:

1)在/etc/passwd文件裡匹配輸入的用戶名,獲取該用戶名的UID和GID(其中GID和/etc/group關聯) 、Home目錄和Shell設置

2)在/etc/shadow裡核對該用戶的密碼

/etc/passwd文件結構

這個文件的每一行代表一個賬號,如下所示:

oracle:x:501:501::/home/oracle:/bin/bash

1. 用戶名

2. 密碼:早期的密碼放在該字段,但如今的密碼已單獨放在/etc/shadow裡,所以該字段已經沒有意 義,用'x'占位

3. UID:

0:root

1~499:系統賬號,如bin,daemon,adm,nobody等

>=500:普通用戶賬號

4. GID:與/etc/group關聯

5. 用戶信息說明:一般沒什麼用,為空

6. 主文件夾

7. 默認shell

/etc/shadow文件結構

oracle:$6 $AsOW5s9y$1JhRl0RYwGN48TVNMqF6sFrTKbo9.tvdHUR.xeFHzoFIqtzWnTrBE7oa99qlXOIRidfQyNPcGyS9eX2Ajy .Od0:16024:0:99999:7:::

1. 用戶名

2. 加密過的密碼

3. 最近更改密碼的日期:改日期是一個整數,表示從1970年1月1日開始累加的天數。

4. 密碼不可被更改的天數(與第3個字段相比):0表示密碼隨時可被修改。

5. 密碼需要更改的天數(與第3個字段相比):表示用戶必須在這個天數內更改密碼,否則將不可用 ,99999(273年)表示無需更改

6. 密碼需要更改期限前的警告天數(與第5個字段相比)

7. 密碼過期後的賬號寬限天數(與第5個字段相比)

8. 賬號失效日期

9. 保留字段

/etc/group文件結構

<pre code_snippet_id="120630" 

snippet_file_name="blog_20131220_3_6260776" name="code" 

class="plain">oinstall:x:501:  
dba:x:503:oracle</pre>  
<pre></pre>  
1. 用戶組名

2. 用戶組密碼:已移至/etc/gshadow

3. GID

4. 屬於該用戶組的賬號

上面的例子中,oracle同時屬於oinstall和dba兩個組,但為什麼oinstall的第4列為空呢?這是因為 它是初始用戶組(即oracle登陸後的用戶組),而dba不是。

下面我們再看看什麼是有效用戶組,雖然某個用戶可以屬於多個用戶組,但同一時刻,只能有一個有 效用戶組(默認情況下為初始用戶組),我們可以通過groups命令查看:

[oracle@lx16 ~]$ groups  
oinstall dba

如上所示,排在第一位的就是有效用戶組,如果你想改變當前的有效用戶組,可以通過newgrp命令:

[oracle@lx16 ~]$ newgrp dba  
[oracle@lx16 ~]$ groups  
dba oinstall

賬號管理

useradd

useradd用於新建用戶,它的默認值可以通過如下命令獲得:

# useradd -D  
GROUP=100  
HOME=/home  
INACTIVE=-1  
EXPIRE=  
SHELL=/bin/bash  
SKEL=/etc/skel  
CREATE_MAIL_SPOOL=yes

也就是說,當你使用useradd username命令添加用戶時,將采用以上的默認值。下面看幾個例子:

useradd zhuxj  --創建一個默認的用戶  
useradd -u 700 -g users zhuxj  --指定uid為700,用戶組為users  
useradd -r zhuxj --創建一個系統用戶

passwd

在用useradd創建了賬戶之後,默認情況下,該賬戶是被鎖住的,需要通過passwd命令為該用戶設置密 碼。

passwd zhuxj --修改zhuxj的密碼

passwd --修改自己的密碼

usermod

和useradd很像,用於修改用戶

userdel

刪除用戶,其用法如下:

userdel [-r] username

-r:連同home目錄一起刪除

 

Copyright © Linux教程網 All Rights Reserved