• 用户和组管理


    用户user

    • 管理员:root,0
    • 普通用户:1-60000自动分配
         系统用户:1-499(centos6),1-999(centos7)
         登录用户:500+(centos6),1000+(centos7)
    • Linux组:Groupname/GID
         管理员组:root, 0
         普通组:
             系统组:1-499(centos6), 1-999(centos7)
             普通组:500+(centos6), 1000+(centos7)
    • 组的类别
      Linux组的类别
      用户的主要组(primary group)
         用户必须属于一个且只有一个主组
         组名同用户名,且仅包含一个用户,私有组
      用户的附加组(supplementary group)
         一个用户可以属于零个或多个辅助组
    • 用户和组的配置文件

    Linux用户和组的主要配置文件:
    /etc/passwd:用户及其属性信息(名称、UID、主组ID等)
    /etc/group:组及其属性信息
    /etc/shadow:用户密码及其相关属性
    /etc/gshadow:组密码及其相关属性

    • passwd文件格式

    login name:登录用名(wang)
    passwd:密码 (x)
    UID:用户身份编号 (1000)
    GID:登录默认所在组编号 (1000)
    GECOS:用户全名或注释
    home directory:用户主目录 (/home/wang)
    shell:用户默认使用shell (/bin/bash)

    • shadow文件格式

    登录用名
    用户密码:一般用sha512加密
    从1970年1月1日起到密码最近一次被更改的时间
    密码再过几天可以被变更(0表示随时可被变更)
    密码再过几天必须被变更(99999表示永不过期)
    密码过期前几天系统提醒用户(默认为一周)
    密码过期几天后帐号会被锁定
    从1970年1月1日算起,多少天后帐号失效

    用户管理命令

       用户创建:useradd
    • useradd [options] LOGIN

    -u UID
    -o 配合-u 选项,不检查UID的唯一性
    -g GID:指明用户所属基本组,可为组名,也可以GID
    -c "COMMENT":用户的注释信息
    -d HOME_DIR: 以指定的路径(不存在)为家目录
    -s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中
    -G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在
    -N 不创建私用组做主组,使用users组做主组
    -r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
    -m 创建家目录,用于系统用户
    -M 不创建家目录,用于非系统用户

       用户属性修改
    • usermod [OPTION] login

    -u UID: 新UID
    -g GID: 新主组
    -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被 覆盖;若保留原有,则要同时使用-a选项
    -s SHELL:新的默认SHELL
    -c 'COMMENT':新的注释信息
    -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据, 同时使用-m选项
    -l login_name: 新的名字;
    -L: lock指定用户,在/etc/shadow 密码栏的增加 !
    -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
    -e YYYY-MM-DD: 指明用户账号过期日期
    -f INACTIVE: 设定非活动期限

       设置密码
    • passwd [OPTIONS] UserName: 修改指定用户的密码

    常用选项:
    -d:删除指定用户密码
    -l:锁定指定用户
    -u:解锁指定用户
    -e:强制用户下次登录修改密码
    -f:强制操作
    -n mindays:指定最短使用期限
    -x maxdays:最大使用期限
    -w warndays:提前多少天开始警告
    -i inactivedays:非活动期限
    --stdin:从标准输入接收用户密码

    • 示例:
      (echo "PASSWORD" | passwd --stdin USERNAME)
       修改用户密码策略
    • chage [OPTION]... LOGIN

    -d LAST_DAY
    -E --expiredate EXPIRE_DATE
    -i --inactive INACTIVE
    -m --mindays MIN_DAYS
    -M --maxdays MAX_DAYS
    -W --warndays WARN_DAYS
    –l 显示密码策略

    • 示例:
      chage -d 0 tom 下一次登录强制重设密码
      chage -m 0 –M 42 –W 14 –I 7 tom
      chage -E 2016-09-10 tom

    组管理命令

       创建组
    • groupadd [OPTION]... group_name

    -g GID: 指明GID号;[GID_MIN, GID_MAX]
    -r: 创建系统组
    CentOS 6: ID<500
    CentOS 7: ID<1000

       创建组
    • 组属性修改:groupmod

    groupmod [OPTION]... group
    -n group_name: 新名字
    -g GID: 新的GID

    • 组删除:groupdel

    groupdel GROUP

       更改组密码
    • 组密码:gpasswd

    gpasswd [OPTION] GROUP
    -a user 将user添加至指定组中
    -d user 从指定组中移除用户user
    -A user1,user2,... 设置有管理权限的用户列表
    newgrp命令:临时切换主组
    如果用户本不属于此组,则需要组密码

       更改和查看组成员
    • groupmems [options] [action]

    options:
    -g, --group groupname 更改为指定组 (只有root)
    Actions:
    -a, --add username 指定用户加入组
    -d, --delete username 从组中删除用户
    -p, --purge 从组中清除所有成员 -l, --list 显示组成员列表

      • groups [OPTION].[USERNAME]... 查看用户所属组列表
  • 相关阅读:
    HDU 2563 统计问题 (DFS + 打表)
    KendoUi中KendoDropDownList控件的使用——三级级联模块的实现
    POJ 1325 &amp;&amp; ZOJ 1364--Machine Schedule【二分图 &amp;&amp; 最小点覆盖数】
    crontab FAQ
    思科2960trunk vlan配置及路由IP配置
    hdoj-1593-find a way to escape【数学题】
    Java编程思想(四) —— 复用类
    在 Android 应用程序中使用 SQLite 数据库以及怎么用
    Swift Standard Library Reference.pdf
    VC、IE、ASP环境下打印、预备的完美解决方式
  • 原文地址:https://www.cnblogs.com/AloneSea/p/9726464.html
Copyright © 2020-2023  润新知