美文网首页
12、Linux-用户管理

12、Linux-用户管理

作者: 唯老 | 来源:发表于2019-09-24 10:49 被阅读0次

    一、概要

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
    用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
    每个用户账号都拥有一个惟一的用户名和各自的口令。
    用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
    实现用户账号的管理,要完成的工作主要有如下几个方面:

    • 用户账号的添加、删除与修改。
    • 用户口令的管理。
    • 用户组的管理。

    二、用户类别

    1、分类

    • 管理员
    • 普通用户 :系统用户 , 登录用户

    2、用户标识: UserID ,UID

    • 一般默认16bits 二进制数字: 0-65535
    • 管理员标识:0 不会改变
    • 普通用户: 1-65535
    • 系统用户:1-499, 1-999 (centos6 ,centos7)
    • 登录用户:500-60000 , 1000-60000
    • 当每个用户登录系统会自动将其转换为用户标识.
    • 名称解析(转换): username <->UID, 根据名称解析库进行转换(对照:用户名及ID)为系统可识别的用户标识:UID,存放在/etc/passwd

    三、用户操作

    1、添加用户

    作用

    添加用户,用户在配置文件:/etc/passwd

    语法

    useradd 选项 用户名
    

    常用选项

    选项 说明
    -g 常用 指定用户登录组的GID或组名 不指定为当前用户名
    **-u ** 常用 uid 为账户指定一个唯一的UID
    **-d ** 常用 为主目录指定一个名字(如果不想用登录名作为主目录名的话)
    **-p ** 常用 passwd 为用户账户指定默认密码
    -G 添加多个用户组

    栗子

    # 新建docker用户
    useradd -g 1005 -u 1005 -d /home/docker docker
    # 创建mysql用户例如root用户组和docker
    useradd  -g group –G root,docker mysql
    

    2、删除用户

    作用

    删除一个已有的用户账号

    语法

    userdel 选项 用户名
    

    常用选项

    选项 说明
    -r 删除用户同时删除其家目录

    栗子

    userdel docker
    # 删除用户同时删除其主目录
    userdel -r mysql
    

    3、修改用户

    语法

    usermod [options] LOGIN
    

    常用选项

    -g* 常用 指定用户登录组的GID或组名 不指定为当前用户名
    **-u ** 常用 uid 为账户指定一个唯一的UID
    **-d ** 常用 为主目录指定一个名字(如果不想用登录名作为主目录名的话)
    **-p ** 常用 passwd 为用户账户指定默认密码
    -G 添加多个用户组
    -l 新的用户名

    栗子

    usermod -g 10006 -u 10006 -d /home/test -l test java
    

    4、修改密码

    作用

    修改用户密码,如果不指定用户名默认修改当前用户的密码

    语法

    passwd [选项] [用户名]
    

    常用选项

    选项 说明
    -l 锁定密码,即禁用账号
    -u 口令解锁。
    -d 使账号无口令。
    -f 强迫用户下次登录时修改口令

    栗子

    # 修改当前用户密码
    passwd
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    # 修改指定用户的密码
    passwd java
    # 修改密码为空
    passwd -d java
    # 禁用账号
    passwd -l java
     # 解锁账号
    passwd -u java
    

    四、用户组

    1、添加用户组

    作用

    若命令带有-r参数,则创建系统用户组,该类用户组的GID值小于500;若没有-r参数,则创建普通用户组,其GID值大于或等于500

    语法

    groupadd -g 用户组id 用户组名
    

    常用选项

    选项 说明
    -g GID 指定新用户组的组标识号(GID)。
    -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

    栗子

    # 添加默认的 用户组
    groupadd normal
    # 指定编号 添加用户组
    groupadd -g 1000 hello
    

    2、删除用户组

    语法

    groupdel 用户组
    

    栗子

    groupdel normal
    

    3、修改用户组

    语法

    groupmod 选项 用户组
    

    常用选项

    选项 说明
    -g 为用户组指定新的组标识号。
    -n 新用户组 将用户组的名字改为新名字

    栗子

    #将组g1的的ID修改成1008
    groupmod -g 1008 g1
    # 修改g1的标识号改为10009,组名修改为g2
    groupmod -g 1009 -n g2 g1
    

    五、其它相关命令

    1、切换用户

    作用

    从一个用户切换到另一个用户

    语法

    su [选项] 用户名
    

    常用选项

    选项 说明
    - 当前用户不仅切换为指定用户的身份,
    同时所用的工作环境也切换为此用户的环境(包括 PATH 变量、MAIL 变量等),
    使用 - 选项可省略用户名,默认会切换为 root 用户。

    栗子

    # 切换到root用户,环境不切换
    su
    # 切换到root用户 包括环境
    su -root
    # 切换到其它存在的用户
    su -java
    

    2、其它

    1. 退出当前用户
      exit
      
    2. 查看当前用户名
      whoami
      
    3. 查看所有已有的用户
      cat /etc/passwd
      
    4. 显示用户ID及其所属group的groupID
      id 用户名
      #例如
      id user
      
    5. 查看一个user的主group
      cat /etc/passwd
      user:x:1001:1000::/home/user:/bin/bash,而 cat /etc/group1 显示结果中有 group1:x:1000: ,这说明 user的主group就是group1
      
    6. 添加一个user到一个group
      gpasswd -a 用户名 用户组
      #例如
      gpasswd -a test grouptest
      
    7. 从一个group中删除user
      gpasswd -d 用户名 用户组
      # 例如
      gpasswd -d test grouptest
      
    8. 添加用户,并指定用户ID,同时添加到指定的group
      useradd -u 用户id -g 用户组id 用户名
      # 例如
      useradd -u 2001 -g 2000 test
      

    相关文章

      网友评论

          本文标题:12、Linux-用户管理

          本文链接:https://www.haomeiwen.com/subject/iczayctx.html