Linux下創建用戶和用戶組

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#$

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章