Linux系統是一個多用戶的操作系統,但是在安裝系統時只創建了一個超級管理員用戶。useradd命令用於創建用戶,默認情況下只有系統超級用戶root才能使用。
1.useradd命令加參數-D查看系統創建賬戶的默認值
[root@localhost hcy]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
解釋:
1)新用戶添加到GID為100的公共組
2)新用戶的HOME目錄將會位於/home/username
3)新用戶賬戶密碼在過期後不會被禁用
4)新用戶賬戶未被設置為某個日期後就過期
5)新用戶賬戶將bash shell作為默認shell
6)系統會將/etc/skel目錄下的內容復制到用戶的HOME目錄下
7)系統為該用戶賬戶在mail目錄下創建一個用於接收郵件的文件
可以用-D參數後面跟一個要修改的值的參數,來修改系統默認的新用戶值。這些參數如下表:
-b default_home 更改默認的創建用戶HOME目錄的位置
-e expiration_date 更改默認的新賬戶的過期日期
-f inactive_days 更改默認的新用戶從密碼過期到賬戶被禁用的天數
-g group 更改默認的組名稱或GID
-s shell 更改默認的登錄shell
2.useradd添加賬戶和userdel刪除賬戶
[root@localhost ~]# useradd hcy
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists
[root@localhost ~]# tail -1 /etc/passwd
hcy:x:500:500::/home/hcy:/bin/bash
[root@localhost ~]# userdel -r hcy
[root@localhost ~]# useradd hcy
[root@localhost ~]# tail -1 /etc/passwd
hcy:x:500:500::/home/hcy:/bin/bash
由於我之前創建過hcy賬戶,刪除賬戶的時候沒有加-r參數,所以再次創建相同賬戶的時候會提示文件目錄或者郵箱文件夾已存在。加-r參數重新刪除賬戶再創建不會出現任何提示,然後在/etc/passwd下查看賬戶基本信息。
PS:加上參數-r,userdel會刪除用戶的HOME目錄以及mail目錄。
userdel刪除賬戶時可能會遇到以下問題:
[root@localhost /]# userdel hcy
userdel: user hcy is currently logged in
提示hcy賬戶當前狀態是已登錄,因此需要退出賬戶才能夠userdel刪除,退出用exit或者logout。
3.設置賬戶密碼
passwd 【用戶名】設置賬戶密碼,或者利用”echo “密碼”|passwd –stdin 賬戶名“修改密碼。
[root@localhost ~]# passwd hcy
Changing password for user hcy.
New password:
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo "111"|passwd --stdin hcy
Changing password for user hcy.
passwd: all authentication tokens updated successfully.
4.useradd參數
在創建用戶時,可以使用下面的命令行參數改變默認值或默認行為:
-c comment 給新用戶添加備注
-d home_dir 為主目錄指定一個名字(如果不想用登錄名作為主目錄名的話)
-e expire_date 用YYYYY-MM-DD格式指定一個賬戶過期的日期
-f inactive_days 指定這個帳戶密碼過期後多少天這個賬戶被禁用;0表示密碼一過期就立即禁用,-1表示禁用這個功能
-g initial_group 指定用戶登錄組的GID或組名
-G group ... 指定用戶除登錄組之外所屬的一個或多個附加組
-k 必須和-m一起使用,將/etc/skel目錄的內容復制到用戶的HOME目錄
-m 創建用戶的HOME目錄
-M 不創建用戶的HOME目錄(當默認設置裡指定創建時,才用到)
-n 創建一個同用戶登錄名同名的新組
-r 創建系統賬戶
-p passwd 為用戶賬戶指定默認密碼
-s shell 指定默認登錄shell
-u uid 為賬戶指定一個唯一的UID