/etc/passwd
第一列:用户名
第二列:加密密码(x表示密码占位符,密码保存在/etc/shadow中)
第三列:用户的ID号
第四列:组的ID号
第五列:用户的描述信息
第六列:用户宿主目录
第七列:用户默认使用的shell(/etc/shells可以查看系统已安装哪些shell)

/etc/shadow
第一列:用户名
第二列:用户加密后的密码
第三列:最后一次更改密码时间(从1970年1月1日算起)
第四列:密码最小使用时间(期限内用户无法更改密码)
第五列:密码最长使用时间(期限过来之后用户必须更改密码)
第六列:密码过期前警告时间
第七列:密码过期后一个宽限时间
第八列:密码失效时间
第九列:保留

passwd:为用户设置密码/锁定解锁用户/查看状态
语法:passwd [options] username
root用户可以为普通用户设置密码
-l:锁定用户(暂时无法登陆系统)
-u:解锁用户
-S(大写):查看用户状态,现实/etc/shadow文件中各种字段的内容
--stdin:标准输入,经常用在shell脚本编程中为用户自动设置密码
-d:删除用户密码,允许普通用户以空密码登录(不建议使用)
-e:设置用户密码过期,用户再次登录时,需要修改密码
-n:设置密码最小使用期限,修改/etc/shadow中的第四列
-x:设置密码最大使用期限,修改/etc/shadow中的第五列
-w:设置密码过期前的警告时间,修改/etc/shadow中的第六列
-i:修改过期后的宽限时间,修改/etc/shadow中的第七列

userdel:删除用户(修改/etc/passwd /etc/shadow /etc/group文件)
语法:userdel [options] username
-r:删除用户时,连同删除用户的宿主目录

usermod:修改用户属性(修改/etc/passwd中的内容)
语法:usermod [options] username
-c:更改用户的描述信息
-d:更改用户的宿主目录
-e:更改用户的过期时间,格式YYYY-MM-DD
-f:修改/etc/shadow第七列内容
-g:修改用户的基本组
-G:修改用户的附加组
-l:修改用户的登录名
-s:修改用户的shell(需要系统支持的shell)
-L:锁定用户 (与passwd -l用法一样)
-U:解锁用户 (与passwd -u用法一样)

/etc/shadow密码区域解释(使用 man 3 crypt 可以查看详细介绍):
分三部分组成:用$隔开
第一部分:加密算法
1:表示用md5加密
5:表示用sha-256加密
6:表示用sha-512加密
第二部分:随机序列号
第三部分:随机序列号和设置的密码共同加密后的字符串(即使两个用户的密码一样,但由于随机序列号不一样,所以在/etc/shadow中看到的哈希值也会不一样)

加密算法:
对称加密:加密和解密使用相同的密码(效率高,但不够安全)
非对称加密:加密和解密使用不同的密码
单向加密,散列加密:提取数据的特征码,常用于数据完整性校验(md5、sha256、sha512等)
(1)不可逆
(2)定长输出
(3)雪崩效应:输入数据一小点儿的变化,会引起结果的巨大的变化

/etc/default/useradd文件解释:
# useradd defaults file //注释行
GROUP=100 //可以创建普通组
HOME=/home //普通用户宿主目录位置(在/home下生成和用户同名的目录,作为用户的宿主目录)
INACTIVE=-1 //是否启用用户过期停止使用权,-1代表不启用
EXPIRE= //设定过期时间,格式为20180808
SHELL=/bin/bash //设定用户的默认使用的shell
SKEL=/etc/skel //新用户宿主目录模板目录
CREATE_MAIL_SPOOL=yes //是否为用户启用邮件通知功能

/etc/skel:目录(用户宿主目录模板目录)----只对新建用户生效
.bash_logout:用户注销时执行的命令
.bash_profile:用户登录系统时执行的命令(用户变量)
.bashrc:用户登录一个新shell时执行的命令

/etc/login.defs文件解释(也是只对新建用户生效):
MAIL_DIR /var/spool/mail //用户系统邮件存放目录
PASS_MAX_DAYS 9999 //密码最长使用期限
PASS_MIN_DAYS 0 //密码最短使用期限,0代表不受限制
PASS_MIN_LEN 8 //密码的最小长度
PASS_WARN_AGE 7 //密码过期前的警告时间
UID_MIN 1000 //普通用户最小的UID号
UID_MAX 60000 //普通用户最大的UID号
SYS_UID_MIN 201 //系统用户最小的UID号
SYS_UID_MAX 999 //系统用户最大的UID号
GID_MIN 1000 //普通组的最小GID号
GID_MAX 60000 //普通组的最大GID号
SYS_GID_MIN 201 //系统组最小的GID号
SYS_GID_MAX 999 //系统组最大的GID号
CREATE_HOME yes //是否创建宿主目录
UMASK 077 //关于权限的反掩码
USERGROUPS_ENAB yes //删除用户时候是否删除组
ENCRYPT_METHOD SHA512 //用户密码的加密方式

id:显示用户和组的ID
语法:id [options] username
-a:忽略其他版本区别
-Z(大写):显示安全上下文内容(selinux)
-g:显示有效组的id
-G:显示所有组的id
-n:不显示组号,显示名字
-u:显示用户id号

chage:修改用户密码的时间信息(/etc/shadow)
语法: chage [options] username
-l:列出用户的详细密码参数
-d:修改/etc/shadow第三列内容,后面跟日期,格式YYYY-MM-DD
-E:修改/etc/shadow中第八列内容,后面跟日期,格式YYYY-MM-DD
-I:修改/etc/shadow中第七列内容,后面接天数
-m:修改/etc/shadow第四列/内容,后面接天数
-M:修改/etc/shadow第五列内容,后面接天数
-W:修改/etc/shadow第六列内容,后面接天数

