Linux学习笔记(五) 账号管理
1、用户与组账号
用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号)
每一个用户账号包含一个唯一的用户 ID 和组 ID
标准用户是系统安装过程中自动创建的用户账号,其中除 root 是管理者外,其余的都是系统账号
组账号:组是逻辑性单元,用来集合特定的用户,以便于其中的所有成员对文件具有相同的访问权限
标准组是系统自动添加的,其中除 root 组用来组织管理者外,其余的供程序执行时使用
2、账号信息
(1)用户账号信息
有关用户账号的信息都记录在 /etc/passwd 文件中,其中每一行代表一个用户账号信息
每个用户数据中,以 : 分割不同的字段记录,例如 root 管理员的信息:root:x:0:0:root:/root:/bin/bash
其中各个字段的含义列举如下:
登陆名称:即用户账号,由 root 或具有相同权限的管理员指定
密码:通常以
x表示,如果显示*,则表示此账号停用,可使用passwd命令更改自己的密码另外,出于安全性的考虑,最好不要直接在
/etc/passwd文件中指定密码UID:每一个用户账号都有一个唯一的号码,称为 UID,最大可达 65335
其中 root 的 UID 为 0,并且 500 之前的 UID 都是预留给系统服务使用的,第一个添加的账号的 UID 是 1000
GID:每一个组账号都有一个唯一的号码,称为 GID
其中 root 所属组 GID 为 0,第一个添加的组的 GID 是 1000
用户信息:账号的附加信息
主目录:用户登陆后直接进入的目录,除 root账号是
/root外,其他账号默认是/home/username登陆 shell:用户登陆时使用的 shell,默认是
/bin/bash,用户可以使用 chsh 命令更改登陆 shell
/etc/shadow 文件主要用于密码保护,它是根据 /etc/passwd 产生的一个文件
在 Ubuntu 安装期间默认启用 Shadow Password 和 MD5 密码保护功能
若在系统中使用 /etc/shadow 文件,则利用 /etc/passwd 文件建立账号的方法将会失效
(2)组账号信息
在进行账号管理时,应以组为管理的基本单位,组的信息记录在 /etc/group 文件中,每一行代表一个组账号数据
每个用户数据中,以 : 分割不同的字段记录,例如 root 管理员所属组的信息:root:x:0
- 登陆名称:组账号名称
- 密码:通常以
x表示 - GID:组账号 ID
- 用户列表:账号间以
,隔开
同样的,对于组账号也有一个对应的 /etc/gshadow 文件用于提高账号的安全性
3、添加账号
(1) 添加用户账号
可以使用 useradd 账号名 命令添加用户账号,其常用的参数如下:
| 参数 | 描述 |
|---|---|
| -d | 指定账号的登陆目录 |
| -e | 指定账号的有效期限 |
| -g | 指定 GID |
| -u | 指定 UID |
| -s | 指定账号的登陆 shell |
(2)添加组账号
可以使用 groupadd 账号名 命令添加组账号,其常用的参数如下:
| 参数 | 描述 |
|---|---|
| -g | 指定 GID |
| -o | 覆盖原有 GID |
4、修改账号
(1) 修改用户账号
可以使用 usermod 账号名 命令修改用户账号,其常用的参数如下:
| 参数 | 描述 |
|---|---|
| -l | 指定账号的用户名称 |
| -d | 指定账号的登陆目录 |
| -e | 指定账号的有效期限 |
| -g | 指定 GID |
| -u | 指定 UID |
| -s | 指定账号的登陆 shell |
| -f | 缓冲天数 |
| -c | 注释 |
(2)修改组账号
可以使用 groupmod 账号名 命令修改用户账号,其常用的参数如下:
| 参数 | 描述 |
|---|---|
| -g | 指定 GID |
| -o | 重复使用 |
5、删除账号
(1)删除用户账号
删除用户账号需要经过以下几个比较繁杂的步骤:
- 在
/etc/passwd文件中删除用户记录 - 在
/etc/shadow文件中删除用户记录 - 在
/etc/group文件中删除与用户同名的组记录 - 删除用户主目录
- 删除用户的电子邮件记录,一般存放在
/var/spool/mold目录下 - 删除用户的 arontab 设置,一般存放在
/var/spool/cron目录下
(2)删除组账号
只需要使用命令 sudo groupdel 组名称 即可,但是要注意此时组中任何一个用户不能在系统登陆
6、密码管理
对于普通用户只能更改自己的密码,使用 passwd 命令即可
对于管理员则可以管理所有用户的密码
- 删除密码:
passwd -d 用户名,删除密码后用户无需输入密码就可以直接登陆 - 锁定密码:
passwd -l 用户名,锁定账号后用户无法继续登陆 - 打开锁定密码:
passwd -u 用户名,注意若此账号使用了空白密码,则需要使用-f参数强制打开
除了使用命令管理用户密码之外,还可以使用文件管理用户密码
- 删除密码:将
/etc/paswswd和/etc/shadow文件中的密码字段中的x清除 - 锁定密码:在
/etc/passwd文件中账号前面加上#锁定账号 - 打开锁定密码:在
/etc/passwd文件中账号前面去掉#即可
【Linux学习笔记相关文章】
- Linux学习笔记(一) 文件系统
- Linux学习笔记(二) 文件管理
- Liunx学习笔记(三) 文件权限
- Linux学习笔记(四) vi编辑器
- Linux学习笔记(五) 账号管理
- Linux学习笔记(六) 进程管理
- Linux学习笔记(七) 查询系统
Linux学习笔记(五) 账号管理的更多相关文章
- Linux学习笔记(六) 进程管理
1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...
- Linux学习笔记12—磁盘管理
一.查看磁盘或目录的容量 1. df命令 作用:查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 参数: -I : 查看inodes使用状况 -h: 使用合适的 ...
- Linux System Programming 学习笔记(五) 进程管理
1. 进程是unix系统中两个最重要的基础抽象之一(另一个是文件) A process is a running program A thread is the unit of activity in ...
- Linux学习笔记<五>
管道命令(pipe) 1.把一个命令的输出作为另一个命令的输入 ls -al /etc | less 2.选取命令:cut和grep cut命令可以将一段消息的某段切出来. -d接分隔符,-f是取出第 ...
- linux —— 学习笔记(用户管理与权限控制)
目录:1.用户的创建和管理 2.组的创建和管理 3.文件执行权限的控制 4.不用密码执行sudo 1.用户的创建和管理 用户的创建和管理: useradd.usermod . userdel . ...
- Linux学习笔记<五>——<Shell部分>
管道命令(pipe) 1.把一个命令的输出作为另一个命令的输入 ls -al /etc | less 2.选取命令:cut和grep cut命令可以将一段消息的某段切出来. -d接分隔符,-f是取出第 ...
- 嵌入式linux学习笔记1—内存管理MMU之虚拟地址到物理地址的转化
一.内存管理基本知识 1.S3C2440最多会用到两级页表:以段的方式进行转换时只用到一级页表,以页的方式进行转换时用到两级页表.页的大小有三种:大页(64KB),小页(4KB),极小页(1KB).条 ...
- Linux学习笔记 -- 磁盘的管理
df df命令参数功能:检查文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 语法: df [-ahikHTm] [目录或文件名] 选项与参数: -a ...
- linux 学习笔记五 查看文件篇章
1 diff -y test.txt test2.txt 输出源文件与目标文件的全部 分为左右两篮 如下 --------------------------------------------- ...
随机推荐
- YTU 2509: 奇怪的分式
2509: 奇怪的分式 时间限制: 1 Sec 内存限制: 128 MB 提交: 113 解决: 48 题目描述 上小学的时候,小明经常自己发明新算法.一次,老师出的题目是: 1/4 乘以 8 ...
- 获得了Root权限后Read-only file system
获得了Root权限后,adb shell进入文件系统,有时仍然不能对系统文件夹进行写操作,典型的如删除/system/app下的Apk, 例如系统报:rm failed for xxx.apk, Re ...
- CPU开销sql server 性能调优
sql server 性能调优 CPU开销分析 一. 概述 上次在介绍性能调优中讲到了I/O的开销查看及维护,这次介绍CPU的开销及维护, 在调优方面是可以从多个维度去发现问题如I/O,CPU, 内存 ...
- Face alignment at 3000FPS via Regressing Local Binrary features 理解
这篇是Ren Shaoqing发表在cvpr2014上的paper,论文是在CPR框架下做的,想了解CPR的同学可以参见我之前的博客,网上有同学给出了code,该code部分实现了LBF,链接为htt ...
- js moment.js日期操作类 datetime,日期操作,dayjs
http://momentjs.com/ JS时间处理插件MomentJS https://juejin.im/post/5a2bdc55f265da432b4abf5e Day.js 2kB超轻量时 ...
- 视图解析器InternalResourceViewResolver在什么情况下需要配置?在什么情况下不需要配置?
如果路径名是逻辑名的话,必须配置 -------------- 相对路径,即逻辑名称如果路径名是真实名的话,可选配置 若是绝对路径,则不用配置,即真实名称 注:试一下逻辑名和真实名的例子*****有用 ...
- 纵横填字map版(初始数据结构)
新数据结构设计: 定义一个map: key是横纵坐标字符串,比如“0,4” value是一个json,包含以下属性:字,横向的词(若 有的话,无的话,空串),纵向的词(若有的话,无的话,空串). 另有 ...
- eclipse中folder、source folder和package的区别
今天做ssm项目时,突然发现了这个问题,特别好奇,sqlSessionFactory.xml文件如何找到: 1.放在src/hello目录下: InputStream inputStream = Re ...
- Java多线程——线程之间的同步
Java多线程——线程之间的同步 摘要:本文主要学习多线程之间是如何同步的,如何使用volatile关键字,如何使用synchronized修饰的同步代码块和同步方法解决线程安全问题. 部分内容来自以 ...
- Django基础之创建程序
环境配置 安装python35 安装django:pip install django==1.9.5 创建django程序 1.命令行创建django程序 A django-admin startpr ...