centos7.3下用户和组的管理

 

用户管理目标:

 

 

1、用户账号的作用

2、用户增、删、改、查

3、用户账号的相关数据文件

4、用户组的创建、用户的分组

 

 

用户账号的作用:

 

1、标识用户的身份,让每个用户有私有的文件夹(家目录),未授权时,每个人只能访问自己的文件。

2、每个用户远程管理服务器时,所做的操作,root管理员可查到。

 


查询:

 

 

查用户id号:id   或  id   用户名

注:id查到的信息包括uid用户号、gid组号、Gid附属组,root用户的3个ID号都为0。

用户账号的相关数据文件:

一、passwd记录用户的账号信息。

用useradd增、userdel删除、usermod改会影响到此文件内容。

用户的账号信息文件:head  -3  /etc/passwd   内容如下

root:x:0:0:root:/root:/bin/bash

格式说明:

1.用户名:

2.密码:x表示此用户需要用密码登录。如果想免密码登录,用vim修改此文件,将x删掉即可。

3.用户uid号

4.用户的gid组号

5.用户的备注信息

6.用户的家目录

7.用户登录的shell环境

二、shadow文件记录用户密码信息。

用usermod、passwd会影响此文件内容。

head   -3   /etc/shadow  内容如下

root:$6$Se16soYt$MK.mk:17464:0:99999:7:::

bin:*:17110:0:99999:7:::

格式说明:

1.用户名

2.加密的密码

3.最后密码修改的时间

4.允许修改密码最小间隔时间

5.允许修改密码最大间隔时间

6.密码过期警告时间

7.密码的宽限时间

8.密码的失效时间(年-月-日)

9.保留,暂时没有具体功能

三、用户账号的增、删、改,以及密码设置。

增(add):useradd

删(del):userdel

改(modify):usermod

密码设置:passwd

临时切换用户:su  -   用户名     (用exit退出此用户)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

增(add):useradd

 

 

查帮助手册:man   useradd

格式:useradd   [选项]   用户名

例:useradd   -D     显示或更改默认的 useradd 配置。这些设置保存在/etc/default/useradd文件中

    useradd   ak   创建ak用户。是按照系统默认设置来创建。

    useradd   -d  /opt/sky  -u  110  -s  /sbin/nologin  -c  'admin'   sky 

    useradd   -g  2  -G  0,1,2   -s  /bin/bash   bk

    tail  -5  /etc/passwd    查看/etc/passwd文件的最后5行

选项:

  -b, --base-dir BASE_DIR 新账户的主目录的基目录

  -c, --comment COMMENT         新账户的 GECOS 字段(即备注)

  -d, --home-dir HOME_DIR       新账户的主目录(即家目录)

  -D, --defaults 显示或更改默认的 useradd 配置

  -e, --expiredate EXPIRE_DATE  新账户的过期日期

  -f, --inactive INACTIVE       新账户的密码不活动期

  -g, --gid GROUP 新账户主组的名称或 ID,必须指定已存在的组号或组名

  -G, --groups GROUPS 新账户的附加组列表

  -h, --help                    显示此帮助信息并推出

  -k, --skel SKEL_DIR 使用此目录作为骨架目录

  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值

  -l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库

  -m, --create-home 创建用户的主目录

  -M, --no-create-home     不创建用户的主目录

  -N, --no-user-group 不创建同名的组

  -o, --non-unique 允许使用重复的 UID 创建用户

  -p, --password PASSWORD 加密后的新账户密码

  -r, --system                  创建一个系统账户

  -R, --root CHROOT_DIR         chroot 到的目录

  -s, --shell SHELL 新账户的登录 shell

  -u, --uid UID 新账户的用户ID

  -U, --user-group 创建与用户同名的组

  -Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER

 

 

删(del):userdel

 

 

格式:userdel  [-r]  用户名

例:userdel  -r  ak   删除ak用户账号及(-r)其家目录和邮件,用户的邮件位于/var/spool/mail目录中

    userdel  sky    删除sky用户账号

    userdel  bk

    ls  /home   /opt   显示指定目录的文件列表。看是否有sky、bk目录

 

 

改(modify):usermod

 

 

功能:修改用户账号的相关信息,包括用户名、备注描述信息、家目录、uid、gid、附属组、shell等信息。

格式:usermod  [选项]  用户名

例:useradd   ak   创建ak账号

    passwd   ak    给ak用户设置登录密码

    id  ak   查id号

    grep  ak  /etc/passwd   显示/etc/passwd文件中关于ak的内容

    usermod  ak  -c  'admin'     -u  120  -g  2  -G  0,2,5  -s  /sbin/nologin

    usermod  ak  -md  /opt/ak   给ak用户的家搬到/opt/ak目录

    usermod  -L   ak   锁定ak账号

    usermod  -U   ak   解锁ak账号

    passwd  -S   ak   查ak账号的密码状态

    usermod  ak   -l   aker    修改ak用户名为aker

    userdel  -r   aker    删除aker用户及其家目录和邮件

选项:

  -c, --comment 注释            GECOS 字段的新值

  -d, --home HOME_DIR           用户的新主目录

  -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE

  -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态

  -g, --gid GROUP               强制使用 GROUP 为新主组

  -G, --groups GROUPS           新的附加组列表 GROUPS

  -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中, 并不从其它组中删除此用户

  -h, --help                    显示此帮助信息并推出

  -l, --login LOGIN             新的登录名称

  -L, --lock                    锁定用户帐号

  -m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)

  -o, --non-unique              允许使用重复的(非唯一的) UID

  -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码

  -R, --root CHROOT_DIR         chroot 到的目录

  -s, --shell SHELL             该用户帐号的新登录 shell

  -u, --uid UID                 用户帐号的新 UID

  -U, --unlock                  解锁用户帐号

  -Z, --selinux-user  SEUSER       用户账户的新 SELinux 用户映射

 

 

