1.linux下創建用戶
日常運維我們使用useradd命令來創建用戶,常用的命令如下:
- 不加任何參數,僅創建用戶
示例:useradd myuser
此時用戶的家目錄是/home/myuser
- -d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。
示例:useradd -d /opt/myuser -m myuser
- -g 用戶組 指定用戶所屬的用戶組。
我們創建用戶的時候會默認創建一個和用戶名相同的用戶組,但是有時有需求需要指定用戶組,可以使用-g命令來完成用戶創建,前提條件是指定的用戶組已存在
示例:useradd -g mygroup myuser
2. linux下設置用戶密碼
2.1. 基本命令
linux下設置用戶的密碼需要使用passwd命令
- root用戶修改或設置普通用戶密碼命令:
方法一:passwd 普通用戶名
示例:passwd myuser
會提示你輸入密碼,並且需要做一次確認密碼的重試輸入
如果輸入密碼後提示:Password has been already used. Choose another.則說明設置的密碼之前使用過,執行echo "" > /etc/security/opasswd後重試即可
方法二:echo "密碼"| passwd 用戶名 --stdin
示例:echo "Puluo@123"| passwd myuser --stdin
這個時候需要使用passwd myuser命令來修改密碼,如果輸入密碼後提示:Password has been already used. Choose another.則說明設置的密碼之前使用過,執行echo "" > /etc/security/opasswd後重試即可
- 普通用戶或root用戶修改自己的密碼
輸入passwd命令後按回車鍵後輸入兩次密碼即可。
2.2. passwd常用參數
- -l 鎖定口令,即禁用賬號。
示例:passwd -l myuser
執行完成後再登錄myuser用戶輸入之前的密碼後會提示Access denied
有時候我們發現機器賬號異常登錄可以先執行這個命令將用戶鎖死
- -u 解鎖用戶。
示例:passwd -u myuser
- -d 使賬號無需密碼即可登錄。
示例:passwd -d myuser
這個我嘗試執行後發現在登錄的時候仍然提示我需要輸入密碼,但是使用其他普通用戶切換到這個用戶時可以不輸入密碼
3. linux下添加用戶組
groupadd 用戶組名稱
示例:groupadd mygroup
4. linux下修改用戶信息
有時我們需要修改用戶的用戶組,家目錄等信息,這時候使用useradd命令顯然就不合適了,linux系統爲我們提供了usermod命令,常用的參數與useradd一樣大家可自行嘗試。
5. linux刪除用戶
刪除用戶使用命令userdel,示例:userdel myuser,使用這個命令的話只會刪除用戶,用戶的主目錄不會被刪除,如果需要刪除用戶的時候也將用戶主目錄刪除則可以使用-r,示例:userdel -r myuser
6. linux刪除用戶組
刪除用戶組使用命令groupdel,示例:groupdel mygroup,注意,被刪除的用戶組不可以是任何用戶的主用戶組,否則刪除失敗。用戶組刪除完成後可以到/etc/group文件中去查看被刪除則用戶組名稱已經不存在了。
7. Shell腳本創建用戶
#!/bin/bash
# 需要創建的用戶名,示例:USER_NAME=myuser
USER_NAME=
# 創建用戶所屬的用戶組,示例:USER_GROUP=mygroup
USER_GROUP=
# 用戶密碼,示例:USER_PASSWD=Cloud12#$
USER_PASSWD=
# 校驗參數
function check_param()
{
if [[ ! -n ${USER_NAME} ]] || [[ ! -n ${USER_GROUP} ]] || [[ ! -n ${USER_PASSWD} ]]; then
echo "ERROR: Please check the param USER_NAME,USER_GROUP,USER_PASSWD can not be null"
exit 1;
fi
}
# 創建用戶
function creat_user()
{
check_param
#create group
grep "^${USER_GROUP}" /etc/group &> /dev/null
if [ $? -ne 0 ]; then
groupadd ${USER_GROUP}
fi
#create user
id ${USER_NAME} &> /dev/null
if [ $? -ne 0 ]; then
useradd -g ${USER_GROUP} ${USER_NAME} -d /home/${USER_NAME}
echo ${USER_PASSWD}| passwd ${USER_NAME} --stdin
chage -M 99999 ${USER_NAME}
fi
}
creat_user $*
該腳本需要填寫的參數在腳本的最上方
USER_NAME |
需要創建的用戶名 示例USER_NAME=myuser |
USER_GROUP |
創建用戶所屬的用戶組 示例USER_GROUP=mygroup |
USER_PASSWD |
用戶密碼 示例USER_PASSWD=Cloud12#$ |