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

    原文作者:左撇子帕布
    原文地址: https://blog.csdn.net/u011294519/article/details/89174272
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