Gopherx
发布于 2024-11-28 / 8 阅读
0

Linux用户操作命令

Linux 用户管理命令详解

1. useradd 命令

useradd命令用于创建一个新的用户账户。这个命令会在系统中创建一个新的用户,并设置其基本属性,如用户ID(UID)、组ID(GID)、主目录和默认shell等。

基本语法:

useradd [选项] <用户名>

常用选项:

  • -m:创建用户时,自动创建用户的主目录。
  • -d:指定用户的主目录路径。
  • -s:指定用户的默认shell(如/bin/bash)。
  • -G:指定用户加入的附加组。
  • -u:指定用户的UID。
  • -r:创建系统账户(该账户的UID通常小于1000,主要用于运行系统服务)。

示例:

  1. 创建一个名为newuser的用户,并自动创建主目录

    useradd -m newuser
    
  2. 创建用户newuser,并指定其主目录为/home/customuser,默认shell为/bin/bash

    useradd -m -d /home/customuser -s /bin/bash newuser
    
  3. 创建一个名为sysuser的系统用户,UID为1001

    useradd -r -u 1001 sysuser
    

2. usermod 命令

usermod命令用于修改现有用户的属性,例如更改用户的主目录、用户名、用户组等。

基本语法:

usermod [选项] <用户名>

常用选项:

  • -l:更改用户名。
  • -d:更改用户的主目录。
  • -m:在更改主目录时,移动用户的文件到新目录。
  • -aG:将用户添加到指定的附加组中。
  • -s:更改用户的默认shell。
  • -g:更改用户的主组。
  • -p:更改用户的密码。

示例:

  1. 修改用户newuser的用户名为newname

    usermod -l newname newuser
    
  2. 将用户newname添加到admin

    usermod -aG admin newname
    
  3. 修改用户newname的主目录为/home/newname并移动其文件

    usermod -d /home/newname -m newname
    
  4. 将用户newname的默认shell改为/bin/zsh

    usermod -s /bin/zsh newname
    

3. userdel 命令

userdel命令用于删除一个用户及其相关信息。此命令会删除用户账户,并可以选择是否删除用户的主目录及其文件。

基本语法:

userdel [选项] <用户名>

常用选项:

  • -r:删除用户的同时删除用户的主目录及其文件。
  • -f:强制删除用户,即使该用户正在登录或存在其他问题。

示例:

  1. 删除用户newuser,但保留其主目录

    userdel newuser
    
  2. 删除用户newuser及其主目录

    userdel -r newuser
    
  3. 强制删除用户newuser(即使该用户正在登录)

    userdel -f newuser
    

4. groupadd 命令

groupadd命令用于创建一个新的用户组。用户组是多个用户的集合,共享一些访问权限。

基本语法:

groupadd [选项] <组名>

常用选项:

  • -g:指定组ID(GID)。
  • -r:创建一个系统组。

示例:

  1. 创建一个名为developers的用户组

    groupadd developers
    
  2. 创建一个系统组sysadmins,GID为1001

    groupadd -r -g 1001 sysadmins
    

5. groupdel 命令

groupdel命令用于删除一个用户组。如果用户组中没有用户,才可以删除该组。

基本语法:

groupdel <组名>

示例:

  1. 删除developers

    groupdel developers
    

6. gpasswd 命令

gpasswd命令用于管理用户组的密码和管理员。它可以设置组密码、添加和删除组管理员。

基本语法:

gpasswd [选项] <组名>

常用选项:

  • -a:将指定用户添加到用户组。
  • -d:将指定用户从用户组中删除。
  • -r:删除组密码。
  • -p:设置组密码。

示例:

  1. 将用户alice添加到developers

    gpasswd -a alice developers
    
  2. 将用户bobdevelopers组中删除

    gpasswd -d bob developers
    

7. passwd 命令

passwd命令用于修改用户密码。管理员可以为任何用户设置密码,普通用户只能更改自己的密码。

基本语法:

passwd [选项] <用户名>

常用选项:

  • -l:锁定用户账户,禁止用户登录。
  • -u:解锁已锁定的用户账户。
  • -e:强制用户下次登录时更改密码。
  • -d:删除用户密码,使用户在登录时不需要密码。

示例:

  1. 修改当前用户的密码

    passwd
    
  2. 为用户newuser设置密码

    passwd newuser
    
  3. 锁定用户newuser的账户

    passwd -l newuser
    
  4. 解锁用户newuser的账户

    passwd -u newuser
    
  5. 强制用户newuser在下次登录时更改密码

    passwd -e newuser
    

8. chage 命令

chage命令用于更改用户密码的过期信息,例如设置密码的有效期、过期时间等。

基本语法:

chage [选项] <用户名>

常用选项:

  • -l:列出用户密码的过期信息。
  • -M:设置密码的最大有效期(天数)。
  • -m:设置密码的最小有效期(天数)。
  • -W:设置密码到期前的警告天数。
  • -I:设置密码过期后,账户失效前的宽限期。

示例:

  1. 查看用户newuser的密码过期信息

    chage -l newuser
    
  2. 设置用户newuser的密码最大有效期为30天

    chage -M 30 newuser
    
  3. 设置用户newuser的密码到期前10天提醒

    chage -W 10 newuser
    

9. id 命令

id命令用于显示当前用户或指定用户的UID(用户ID)、GID(组ID)以及所属的用户组。

基本语法:

id [用户名]

示例:

  1. 查看当前用户的UID、GID及所属组

    id
    
  2. 查看用户newuser的UID、GID及所属组

    id newuser
    

总结

  • useradd:用于创建新用户。
  • usermod:用于修改现有用户的属性。
  • userdel:用于删除用户账户及其相关信息。