0. 如何新建用戶
Linux下新建用戶需要使用useradd
和passwd
命令
最基礎的使用方法如下:
useradd <username> # 新建一個名為<username>的用戶
passwd <username> <password> # 為該用戶設定密碼為<password>
1. 新建用戶的最佳實踐
不過作為服務器管理員,有時候我們需要連帶着完成一些其他的目的
例如修改用戶的默認shell(默認的/bin/sh功能太少,甚至不能使用方向鍵和Tab鍵)
以及為新用戶指定home目錄的位置
於是我們可以這么使用
useradd -d <homedir> -m -s /bin/bash <username>
對上述命令的翻譯:
新建用戶<username>
-s
:指定shell到/bin/bash
-d
:指定其home目錄為<homedir>
-m
:如果指定的home目錄不存在,則新建
P.S. 對useradd
命令的Usage翻譯:
【待翻譯】
Usage: useradd [options] LOGIN
useradd -D
useradd -D [options]
Options:
--badnames 對用戶名不做檢測
-b, --base-dir BASE_DIR 為新建的用戶指定home目錄到BASE_DIR下
--btrfs-subvolume-home use BTRFS subvolume for home directory
-c, --comment COMMENT GECOS field of the new account
-d, --home-dir HOME_DIR 指定home目錄
-D, --defaults print or change default useradd configuration
-e, --expiredate EXPIRE_DATE 新用戶賬戶的過期時間
-f, --inactive INACTIVE password inactivity period of the new account
-g, --gid GROUP 為新用戶指定用戶組(組名或者GID)
-G, --groups GROUPS list of supplementary groups of the new
account
-h, --help 顯示幫助信息
-k, --skel SKEL_DIR use this alternative skeleton directory
-K, --key KEY=VALUE override /etc/login.defs defaults
-l, --no-log-init do not add the user to the lastlog and
faillog databases
-m, --create-home 為此用戶創建home目錄
-M, --no-create-home 不為此用戶創建home目錄
-N, --no-user-group 不為此用戶創建同名的用戶組
-o, --non-unique allow to create users with duplicate
(non-unique) UID
-p, --password PASSWORD encrypted password of the new account
-r, --system create a system account
-R, --root CHROOT_DIR directory to chroot into
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
-s, --shell SHELL 為新用戶指定shell(例如/bin/bash)
-u, --uid UID 為新用戶指定UID
-U, --user-group create a group with the same name as the user
-Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user mapping
--extrausers Use the extra users database