Linux系统管理——账号管理

Linux系统管理——账号管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个唯一的用户名和各自的口令。

用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

实现用户账号的管理,要完成的主要有如下几个方面:

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

用户账号管理

一、用户账号概述
1、用户账号的常见分类:

  • 超级用户:root uid=0 gid=0 权限最大。
  • 普通用户:uid>=500 做一般权限的系统管理,权限有限。
  • 程序用户:1=

2、UID:用户标识

3、用户账号文件
① /etc/passwd

  • 作用: 保存用户名称、宿主目录、登录shell等基本信息,每一行对应一个用户的账号记录。
  • 共 7 个字段,各字段代表含义:
    在这里插入图片描述
    - 第一字段 amber :用户账号名
    - 第二字段 x :密码占位符
    - 第三字段 500:uid编号
    - 第四字段 500:gid编号
    - 第五字段 空 :用户备注
    - 第六字段 /home/amber :用户宿主目录
    - 第七字段 /bin/bash:登录的shell (若为/sbin/nologin 则不能登录)

② /etc/shadow

  • 作用:保护用户的密码、账号有效期等信息,每一行对应一个用户的密码记录。
  • 共 9 字段,目前只启用前 7 字段,各字段代表的含义:
    在这里插入图片描述
    - 第一字段 amber :用户账号名
    - 第二字段 $ 6 $ I …Yi1 :密文
    - 第三字段 16793 :账号上次修改时间距 1970 年 1 月 1 日过去多少天
    - 第四字段 0 :距上次密码修改起多少天不能再次修改密码,单位“天”。“0”表示随时可修改密码。
    - 第五字段 99999:密码过期天数 (密码在修改密码后多少天必须重新修改密码。99999表示永久可以使用。)
    - 第六字段 7 :强制密码修改提醒时间(7 表示在密码过期前 7 天开始警告 )
    - 第七字段 空:当密码过期后经过多少天该账号会被禁用
    - 第八字段 空:密码过期日期,若设置则显示为过期日期距 1970 年 1 月 1 日多少天。

二、添加用户账号 useradd 命令

1、格式 :useradd [选项] 用户名
2、选项:

  • -u : 指定 uid 标记号
  • -d :指定宿主目录,缺省默认为/home/用户名
  • -e :指定账号失效时间
  • -M :不为用户建立初始化宿主目录
  • -s :指定用户的登录shell
  • -g :指定用户的基本组名(或gid号)
  • -G :指定用户的附加组名(或gid号)
  • -c :添加备注,显示在/etc/passwd 第五字段
    3、示例:
[root@www~]# groupadd group 1
[root@www~]# mkdir -p /testgroup 1
[root@www~]# groupadd jiaoxue
[root@www~]# useradd -d /testgroup1/tom/-g group1 -G jiaoxue -s 
/bin/bash -e 2016-01-01 tom
[root@www~]# passwd tom

更改用户名 tom 的密码 。
新的 秘密 :
无效的密码 :WAY 过短
无效的密码 :过于简短
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

[root@www~]# tail -1 /etc/passwd
tom:x:501:501::/testgroup1/tom/:/bin/bash
[root@www~]# tail -1 /etc/shadow
tom:$6$oe91WmLV$11aOIhoKOYMSNUI6wnSpYJfsr1V8vfbCppfObn76rsJkNpecxec1KUaBA8Utnk2qBV8uHh78U65qyr3ZQNqdX1:16798:0:99999:7::16801

三、用户账号的初识配置文件

1、文件来源 :新建用户账号时,从/etc/skel/目录中复制而来
2、 主要的用户初始配置文件:

  • ~/.bash_profile : 每次登录时执行
  • ~/.bashrc : 每次进入新 bash环境是执行
  • ~/.bash_logout: 每次退出登录时执行

四、设置 / 更改用户口令 passwd 命令

1、格式 :passwd [选项] 用户名

2、常用选项:

  • -d : 清空用户密码
  • -l : 锁定用户账号
  • -s :查看用户账号的状态 (是否被锁定)
  • -u :解锁用户账号
  • -x,- -maximum=DAYS :密码的最长有效时限
  • -n,- -minimum=DAYS :密码的最短有效时限
  • -w,- - warning=DATS :在密码过期前多少天开始提醒用户
  • -i,- -inactive=DAYS :当密码过期后多少天该账号会被禁用

