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 ...
随机推荐
- vscode 配置Git
步骤: 下载Git客户端 配置环境变量 设置vscode与Git的关联 重启 步骤一: 该网址,下载即可. https://git-scm.com/downloads 步骤二: 计算机 > 属性 ...
- js 组件化
我的github样例:https://github.com/hzijone/javascript_module js 用对象的方式实现组件化. 1.对一个对象里增加方法的方式: 把模块的变量传给函数, ...
- A - 最大子矩阵 HYSBZ - 1084 (DP)
题目链接:https://cn.vjudge.net/contest/281963#problem/A 题目大意:中文题目 具体思路:观察到m<=2,所以我们可以对两种情况进行单独讨论,当m== ...
- 电脑kail linux 连接手机Nethunter,手机和电脑互传文件
1.开启nethunter的ssh 修改/etc/ssh/sshd_config 参考:解决kali linux 开启ssh服务后连接不上的问题 2.如果在手机终端修改不了(我的就是怎么也改不了),可 ...
- VS2017编译boost库
1.http://www.boost.org/ 下载boost库. 2.解压到 D:\ProgramFiles\boost 3.环境配变量配置 VS2017更加注重跨平台性,安装文件较 ...
- Qt Ubuntu 编译出错-1: error: 找不到 -lGL
安装好,编译界面程序出错“-1: error: 找不到 -lGL” 在终端运行如下命令(安装Qt5.8.0) sudo apt-get install libqt5-dev sudo apt-get ...
- listener failed: zbx_tcp_listen() fatal error: unable to serve on any address [[-]:20050]
故障现象: 客户端报错:service zabbix-agent 启动后,端口没有被正常监听,服务端也无法正常连接 将客户端改为二进制文件安装也不能正常启动/usr/local/zabbix/sbin ...
- 通达OA系统优化-对mysql数据库减肥
OA系统冗余数据过多,访问效率受到影响,现需要对历史数据进行一次清理,以提高OA访问速度 大的数据主要体现在流程上,流程数据主要放在flow_run,flow_run_data,flow_run_pr ...
- PHP共享内存详解
前言 在PHP中有这么一族函数,他们是对UNIX的V IPC函数族的包装. 它们很少被人们用到,但是它们却很强大.巧妙的运用它们,可以让你事倍功半. 它们包括: 信号量(Semaphores) 共享内 ...
- poj3667 区间合并,找最左边的空余块
题很简单:给两个操作1:查找最左边的a个空余块并填满 2:把从第a个开始的连续b个块置空 线段树维护左连续,右连续,最大连续,lazy-tag即可,query函数值得学习 #include<io ...