1. 程式人生 > >手動建立Linux賬戶

手動建立Linux賬戶

分為以下步驟:

  1.新增使用者賬戶基本組;

  2.新增賬戶資訊;

  3.新增賬戶密碼;

  4.複製家目錄;

  5.修改家目錄許可權;

  6.建立賬戶完成,登入測試。

 

以建立test賬戶為例,賬戶名:test,基本組:testgrp,密碼:testpwd。

1.新增使用者賬戶基本組:

①在/etc/group檔案下追加使用者基本組:

/etc/group檔案存放的是使用者組的資訊,其中每行含義為 組名:密碼:組id:使用者列表;

②使用命令 nano /etc/group 編輯group檔案,在檔案尾部追加內容testgrp:x:2018儲存退出,此處的組id為2018只是示例,具體的參照自己實際情況。

2.新增賬戶資訊:

①在/etc/passwd檔案下追加帳戶資訊:

/etc/passwd檔案存放的是使用者資訊,每行含義為 賬戶名:密碼:賬戶id:組id:註解:家目錄:使用者shell;

②使用命令 nano /etc/passwd 編輯passwd檔案,在檔案尾部追加內容 test:x:2226:2018:testname:/home/test:/bin/bash儲存退出,其中的x只是密碼佔位

符而已,真正的密碼在/etc/shadow檔案中儲存。

3.新增賬戶密碼:

①在/etc/shadow檔案中追加帳戶密碼資訊:

/etc/shadow檔案是存放密碼資訊的檔案。每行含義為賬戶名:加鹽的密碼:修改日期:密碼不可改的天數:密碼過期天數:密碼警告天數:密碼過期的寬限:帳號失效日期:保留位;

這個加鹽密碼儲存的結構如下:

賬戶名:這個不用做過多解釋,賬戶名與/etc/passwd裡面的賬戶名是一一對應的關係。

密碼:這裡可以看到3類,分別是奇奇怪怪的字串、*和!!其中,奇奇怪怪的字串就是加密過的密碼檔案。星號代表帳號被鎖定,雙歎號表示這個密碼已經過期了。奇

怪怪的字串是以$6$開頭的,表明是用SHA-512加密的,$1$ 表明是用MD5加密的、$2$ 是用Blowfish加密的、$5$“是用SHA-256加密的。

密碼的獲取方法:

使用openssl命令 生成加鹽的md5密碼

openssl -passwd -1 -salt '12345678',然後輸入密碼會得到加鹽後的密碼,

將密碼複製即可。注意:引數為-1(數字)而不是-l(字母),“12345678”為鹽,後續輸入的

才是密碼。

修改日期:這個是表明上一次修改密碼的日期與1970-1-1相距的天數。

修改日期的計算方法為:

獲取系統從1970-1-1日到當前的秒數,除以每天的秒數(86400)就可以得到修改日期了。

獲取秒數:date +%s

開啟計算器:bc

    例如:1503354270/86400

密碼不可改的天數:假如這個數字是8,則8天內不可改密碼,如果是0,則隨時可以改。

密碼需要修改的期限:如果是99999則永遠不用改。如果是其其他數字比如12345,那麼必須在距離1970-1-1的12345天內修改密碼,否則密碼失效。

修改期限前N天發出警告:比如你在第五條規定今年6月20號規定密碼必須被修改,系統會從距離6-20號的N天前向對應的使用者發出警告。

密碼過期的寬限:假設這個數字被設定為M,那麼帳號過期的M天內修改密碼是可以修改的,改了之後賬戶可以繼續使用。

帳號失效日期:假設這個日期為X,與第三條一樣,X表示的日期依然是1970-1-1相距的天數,過了X之後,帳號失效。

保留:被保留項,暫時還沒有被用上。

②使用nano /etc/shadow編輯shadow檔案,追加內容行:

test:$1$12345678$Sx03Gy86On0pOXXdarGbj.:17399:0:99999:7:::儲存退出。

4.複製家目錄:

複製骨架目錄(/etc/skel)到家目錄(/home/賬戶名)下:cp -r /etc/skel /home/test

5.修改家目錄許可權:

修改家目錄屬主、屬組、其它使用者的許可權並且修改家目錄檔案許可權:

①修改家目錄及檔案的屬主和屬組:chown -R test.testgrp /home/test/

引數-R為遞迴 第一個test是屬主, 第二testgrp是屬組,中間可以用“.”或":"隔開;

②將家目錄檔案許可權全都修改為除屬主外不可訪問:chmod -R go= /home/test

引數-R為遞迴,go的g代表group組,o代表other其他使用者,另外還有u代表user使用者和a代表all所有(ugo)。go= ,就代表使用者屬組和其他使用者對檔案沒有任何許可權。

6.建立賬戶完成,登入測試:

使用su test命令切換到test帳號,

id test、finger test檢視賬戶資訊,

ls -l /home/test檢視家目錄許可權這些資訊是否都正確。