Linux学习之用户配置文件详解(十四)
Linux学习之用户配置文件详解
目录
用户信息文件/etc/password
影子文件/etc/shadow
组信息文件/etc/group
组密码文件/etc/gshadow
用户信息文件/etc/password
用户管理
用户管理对个人机来说意义不大,但是越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。
在Linux中主要是通过用户配置文件来查看和修改信息。
用户信息文件/etc/passwd

每一个用户为一行,每个信息用冒号隔开。
第一个字段:用户名称
第二个字段:密码标志,这个标记为x,只要有这个标记意味用户是有密码的,密码保存在/etc/shadow
第三个字段:UID(用户ID),每个用户都有一个ID,用来唯一标识用户。
0:超级用户
1-499:系统用户(伪用户)
500-65535:普通用户
第四个字段:GID(用户初始组ID)
初始组和附加组
初始组:就是指用户一登录就立即拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般就是和这个用户的用户名相同的组名作为这个用户的初始组。
附加组:指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。
每个用户必须得有一个初始组,当创建用户的时候就会生成一个和用户名相同的组,可以将用户改为其他初始组,但是最好不要这么做,如果想将用户添加别的组,可以添加到附加组,附加组可
以有多个,最后我们可以在/etc/group里查看所有组。
第五个字段:用户说明
第六个字段:家目录
普通用户:/home/用户名/
超级用户:/root/
第七个字段:登录后的Shell
查看/etc/passwd的权限(644)

Shell是什么?
Shell就是Linux的命令解释器。
其实就是将用户输入的命令给命令解释器解析传给内核,内核做出应答,显示内容导命令窗口的过程。
在/etc/passwd当中,除了标准Shell是/bin/bash之外,还可以写如/sbin/nologin
我们要注意的是:
所有普通用户的Shell必须是/bin/bash,才能正常登录。
怎么将一个普通用户改成管理员?
我们首先添加一个用户user1,这里只需要将第三个字段改为0,就可以变成系统管理员。

怎么将一个用户禁止登录?
只需要将最后一个字段改为/sbin/nologin。
最后,添加用户信息的时候,不要错误,可能导致这个用户无法登录系统。
影子文件/etc/shadow
影子文件/etc/shadow
用来存放用户密码信息。
第一个字段:用户名
第二个字段:加密密码
加密算法升级为SHA512散列加密算法
如果加密位是"!!"或"*"代表没有密码,不能登录
第三个字段:密码最后一次修改日期
使用1970年1月1日作为标准时间,每过一天时间戳加1
第四个字段:两次密码的修改间隔(和第三个字段相比)
就是改一次密码,需要几天才能第二次该密码
第五个字段:密码有效期(和第三个字段相比)
第六个字段:密码修改到期前的警告天数(和第五个字段相比)
如果我们在第五个字段设置为90天,第六个字段设置为7天,当我们在创建用户的83时,使用这个用户每次登录到系统,都会提示让你修改密码
第七个字段:密码过期后的宽限天数(和第五个字段相比)
0:代表密码过期后立即失效
-1:则代表密码永远不会失效
第八个字段:账号失效时间
第九个字段:保留
时间戳与日期的转换
时间戳换算为日期
date -d "1970-01-01 16076 days" 日期换算为时间戳
echo $(($(date --date="2019/02/06" +%s)/86400+1))
组信息文件/etc/group
组信息文件/etc/group