/etc/group:
第一列:组的名字
第二列:组的密码区域
第三列:组的id号(gid)
第四列:组中的成员

/etc/gshadow:
第一列:组的名字
第二列:组的密码
第三列:组的管理员
第四列:组成员列表

groupadd:
-d:创建组时指定组的id号
-r:添加一个系统组

groupdel:删除一个组
默认情况下,不能删除一个用户的基本组,可以通过修改用户的基本组之后再删除该组
可以删除用户的同时,系统会删除同名基本组(但是该组必须只有一个用户,否则删除不了)

groupmod:修改组的属性
-g:修改gid号
-n:为组重命名

gpasswd:为组设置密码,设置组的管理员,添加组成员
-A:为组设置管理员
-M:把一些用户添加到组中,用逗号隔开
-r:为组移除密码
-R:让组的密码失效
-a:为组添加成员(组的管理员操作命令)
-d:删除组成员(组的管理员操作命令)

newgrp:为用户修改有效组(只在当前shell生效)

groupmems:为组添加成员,显示组成员列表

转载于:https://www.cnblogs.com/relax1949/p/8783542.html

用户相关的文件、解析以及命令的使用相关推荐

  1. Linux 命令之 userdel -- 用于删除给定的用户以及与用户相关的文件

    文章目录 命令简介 常用选项 参考示例 删除用户 命令简介 userdel 命令用于删除指定的用户及与该用户相关的文件,英文全称即"user delete".在 Debian 上, ...

  2. jmap 文件解析_jmap命令详解(转)

    1.命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有'对象'的情况(如:产生那些对象,及其 ...

  3. 【文件上传漏洞11】中间件文件解析漏洞基础知识及实验——Nginx

    目录 1 文件解析漏洞概述 1.1 概述 1.2 Nginx 解析漏洞 1.2.1 空字节解析漏洞 1.2.2 文件名逻辑漏洞 CVE-2013-4547 1.2.3 CGI-PHP 解析漏洞 2 实 ...

  4. 用户相关命令与文件权限(普通、特殊、隐藏、ACL)

    1.用户相关命令 useradd - 创建用户,默认创建与用户名同名的用户组 groupadd - 创建用户组 usermod - 修改用户的属性,如UID.所属组.附加组等 passwd - 修改密 ...

  5. linux文件类型及用户相关命令

    Linux文件类型: 普通文件:-,file(内容格式) 目录文件:d 块设备:  b 字符设备:c 符号链接文件:l 套接字文件:s 命名管道文件:p 文件:属主.属组 属主:拥有者 属组:所属的组 ...

  6. java file取不到linux文件_Java中高级核心知识全面解析——Linux基本命令(切换、增删改查、压缩文件、权限命令)...

    一.目录切换命令 cd usr: 切换到该目录下usr目录 cd ..(或cd../): 切换到上一层目录 cd /: 切换到系统根目录 cd ~: 切换到用户主目录 cd -: 切换到上一个操作所在 ...

  7. Hyperledger Fabric相关文件解析

    1相关文件说明 这一部分涉及相关配置文件的解析, 网络的启动涉及到多个文件,本文按以下顺序进行分析: . ├── base │ ├── docker-compose-base.yaml #1 │ └─ ...

  8. 与用户登录shell相关的文件/etc/profile,~/bashrc等浅析

    http://leejia.blog.51cto.com/4356849/777700 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http ...

  9. Linux基础命令及用户相关操作

    Linux基础命令及用户相关操作 基础命令 在根下边创建目录log: 查询以.log结尾的文件,将他们复制到创建好的目录中: 查看目录确认复制成功: 用gzip的方式对其进行压缩: 到根下查看,存在压 ...

最新文章

  1. projecteuler_problem10
  2. weather at Cambridge will be fine next week
  3. C语言-结构体内存对齐
  4. eureka自我保护功能
  5. 多线程启动定时器 会等待上一次执行完成?_Java多线程
  6. ubuntu各版本的区别
  7. AS3文本框的操作,为密码框添加按钮
  8. C语言单循环比赛固定轮转法,高手请进,请教一道简单的c语言题!
  9. 免Root–获取WIFI密码
  10. Docker容器技术与应用(项目1 Docker容器简介)
  11. Linux 下 setfacl访问控制的使用
  12. 使用nodejs机器学习进行app流量判别
  13. 解决富文本编辑器wangeditor 光标跳动的问题
  14. 使用 APlayer 实现音乐播放器
  15. iOS中 流媒体播放和下载 韩俊强的博客
  16. 要想高效率完成软件测试工作,请牢记以下几点
  17. scrapy简单入门 - 爬取伯乐在线所有文章
  18. java虚拟机之gc
  19. 建立自己的kindle书库,并实现公网访问
  20. 雷蛇linux识别,雷蛇键盘配置工具 for linux

热门文章

  1. python将数据存入数据库_python3 两种方法将数据存入mysql数据库
  2. windows环境下python怎么安装mlxtend-python连接QQ实现自动回复python 机器学习库
  3. VIM: quickFix窗口的使用
  4. Oracle执行exists优化,PHP_解决Oracle性能优化中的问题, 在Oracle性能优化时,用exists - phpStudy...
  5. icc校色文件使用教程_Flink教程-flink 1.11使用sql将流式数据写入文件系统
  6. python变量按其作用域可分为_python变量的作用域一
  7. dw网页设计作品_10个富有特色的网页设计精选作品
  8. FPGA 控制 FLASH 之 Startup 原语使用相关链接
  9. 离散时间复指数序列的周期性质
  10. OpenStack潜力巨大:红帽打造生态系统