密码设置:passwd

 

用法:passwd   [选项]   用户名

例:useradd   ak

    passwd  ak

    echo  '112' |  passwd  --stdin  ak     以脚本方式给ak用户设置密码为112

    passwd  -l   ak    锁定ak账号

    passwd  -u   ak    解锁ak账号

    passwd  -x  199   ak    用户ak的密码最长有效时限为199天

    passwd  -S   ak    显示ak用户的密码状态

    grep   ak  /etc/shadow   查看/etc/shadow文件中关于ak关键字的内容

    passwd  -n  3   ak    用户ak的密码最短有效时限为3天(密码修改的最短间隔时间)

    passwd  -w  6   ak    用户ak的密码过期警告时间为6天

    passwd  -i  4   ak    用户ak的密码过期4天后将被禁用,-1表示永远不会被禁用

选项:

  -k, --keep-tokens       保持身份验证令牌不过期

  -d, --delete            删除已命名帐号的密码(只有根用户才能进行此操作)

  -l, --lock              锁定指名帐户的密码(仅限 root 用户)

  -u, --unlock            解锁指名账户的密码(仅限 root 用户)

  -e, --expire            终止指名帐户的密码(仅限 root 用户)

  -f, --force             强制执行操作

  -x, --maximum=DAYS      密码的最长有效时限(只有根用户才能进行此操作)

  -n, --minimum=DAYS      密码的最短有效时限(只有根用户才能进行此操作)

  -w, --warning=DAYS      在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)

  -i, --inactive=DAYS     当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)

  -S, --status            报告已命名帐号的密码状态(只有根用户才能进行此操作)

  --stdin                 从标准输入读取令牌(只有根用户才能进行此操作)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

组管理目标:

 

1、组的作用

2、组的相关数据文件

3、组增、删、改、查

4、组的创建,组中添加、删除成员

1、组的作用

组:类似于QQ群的功能。可以在组中添加、删除成员。有利于对权限进行管理。

2、组的相关数据文件

组账号信息文件:head  -3  /etc/group   内容如下

root:x:0:lp

格式:  组名:组密码:组gid号:组成员

例:用gpasswd  -a   lp   root    在root组中添加lp用户。

    用gpasswd  -d   lp   root    在root组中删除lp用户。

组的密码文件:head  -3  /etc/gshadow   内容如下

root:168:adm,bin,lp:adm

格式:组名:群密码:群主:组成员

例:gpasswd   root   给root组设置密码

    gpasswd  -A  adm,bin,lp   root   给root设置3个管理员

    gpasswd  -M   adm   root    给root组重新设置成员名单adm,会替换原名单

    head  -3  /etc/gshadow   查看/etc/gshadow文件的前3行内容

3、组增、删、改、查

 

组的增:groupadd   [选项]  组名

 

例:groupadd   grp1   创建grp1组

    groupadd  -g  210   grp2  创建grp2组,并指定gid为210

    groupadd  -r   grp3   创建系统组账号grp3。系统组通常用于管理系统服务。

    tail  -5   /etc/group

 

组的删:groupdel   [选项]  组名

 

例:groupdel  grp1

    groupdel  grp2

组的改:groupmod   [选项]  组名

例:groupmod  -g  208  grp3    将grp3组的gid改成208

   groupmod   -n   g3  grp3   将grp3组的名称改成g3

   groupdel   g3   删除g3组

 

组的查:

 

显示指定用户的组信息:groups  用户名

显示系统中的所有组账号信息:cat  /etc/group

 

组密码设置:gpasswd   可以实现给组设置密码、添加和删除成员、设置组管理员

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

用户和组的策略配置文件:cat   /etc/login.defs

MAIL_DIR /var/spool/mail   用户邮件的主目录

PASS_MAX_DAYS 99999   密码的最大修改间隔时间

PASS_MIN_DAYS 0        密码的最小修改间隔时间

PASS_MIN_LEN 5       密码的最小长度

PASS_WARN_AGE 7    密码过期的警告时间

UID_MIN                  1000       普通用户uid的最小值

UID_MAX                 60000      普通用户uid的最大值

SYS_UID_MIN               201       系统用户uid的最小值(用useradd  -r 创建的是系统用户)

SYS_UID_MAX               999      系统用户uid的最大值

注:Linux用户账号分为管理员(root)、普通用户(1000~60000)、系统用户(201~999)。而uid从1~200为保留号。

GID_MIN                  1000     普通组的gid最小值

GID_MAX                 60000    普通组的gid最大值

SYS_GID_MIN               201      系统组的gid最小值

SYS_GID_MAX               999     系统组的gid最大值

CREATE_HOME yes        启用创建用户家目录

UMASK           077      普通用户的权限掩码,实际umask值为022。

USERGROUPS_ENAB    yes     允许删除用户的同时删除用户的组,前提是组中没有成员存在

ENCRYPT_METHOD    SHA512   指定密码加密算法为SHA512算法。用man  login.defs来查

创建新用户的默认设置:cat  /etc/default/useradd 

# useradd defaults file

GROUP=100   只有当用useradd  -N   lucy 创建用户时未创建同名的组时,这个新用户才会在100组中HOME=/home   用户家目录的基目录(小区)

INACTIVE=-1    密码永远不失效(不禁用)

EXPIRE=        密码的过期时间,默认为空

SHELL=/bin/bash     用户登录的shell

SKEL=/etc/skel       用户的环境模板文件目录。ls  -a  /etc/skel

CREATE_MAIL_SPOOL=yes    允许给用户创建邮箱

你可能感兴趣的:(Linux基础)