3、 示例:

[root@localhost ~]# passwd -l tom
锁定用户 tom 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -S tom
tom LK 2019-08-13 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# passwd -u tom
解锁用户 tom 的密码。
passwd: 操作成功
[root@localhost ~]# passwd -S tom
tom PS 2019-08-13 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@localhost ~]# passwd -d tom
清除用户的密码 tom。
passwd: 操作成功

五、修改用户属性 usermod 命令

1、 格式 :usermod [选项] … 用户名

2、常用选项:

  • -l :更改用户账号的登录名字
  • -c :修改用户备注
  • -L :锁定用户账号
  • -U :解锁用户账号
    以上选项与useradd命令中的含义相同 :-u、-d、-e、-s、-c

3、 示例 :

[root@localhost ~]# usermod -l tom1 tom
[root@localhost ~]# tail -1 /etc/passwd
tom1:x:1007:1009::/home/tom:/bin/bash
[root@localhost ~]# usermod -c jiaoxue tom1
[root@localhost ~]# tail -1 /etc/passwd
tom1:x:1007:1009:jiaoxue:/home/tom:/bin/bash

六、删除用户账号 userdel 命令

1、 格式 :userdel 用户名

2、常用选项:

  • -r :删除用户的同时删除用户的宿主目录

3、示例:

[root@localhost ~]# userdel -r tom1
[root@localhost ~]# ls /testgroup1/

组账号管理

一、组账号概述

1、组账号分类:

  • 基本组(私有组)
  • 附加组(公共组)

2、GID :组标识号

3、组账号文件

  • /etc/group :保存组账号基本信息
  • /etc/gshadow :保存组账号的密码信息 (较少使用)

二、添加组账号 groupadd 命令

1、格式 :groupadd [-g GID ] 组账号

2、选项 :(除了 -g ,其余不常用)

  • -g, --gid GID 为新组使用 GID

  • -f, --force 如果组已经存在则成功退出 并且如果 GID 已经存在则取消 -g

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

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

  • -o, --non-unique 允许创建有重复 GID 的组

  • -p, --password PASSWORD 为新组使用此加密过的密码

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

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

3、示例 :

[root@localhost ~]# tail -3 /etc/group
group1:x:1007:
jiaoxue:x:1008:
tom:x:1009:
[root@localhost ~]# groupadd -g 888 market
[root@localhost ~]# tail -4 /etc/group
group1:x:1007:
jiaoxue:x:1008:
tom:x:1009:
market:x:888:

三、设置组账号密码 (极少用),添加、删除组成员 gpasswd 命令

1、格式 :gpasswd [选项] … 组账户名

2、常用选项 :

  • -a :向组内添加一个用户
  • -d :从组内删除一个用户成员
  • -M :定义组内成员列表,以逗号分隔

3、示例 :

[root@localhost ~]# useradd test1
[root@localhost ~]# useradd test2
[root@localhost ~]# useradd test3
[root@localhost ~]# gpasswd -a test1 market
正在将用户“test1”加入到“market”组中
[root@localhost ~]# tail -4 /etc/group
group1:x:1007:
jiaoxue:x:1008:
tom:x:1009:
market:x:888:test1
[root@localhost ~]# gpasswd -d test1 market
正在将用户“test1”从“market”组中删除
[root@localhost ~]# tail -4 /etc/group
group1:x:1007:
jiaoxue:x:1008:
tom:x:1009:
market:x:888:
[root@localhost ~]# gpasswd -M test1,test2,test3 market
[root@localhost ~]# tail -4 /etc/group
group1:x:1007:
jiaoxue:x:1008:
tom:x:1009:
market:x:888:test1,test2,test3
[root@localhost ~]# gpasswd -Mtest1 market
[root@localhost ~]# tail -4 /etc/group
group1:x:1007:
jiaoxue:x:1008:
tom:x:1009:
market:x:888:test1

4、增加或删除组成员,也可用 vi 编辑器对/etc/group 文件直接编译修改

四、删除组账号 groupdel 命令

1、格式 :groupdel 组账号名

2、示例:

[root@localhost ~]# groupdel market
[root@localhost ~]# tail -5 /etc/group
user2:x:1005:
user3:x:1006:
group1:x:1007:
jiaoxue:x:1008:
tom:x:1009:

你可能感兴趣的:(Linux系统管理——账号管理)