Linux的修仙之路——用户和组

Linux的用户和组

  • Linux运行模式
  • 用户
    • 新建用户
    • 禁用和恢复账户
    • 删除用户账户
    • 维护组账户
    • 为组添加用户
  • 配套练习

Linux运行模式

Linux的修仙之路——用户和组_第1张图片

Linux是一个多用户多任务的操作系统

用户账户是用户的身份识别,用户通过用户账户可以登录到系统,并且访问已经被授权的资源,使每个用户的工作都能各自独立不受干扰。

Linux系统下的账户:

  • 普通用户账户
  • 超级用户账户(根用户、管理员用户)

1、 是具有相同特性的用户的逻辑集合,组织和管理用户,提高工作效率

2、 获得资源权限自动分配给组中账户

3、一个用户账户至少有一个组,若是有多个组,则有一个是主组,其他为附属组

名称 作用
用户名 标识用户名称
密码 验证用户身份
用户标识UID 用户的数字标识
用户主目录 私人目录,登录默认目录
登录shell 默认使用shell目录
所属的属性所在总集合
组标识GID 组群的数字标识

用户标识UID:唯一。root用户的UID为0,可以指定,可以默认

  • 用户账户文件
    /etc/password文件:用户账户信息
    /etc/shadow文件:用户口令
  • 组文件
    /etc/group文件:组账户信息
    /etc/gshadow文件:组口令、管理员等管理信息
  • /etc/login.defs文件
    设置账户用户的某些选项

用户

新建用户

useradd、adduser命令

sudo useradd [选项] username

选项 注释 作用
-c comment 用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用账号日期:YYYY-MM-DD
-f inactive_days 账户过期多少天后,用户账户被禁用
-u UID 用户的UID
-g initial_group 组名称和GID
-G group_list 附属组列表
-m 主目录不存在则创建
-M 不要创建用户主目录
-n 不要为用户创建用户私人组
-p passwd加密口令
-r 无主目录的系统账号(UID<500)
-s shell 登录shell,默认/bin/bash

题目:新建用户user1,UID为1010,指定其所属的私有组为test(组标识为1001),用户主目录为/home/user1,用户的shell为/bin/bash,用户密码为123456,账户永不过期

  • tail -1 /etc/passwd
  • tail -1 /etc/group
  • sudo useradd -u 1010 -g 1001 -d /home/user1 -s bin/bash -p 123456 -f -1 user1

passwd命令

passwd [选项] <用户名>

选项 作用
-l 锁定用户账户
-u 口令锁定
-d 用户口令为空
-f 强迫用户下次登录必须修改口令
-n 指定口令的最短存活时间
-x 指定口令的最长存活时间
-w 口令到期警告天数
-l 口令过期多久停用
-S 简短的状态信息

change命令

change [选项] username
修改密码时效:change <用户名>

选项 作用
-l 列出账户口令属性对的各个数值
-m 指定口令最短存活期
-M 指定口令最长存活期
-W 到期前提醒天数
-I 口令过期后多久停用
-E 到期作废时间
-d 口令上一次修改时间

禁用和恢复账户

Passwd命令

禁用账户
sudo passwd -l username
查看
sudo tail -1 /etc/shadow
恢复
sudo passwd -u username

Usermod命令
禁用账户
sudo usermod -L
查看
sudo tail -1 /etc/shadow
恢复
sudo usermod -U

直接修改配置文件
可将/etc/passwd文件和/etc/shadow文件关于user1账户的passwd域的第一个字符前加上一个*,达到禁用目的,恢复即删除*

删除用户账户

直接编辑文件

userdel命令
userdel [-r] username


维护组账户

  • 创建组
    groupadd、addgroup
  • 修改组:
    groupmod [选项]
    -n 改名称
    -g 改gid
  • 删除组
    groupdel

为组添加用户

  • gpasswd命令
    gpasswd [选项] [用户] [组]
    -a 把用户加入组
    -d 把用户从组删除
    -r 取消组的密码
    -A 给组指派管理员
    logout 注销管理员登录

配套练习

子项目1.用户的管理
● 创建一个新用户user01,设置其主目录为/home/user01。
● 查看/etc/passwd文件的最后一行,看看是如何记录的。
● 查看文件/etc/shadow文件的最后一行,看看是如何记录的。
● 给用户user01设置密码。
● 再次查看文件/etc/shadow文件的最后一行,看看有什么变化。
● 使用user01用户登录系统,看能否登录成功。。
● 锁定用户user01。
● 查看文件/etc/shadow文件的最后一行,看看有什么变化。
● 再次使用user01用户登录系统,看能否登录成功。
● 解除对用户user01的锁定:
● 更改用户user01的帐户名为user02:。
● 查看/etc/passwd文件的最后一行,看看有什么变化。
● 删除用户user02。

参考答案

useradd –d /home/user01 -m user01
tail -l /etc/passwd
tail -l /etc/shadow
passswd user01
tail -l /etc/shadow
(自行登录,能成功)
passwd -l user01
tail -l /etc/shadow
(自行登录,不能成功,Login incorrect)
passwd -u user01
usermod –l user02 user01
tail -l /etc/passwd
userdel user02

子项目2.组的管理
● 创建一个新组,stuff:。
● 查看/etc/group文件的最后一行,看看是如何设置的。
● 创建一个新帐户user02,并把他的起始组和附属组都设为stuff。
● 查看/etc/group文件中的最后一行,看看有什么变化。
● 给组stuff设置组密码。
● 在组stuff中删除用户user02。
● 再次查看/etc/group文件中的最后一行,看看有什么变化。
● 删除组stuff。

参考答案

groupadd stuff
tail -l /etc/group
useradd –g stuff –G stuff user02
tail -l /etc/group
gpasswd stuff
gpasswd –d user02 stuff
tail -l /etc/group
groupdel stuff

你可能感兴趣的:(Linux,linux,shell)