对Linux使用者进行管理,初学习

本文详细介绍了Linux系统中用户和组的管理,包括用户账户、组账户的概念,以及passwd、shadow、group、gshadow文件的作用。同时,文章还涵盖了常用的用户和组管理命令,如useradd、passwd、usermod、userdel、groupadd、groupmod、groupdel和gpasswd等,帮助读者掌握Linux环境下用户和组的创建、修改、删除和权限设置。

Linux是多用户分时操作系统
Linux使用账户对用户进行管理
Linux账户分为用户账户和组账户
一个组可以有多个用户,一个用户可属于不同的组

用户账户:

  • 超级用户:root
  • 系统用户:伪账户
  • 普通用户

组账户:

  • 私有组
  • 标准组

passwd文件
位置:/etc/passwd

作用:保存各个用户的账户信息(密码除外,密码用x字符填充,不使用明文保存)

文件格式:每行定义一个用户账号,一行中又划分为多个字段,定义用户账号的不同属性,各字段间用‘’:”分隔

passwd文件格式:
用户名:密码:用户ID:组群ID:用户全名:用户主目录:使用的shell

所有用户都可以查看该文件的内容,当一个用户同时属于多个组时,在passwd文件中记录是用户所属的主组,其他的组称为附加组,用户要访问附加组时,必须要先使用newgrp命令使其成为所要访问组的成员

用户ID(UID)

  • root:0
  • 系统用户:1~999
  • 普通用户:1000开始

组ID(GID)表示用户所属组

shadow文件
位置:/etc/shadow

作用:保存各个用户的账户密码等信息,只有root用户有权限查看shadow文件

文件格式:每行定义一个用户账号,一行中又划分为多个字段,定义用户账号的不同属性,各字段间用“:”分隔

密文若为 *,!!,表示账户未设置密码

shadow文件格式:
用户名:口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

Linux为了保存账户安全,密码需要定期修改:

  • 最后一次修改时间:自1970年1月1日起到上次修改密码的日期间的天数
  • 最小时间间隔:自上次修改密码后,如果再次修改密码,至少需要间隔的天数,0表示可以立刻修改密码(保护密码不被频繁修改)
  • 最大的时间间隔:自上次修改密码后,之密码过期的间隔天数,99999表示密码永不过期,即不强制修改
  • 警告时间:在密码过期前,提前几天向用户发送警告信息,默认7天
  • 不活动时间:在密码过期后,系统推迟关闭该用户账号的天数
  • 失效时间:从1970年1月1日起到账户过期日期之间的天数
  • 标志:预留字段

group文件
位置:/etc/group
作用:保存各用户账户的分组信息
group文件的各字段:组名:组口令:组GID:组成员
组ID(GID)

  • root:0
  • 系统组:安装Linux以及部分服务性程序时系统自动设置的组,1~999
  • 私有组:超级用户新建的组1000开始

gshadow文件
位置:/etc/gshdow
作用:用于定义用户组口令,组管理员等信息
gshdow的各字段:组名:组口令:组管理员账号:组成员列表
组口令字段以!!占位

使用命令对用户进行管理

useradd命令
【功能】新建用户账户
【格式】useradd [选项] 用户名

选项

  • -d home-dir 设置用户的宿主命令,默认为/home/username
  • -e date 设置账号的过期日期,格式为:2020-10-30
  • -g group-name 设定用户的所属组名
  • -s shell-path 设定用户使用的shell,默认/bin/bash
  • -u uid 设定用户的UID,唯一且大于1000
  • -D username 用于显示用户所使用的默认值

passwd命令
【功能】设置或修改用户的口令,修改口令的属性
【格式】passwd [选项] 用户名

选项

  • -S username 用于查询指定用户的口令状态,仅root可用
  • -l username 用于锁定用户的口令,仅root可用
  • -u username 用于解锁用户的口令,仅root可用
  • -d username 用于删除用户的口令,仅root可用

passwd tom //为tom设置初始口令
passwd -S tom ///查看tom用户的口令状态

usermod命令
【功能】修改用户的属性,与useradd参数相同
【格式】usermod [选项] 用户名

选项

  • -c全名 指定用户的全称
  • -d主目录 指定用户的主目录
  • -e有效期限 指定用户账号的有效期限
  • -f 缓冲天数 指定口令过期后多久将关闭此账号
  • -g 组群ID或者组群名 指定用户所属的主要组群
  • -G 组群ID或组群名 指定用户所属的附加组群
  • -u 用户ID 指定用户的UID

id命令
【功能】查看用户的UID GID和用户所属组群的信息
【格式】id [用户名]
【注】如果不指定,则显示当前用户的相关信息

userdel命令
【功能】删除指定的用户账号
【格式】userdel [-r] 用户名
使用r参数,删除用户的同时删除用户所有相关的文件,包括宿主目录及用户的邮件池等
【实例】userdel -r tom

组管理命令

** groupadd命令**
【功能】新建组群
【格式】groupadd [选项] 组名
选项
-g GID 指定新建组的gid(>1000)
【实例】新建一个组,组名为mygroup
groupadd mygroup
【实例】新建一个组,并指定其为GID 1010,组名为studentgroup
groupadd -q 1010 studentgroup

groupmod命令
【功能】修改指定组群的属性
【格式】groupmod [选项] 组名
选项

  • -g GID 指定新建组的GID(>=1000)
  • -n 新组名 原组名 指定组群的新名字
  • -G 组群名 用户名 将用户添加到组群中

【实例】将新建的mygroup组改名为newgroup 组
groupmod -n newgroup mygroup

griupdel命令
【功能】删除指定组群
【格式】groupdel [选项] 组名
【注】被删除的组群不是任何用户的主组群
要删除的组账号必须存在并且不能作为私有组被用户账号引用

【实例1】删除私有组tom组
输入:groupdel tom将提醒你不能移除私有组
【实例2】删除空组:将刚刚建立newmygroup删除
groupdel newmygroup
【实例3】删除有用户的组:先删除用户在删除组
userdel -r zhuang1
userdel -r zhuang2
userdel -r zhuang3
groupdel studentgroup

gpasswd命令
【功能】用于将指定用户添加到指定用户组或从组内删除
【格式】gpasswd [选项] 用户名 组名
选项

  • -a 将指定用户添加到指定用户组中
  • -d 从组内删除用户
  • -A 设指定用户为指定组的管理员

groups命令
【功能】查看一个用户所属的所有组群
【格式】groups 用户名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值