Linux学习笔记(五) 账号管理

简介: Linux学习笔记(五) 账号管理

在 Linux 中,账号分为两类,一种是用户账号,另一种是组账号

用户账号包括实际人员和逻辑性对象,例如应用程序执行工作的账号也是用户账号的一种

而组账号是一个逻辑性的单元,用来集合特定的用户,以便于管理其中的所有成员对文件的访问权限



1、账号信息


(1)用户账号信息


用户账号信息记录在/etc/passwd文件中,其中每一行代表一个用户的账号信息

每行以: 分割不同的字段记录,例如 root 管理员所在行是:root:x:0:0:root:/root:/bin/bash

每个字段所代表的含义如下:

  • 名称:用户账号名称
  • 密码:通常不是明文,一般用 x表示
  • UID:每一个用户账号都有一个唯一的标识,称为 UID
  • GID:每一个组账号也都有一个唯一的标识,称为 GID
  • 用户信息:该账号的附加信息
  • 工作目录:用户的主工作目录,除 root 账号是/root 外,其他账号默认是 /home/username
  • 登陆终端:用户登陆时使用的终端,默认是 /bin/bash,可以使用 chsh 命令更改登陆终端


出于安全性的考虑,/etc/passwd 文件不会记录密码,真正的密码会加密后记录在 /etc/shadow 文件


(2)组账号信息


在管理账号时,应以组为基本单位,组账号信息记录在 /etc/group文件中,每一行代表一个组账号信息

每一行也是以 : 分割不同的字段记录,例如 root 管理员所属组所在行是:root:x:0:user1,user2

每个字段所代表的含义如下:

  • 名称:组账号的名称
  • 密码:通常不是明文,一般用 x 表示
  • GID:组账号的唯一标识
  • 用户列表:在该组账号下的用户账号,不同的账号之间用 , 隔开


同样的,对于组账号也存在一个 /etc/gshadow 文件用于提高密码的安全性


2、添加账号


(1)添加用户账号


可以使用 useradd [options] 账号名命令添加用户账号,其常用的参数如下:

参数 描述
-e 指定账号的有效期限
-d 指定账号的登陆目录
-s 指定账号的登陆终端
-g 指定 GID
-u 指定 UID


(2)添加组账号


可以使用 groupadd [options] 账号名 命令添加组账号,其常用的参数如下:

参数 描述
-g 指定 GID
-o 允许使用重复的 GID


3、修改账号


(1) 修改用户账号


可以使用usermod [options] 账号名 命令修改用户账号,其常用的参数如下:

参数 描述
-l 修改账号的用户名称
-e 修改账号的有效期限
-d 修改账号的登陆目录
-s 修改账号的登陆终端
-f 修改密码的有效天数
-g 修改 GID
-u 修改 UID


(2)修改组账号


可以使用 groupmod [options] 账号名 命令修改组账号,其常用的参数如下:

参数 描述
-g 修改 GID
-o 允许使用重复的 GID


4、删除账号


(1)删除用户账号


删除用户账号比较复杂,需要按照以下的步骤逐一进行

  1. /etc/passwd 文件中删除对应的用户记录
  2. /etc/shadow 文件中删除对应的用户记录
  3. /etc/group   文件中删除与用户同名的组记录
  • 删除用户的主工作目录


(2)删除组账号


删除组账号只需要使用命令 groupdel 账号名 即可,但是此时组中任何一个用户都不能在系统登陆


5、密码管理


普通用户只能修改自己的密码,而管理员则可以管理所有用户的密码,一般常见的操作如下

  • 修改密码:修改登陆密码
  • 执行命令 passwd 可修改自己的密码,执行命令 passwd 用户名 可修改指定用户的密码
  • 删除密码:删除密码后用户无需输入密码就能直接登陆
  • 执行命令 passwd -d 用户名,或者将 /etc/paswswd /etc/shadow 文件中的密码字段置空
  • 锁定密码:锁定账号后用户无法继续登陆
  • 执行命令 passwd -l 用户名,或者在 /etc/passwd 文件中对应账号的行前面加上 锁定账号
  • 打开密码:打开锁定的密码,让用户可以继续登陆
  • 执行命令 passwd -u 用户名,或者在 /etc/passwd 文件中对应账号的行前面去掉 解除锁定

文章知识点与官方知识档案匹配,可进一步学习相关知识

目录
相关文章
|
1月前
|
缓存 网络协议 Linux
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
75 0
|
1月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
74 0
|
1月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
52 0
|
1月前
|
Linux 开发工具 索引
Linux 学习笔记索引
Linux 学习笔记索引
|
1月前
|
缓存 监控 Linux
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
|
1月前
|
监控 Linux
Linux学习笔记十二:Linux 工作管理
Linux学习笔记十二:Linux 工作管理
Linux学习笔记十二:Linux 工作管理
|
1月前
|
Linux 数据安全/隐私保护
Linux学习笔记九:权限管理
Linux学习笔记九:权限管理
Linux学习笔记九:权限管理
|
1月前
|
Ubuntu Unix Linux
Linux 学习笔记一: 常见操作系统相关概念
Linux 学习笔记一: 常见操作系统相关概念
Linux 学习笔记一: 常见操作系统相关概念
|
1月前
|
缓存 Unix Linux
Linux学习笔记
Linux学习笔记
261 0
|
1月前
|
安全 Linux 数据安全/隐私保护
Linux 学习笔记十八:SELinux 相关概念
Linux 学习笔记十八:SELinux 相关概念