第一个字段:组名
第二个字段:组密码标志,标志这个密码是放到/etc/gshadow
第三个字段:GID
第四个字段:组中附加用户
怎么查看一个用户属于哪个组?
先查看/etc/passwd文件,看用户的组ID。
再查看/etc/group文件,查找与组ID相同的行,则代表用户在这个组。
组密码文件/etc/gshadow
组密码文件/etc/gshadow
第一个字段:组名
第二个字段:组密码
这个组密码是干嘛的?
只有root用户才能把一个用户加到其他用户组,如果root用户太忙了,我们可以给组选一个管理员,也就是说我们给每个小组选一个组长,给这个组长设一个密码,他就可以把其他用户添加到自己组里来,
但这样做降低了系统的安全性,不推荐这样做。
第三个密码:组管理用户名
第四个字段:组中附加用户
Linux学习之用户配置文件详解(十四)的更多相关文章
- Linux学习之ACL权限详解(十)
Linux系统ACL权限详解 目录 ACL权限简介与开启 查看与设定ACL权限 最大有效权限与删除ACL权限 默认ACL权限和递归ACL权限 ACL权限简介与开启权限 ACL权限简介 用户权限管理始终 ...
- Linux:SSH服务配置文件详解
SSH服务配置文件详解 SSH客户端配置文件 /etc/ssh/ssh——config 配置文件概要 Host * #选项“Host”只对能够匹配后面字串的计算机有效.“*”表示所有的计算机. For ...
- Linux学习之守护进程详解
Linux系统守护进程详解 ---转自:http://yuanbin.blog ...
- Linux学习之sed命令详解
概述 sed是stream editor的简称,也就是流编辑器.它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区 ...
- Linux学习笔记17--Linux系统启动详解
多数操作系统的启动流程: BIOS启动自检 ->MBR引导->执行引导程序GRUB->加载内核->执行init->runlevel BIOS(Basic Input ...
- Linux学习之iostat命令详解
我们可以用iostat 命令来监视系统输入/输出.设备负载,这通过观察与它们的平均传送速率相关的物理磁盘的活动时间 来实现.iostat 命令生成的报告可以用来更改系统配置,从而更好地平衡物理磁盘和适 ...
- linux下的apache配置文件详解
.Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改. 站点的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/s ...
- Linux学习之CentOS(八)----详解文件的搜寻、查找(转)
which (寻找『运行档』) [root@www ~]# which [-a] command 选项或参数: -a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称 分 ...
- Elasticsearch学习系列之配置文件详解
################################### Cluster ################################### #定义集群名称,默认是elasticse ...
随机推荐
- python技巧 python2中的除法结果为0
在python2中执行除法操作如果结果小于1就会返回0 如下面的例子: >>>81/82 0 如果你需要返回"正确的结果 ",有两种方法: 在脚本中引入from ...
- Python|绝不乱入的靠谱书单
- 扫AR
- phantomjs 下拉滚动条获取网页的全部源码
//codes.js var system = require('system'); var fs = require("fs"); //console.log('Loading ...
- oracle查看表名称和表字段注释
--查询该表字段的注释select * from user_col_comments where Table_Name like '%SMS%' --查询类似表select * from user_t ...
- nagios系列(五)之nagios图形显示的配置及自定义插件检测密码是否修改详解
nagios图形显示的配置 在服务端安装相关软件 #1.图形显示管理的依赖库 yum install cairo pango zlib zlib-devel freetype freetype-dev ...
- Vue项目之背景图片打包后路径错误
第一种方法: 原因: 首先,出错点在url-loader上面. // url-loader配置 // build/webpck.base.conf.js { test: /\.(png|jpe?g|g ...
- webstrom随手笔记
1.node代码智能提示功能: 2.页面代码格式化快捷键: Ctrl+Alt+L键,或者Code =>Rearrange code
- Linux 快速删除已输入的命令
从输入模式到命令模式: 按”:“到最后一行,再按ctrl+z 就好了 history 显示命令历史列表 ↑(Ctrl+p) 显示上一条命令 ↓(Ctrl+n) 显示下一条命令 !num 执行命令历史列 ...
- java 扫描输入
到目前为止,从文件或标准输入读取数据还是一件相当痛苦第事情,一般第解决之道就是读入一行文本,对其进行分词,然后使用Integer Double 等类第各种解析方法来解析数据: //: strings/ ...