我們可以使用useradd來新增使用者,密碼的給予則使用passwd這個指令,這兩個指令使用方法如下:
語法如下:
useradd [
-u uid]
[-g 初始群組]
[-g 次要群組]
[-mm]
[-c 說明檔案]
[-d 家目錄絕對路徑]
[-s shell] 使用者賬號名
選項與引數:
-u:後面跟的是uid,是一組數字,直接指定乙個特定的uid給這個賬號
-g:後面接的是初始群組,該群組的gid會被放置到/etc/passwd的第四部分中
-g:後面接的群組名稱則是這個賬號還可以加入的群組,這個選項會修改/etc/group內的相關資料
-m:強制,不建立使用者家目錄(系統賬號預設值)
-m:強制,建立使用者家目錄(一般賬號預設值)
-c:這個就是/etc/passwd第五部分的說明內容,我們可以隨意設定
-d:指定某個目錄成為家目錄,而不要使用預設值,這裡一定要使用絕對路徑
-r:建立乙個系統賬號(注意系統賬號的uid有限制)
-s:後面接乙個shell,如果沒有指定則預設/bin/bash
-e:後面接乙個日期,格式為[yyyy-mm-dd],這部分內容可寫入shadow第八部分,亦即賬號失效的設定專案錄
-f:後面接shadow的第七部分,指定密碼是否會失效。0為立刻失效,-
1為永不失效(密碼值會過期而登陸時重新設定)
使用例子:
[root@study ~
]# useradd vbird1
[root@study ~
]# ll -d /home/vbird1
drwx--
----
.3 vbird1 vbird1 74 jul 2021:
50/home/vbird1
# 缺省會建立使用者家目錄,且許可權為700,要注意這點
[root@study ~
]# grep vbird1 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird1:x:
1003
:1004::
/home/vbird1:
/bin/bash
/etc/shadow:vbird1:!!
:16636:0
:99999:7
:::/etc/group:vbird1:x:
1004
:<=
=缺省會建立乙個與賬號一摸一樣的群組名
從上面的例子可以看出,我們可以簡單使用useradd 賬號
來建立使用者,系統已經幫我們預設好了很多值。系統這些預設值主要幫我們處理如下部分:
由於在/etc/shadow內僅有密碼引數而沒有加密過的密碼資訊,因此在我們建立使用者賬號時,還需要使用passwd 賬號
來給予密碼才算是完成了使用者建立的流程。如果由於特殊需求而需要改變使用者相關引數時,就得要透過上述**中的選項來建立了,參考如下例子:
例:假設我們已經知道系統中有個群組名稱為users,且uid1500不存在,現在我們用users為初始群組,以及uid為1500來建立乙個名為vbird2的賬號
[root@study ~
]# useradd -u 1500
-g users vbird2
[root@study ~
]# ll -d /home/vbird2
drwx--
----
.3 vbird2 users 74 jul 2021:
52/home/vbird2
[root@study ~
]# grep vbird2 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird2:x:
1500
:100::
/home/vbird2:
/bin/bash
/etc/shadow:vbird2:!!
:16636:0
:99999:7
:::#可以看到,uid與初始群組確實變為我們所需要的了
了解了一般賬號後,我們接下來看下什麼是系統賬號:
例:建立乙個系統賬號,名稱為vbird3
[root@study ~
]# useradd -r vbird3
[root@study ~
]# ll -d /home/vbird3
ls: cannot access /home/vbird3: no such file or directorya <=
=不會主動建立家目錄
[root@study ~
]# grep vbird3 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird3:x:
699:
699:
:/home/vbird3:
/bin/bash
/etc/shadow:vbird3:!!
:16636::
::::
/etc/group:vbird3:x:
699:
在linux賬號與群組系統介紹中提到過,一般賬號的id在1000以後,所以使用者建立的自己的系統賬號是小於1000的,本例中指定了699作為uid,699作為gid。此外,由於系統賬號主要用來進行運作系統所需要的許可權設定,所以系統賬號預設都不會主動建立家目錄。
useradd的預設值可以使用下面的方法顯示出來:
[root@study ~
]# useradd -d
group=
100<=
=預設的群組
home=
/home <=
=預設的家目錄所在目錄
inactive=-1
<=
=密碼失效日,在 shadow 內的第 7 欄
expire=
<=
=帳號失效日,在 shadow 內的第 8 欄
shell=
/bin/bash <=
=預設的 shell
skel=
/etc/skel <=
=使用者家目錄的內容資料參考目錄
create_mail_spool=yes <=
=是否主動幫使用者建立郵件信箱(mailbox)
這些資訊其實儲存在/etc/default/useradd中,上面這些設定的意義是: linux賬號管理
1.使用者身份切換 su 不要忘了執行完了要用exit命令離開su的環境 sudo 例如 sudo u sshd touch tmp sshd sudo可以在切換的使用者下進行相關的命令操作 預設只要root可以執行sudo,其他使用者若要使用必須要看 etc sudoers檔案是否有該使用者的設定...
Linux賬號管理
1.三類使用者 1 屬主 u 2 屬組 g 用來方便的指派許可權,並不真實存在 3 其他 o 2.使用者識別符號 1 使用者id uid 2 群組id gid 3.使用者類別 1 管理員 uid 0 2 普通使用者 uid 1 65535 a 系統使用者 1 499,看版本 不允許登入系統 b 一般...
Linux賬號管理
1.新增與移除使用者 useradd 1 檢視useradd which useradd,adduser,ls lwhich useradd 2 useradd u uid g 初始群組 g 次要群組 mm c 說明欄 d 家目錄絕對路徑 s shell 使用者賬號 u 指定乙個uid給這個賬號 g...