1.用户信息文件  /etc/passwd

示例
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

7个字段含义

第1个字段:用户名称
第2个字段:密码标志 x表示 用户是有密码的 密码在/etc/shadow
第3个字段:UID (用户ID)
    0: 超级用户 系统最高级用户的uid表示,把普通用户uid改为0,普通用户也成管理员了,可同时有多个管理员
    1-499:系统用户(伪用户)
    500-65535: 普通用户
第4个字段:GID (用户初始组id)
第5个字段:用户说明备注
第6个字段:家目录
  普通用户:/home/用户名
  超级用户:/root
第7个字段:登录之后的shell
linux的命令解释器
普通用户/bin/bash
不能登录用户 /sbin/nologin

初始组和附加组
初始组:指用户已登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,
一般就是和这个用户的用户名相同的组名作为这个用户的初始组
附加组:指用户可以加入多个其它的用户组,并拥有这些组的权限,附加组可以有多个

2.影子文件 /etc/shadow  权限000

/etc/passwd   644

root:$6$nqH42SD3OTNQS3kk$AOec/Whtl5nERj9KFmU.Kwgia1pkw1XWIIfhYMzPqz/sx4EyQJIW0ONrircuhu3wWI4VKJ6kBU1KN6.CVyq6X.:16813:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::

9个字段
第1个字段:用户名
第2个字段:加密密码
加密算法升级为sha512散列加密算法
如果密码是 "!!" 或 "*" 代表没有密码,不能登录
第3个字段:密码最后一次修改日期 时间戳
第4个字段:两次密码的修改时间间隔(和第三个字段相比)
第5个 :密码有效期(单位 天) (和第3个字段相比)
第6个字段:密码修改到期前的警告天数(和第5个字段相比)
第7个字段:密码过期后的宽限天数(和第5个字段相比)
0:代表密码过期后立即失效 或者不写
-1:代表密码永不会失效
第8个 :账号失效时间 (时间戳表示)
第9个 :保留

时间戳换算为日期
date -d "1970-01-01 1 days" 1970年 01月 02日 星期五 00:00:00 EST
1970-01-01 1 天后的时间

date -d "2016-03-23 1 days"
2016年 03月 24日 星期四 00:00:00 EDT


date -d "1970-01-01 16867 days"
2016年 03月 07日 星期一 00:00:00 EST

3.组信息文件 /etc/group
第1个:组名
第2个:组密码标志
第3个:GID
第4个:组中附加用户

4.组密码文件:/etc/gshadow
第1个:组名
第2个:组密码
第3个:组管理员用户名
第4个:组中附加用户

用户管理相关文件
1.用户的家目录
普通用户:/home/用户名 ,所有者和所属组都是此用户 权限 700
超级用户: /root/,所有者和所属组都是root用户 权限是550
ll -d /root/
dr-xr-x---. 30 root root 4096 3月 23 11:32 /root/

修改/etc/passwd里的 某个普通用户
把用户的组id改为 管理员组 ,这个用户仍然是普通管理员,登录提示符 $
将其id改成管理员的id 0,登录提示符编程了 #
家目录不变,权限是超管的
2.用户的邮箱
/var/spool/mail/用户名
3.用户模板目录
/etc/skel/
在创建一个用户时,在其家目录下 会(根据模板(模板目录下的文件))自动拷贝生成 一些文件

---------------
用户管理命令
添加用户命令 useradd
修改用户密码 passwd
修改用户信息 usermod
修改用户密码状态 chage
删除用户 userdel
用户切换命令 su

1.useradd 命令格式
useradd [选项] 用户名
-u UID :手动指定用户的uid号
-d 家目录: 指定用户的家目录
-c 用户说明:指定用户说明
-g 组名: 指定用户的初始组
-G 组名 :指定用户的附加组,多个 用,分隔
-s shell: 指定用户登录shell,默认是/bin/bash

useradd -g  www www -s /bin/false   添加用户www到www组并禁止www用户直接登陆系统

用户默认值文件
/etc/default/useradd
GROUP=100 #默认用户组 现在是创建同名的组
HOME=/home/ #用户家目录
INACTIVE=-1 #密码过期宽限天数(shadow文件第7字段)
EXPIRE= #密码失效时间(shadow文件第8字段)
SHELL=/bin/bash #默认shell
SKEL=/etc/skel #模板目录
CREATE_MALL_SPOOL=yes #是否建立邮箱

/etc/login.defs
PASS_MAX_DAYS 999999 #密码有效期
PASS_MIN_DAYS 0 #密码修改间隔
PASS_MIN_LEN 5 #密码最小5位 (暂未生效,默认8位)
PASS_WARN_AGE 7 #密码到期警告,到期前提醒
UID_MIN 500 #最小和最大uid范围
GID_MAX 60000
ENCRYPT_METHOD SHA512 #加密模式

2. 修改用户密码 passwd
passwd [选项] 用户名
-S 查询用户密码的密码状态 仅root用户可用
-l 暂时锁定用户,仅root用户可用
-u 解锁用户 仅root用户可用
--stdin 可通过管道符输出的数据作为用户的密码

echo '123456'|passwd --stdin admin
将123456作为admin用户的密码
3.修改用户信息 usermod
修改用户密码状态chage
usermod与useradd类似,一个针对老用户,一个是针对新增用户的 选项一样
usermod [选项] 用户名
-u UID 修改用户的UID号
-c 用户说明 修改用户的说明信息
-G 组名 修改用户的附加组
-g 初始组 修改初始组
-L 临时锁定用户 (Lock)
-U 解除用户锁定(Unlock)

修改用户密码状态
chage [选项] 用户名
-l 列出用户的详细密码状态
-d 日期 修改密码最后一次的修改日期(shadow的第三个字段)
-m 天数 两次密码修改间隔(shadow第四个字段)
-M 天数 密码有效期(第5个字段)
-W 天数 密码过期前警告的天数(第6字段)
-I 天数 密码过期后宽限天数(第7字段)
-E 日期 密码失效时间(第8字段)

chage -d 0 admin
把admin用户的密码修改日期归0 (shadow第三个字段) ,这样用户一登录就要修改密码(强制修改密码)
4.删除用户userdel
用户切换命令 su
userdel [-r] 用户名
-r 删除用户的同时删除用户家目录

su [选项] 用户名
- : 选项只使用"-"代表连带用户的环境变量一起切换

-c: 仅执行一次命令,而不切换用户身份
su - root -c "useradd user1"
不切换成root,暂时以root身份 执行命令

---------------------

用户组管理
1.添加用户组
groupadd [选项] 组名
-g GID :指定组ID
2.修改用户组
groupmod [选项] 组名
-g GID: 修改组id
-n 新组名: 修改组名
groupmod -n newgroup_name group_name
把组名group_name 修改为newgroup_name
3.删除组名
groupdel 组名
当组是一个用户的初始组而且这个用户存在时,不可以删除这个组
必须得先删初始用户才行
有附加用户没初始用户的组可以删除
groupadd gr1
useradd -g gr1 u1
useradd -G gr1 u2
不会产生u1还个组,u1用户的初始组为gr1了

4.把用户添加入组或从组中移除
gpasswd [选项] 组名
-a 用户名: 把用户加入组(操作的是附加用户)
-d 用户名: 把用户从组中删除

linux下用户和组相关的文件及相关管理命令的更多相关文章

  1. 2017.7.18 linux下用户、组和文件的操作

    参考来自:<鸟叔的linux私房菜(基础学习篇)-第14章> 0 目的 在linux下搭建ELK环境时,因为elasticsearch不能在root下操作,所以要为其新增一个用户,以及随之 ...

  2. Linux下用户和组管理

    用户与组之间的关系是,组下面有若干个用户,每个用户必须从属于唯一一个组.组可以理解为权限的集合.用户管理的命令有:useradd, userdel, usermod, passwd, chsh, ch ...

  3. 【Linux下用户和组管理】

    创建用户--useradd . 命令格式:useradd [参数] 用户名 useradd也可写成adduser . 参数如下 -u 指定UID号 -d 指定宿主目录 -e 指定生效时间 -g 指定基 ...

  4. linux下创建管理员组&nbsp;使用&nbsp;su&nbsp;-&nbsp;命令

    通常情况下,用户通过执行“su -”命令.输入正确的root密码,可以登录为root用户来对系统进行管理员级别的配置.但是,为了更进一步加强系统的安全性,有必要建立一个管理员的组,只允许这个组的用户来 ...

  5. Linux系统下用户与组的管理

    Linux系统下用户与组的管理 一.用户及组基本概述 Linux 系统上,用户管理是基于用户名和密码的方式进行资源的分配. 1.uid(用户身份标识) (1)root用户 uid为0 (2)普通用户: ...

  6. linux用户(组)及文件权限说明

    写在前面: 在liunx系统中一切都是文件(文件夹和外设是特殊的文件),如果有可能尽量使用文本文件,文本文件是人.机都能够理解的文件.linux的用户(组)和权限完美的解决了linux系统的安全问题. ...

  7. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  8. linux 下用户管理

    linux 下用户管理 一.用户的分类 1.超级用户:root UID=0 2.系统用户:不需要登录系统,对应用程序服务,主要维护系统的正常运行:UID = 1 ~ 499(RHEL7 = 1 ~ 9 ...

  9. linux系统用户和组管理

    用户和组管理 Linux是多用户多任务的网络操作系统,作为网络管理员,掌握用户的组的创建与管理至关重要. 学习要点: 了解用户和组的群的配置文件. 熟悉掌握Linux下用户的创建和维护管理. 熟悉掌握 ...

随机推荐

  1. 使用IDEA将代码托管到GitHub步骤和错误解决

    一.下载并安装Git版本控制工具 下载地址:https://git-scm.com/downloads 注册GitHub账号:https://github.com/ 为什么托管到GitHub要下载Gi ...

  2. web自动化中的page object模式

    一. 原理 将页面的元素定位和元素行为封装成一个page类,实现页面对象和测试用例分离 类的属性:元素定位 类的行为:元素的操作 测试用例:调用所需页面对象中的行为,组成测试用例 二. 好处 1. 当 ...

  3. zzuli 2172 队列优化dp

    2172: GJJ的日常之购物 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 9  Solved: 8 SubmitStatusWeb Board De ...

  4. DDOS SYN Flood攻击、DNS Query Flood, CC攻击简介——ddos攻击打死给钱。限网吧、黄网、博彩,,,好熟悉的感觉有木有

    摘自:https://zhuanlan.zhihu.com/p/22953451 首先我们说说ddos攻击方式,记住一句话,这是一个世界级的难题并没有解决办法只能缓解 DDoS(Distributed ...

  5. Doxygen简介

    (转自:http://www.cnblogs.com/liuliunumberone/archive/2012/04/10/2441391.html) 一.什么是Doxygen? Doxygen 是一 ...

  6. sql如何分组选择显示最新的一条数据

    怎样在数据库的一个表里筛选出每一人的时间最新的一条记录?用SQL语句 wenchuan408 wenchuan408    结帖率:100% sql数据库 yhh              name  ...

  7. [eShopOnContainers 学习系列] - 01 - Roadmap and Milestones for future releases

    https://github.com/dotnet-architecture/eShopOnContainers/wiki/01.-Roadmap-and-Milestones-for-future- ...

  8. MySQL show processlist 执行状态分析

           1.Sleep 通常代表资源未释放,如果是通过连接池,sleep状态应该恒定在一定数量范围内 实战范例:因前端数据输出时(特别是输出到用户终端)未及时关闭数据库连接,导致因网络连接速度产 ...

  9. L134

    这种成功和后来的研究(表明记忆本身并不是先天决定的)使爱立信总结到,记忆的行为与其说是一种习得的行为不如说是一种先天的行为. 这点我们不清楚-构思物体和找出数字模型的能力,回答问题(最好的诗人和哲学家 ...

  10. int 21h 汇编

    INT 21H 指令说明及使用方法 转自http://www.cnblogs.com/ynwlgh/archive/2011/12/12/2285017.html 很多初学汇编语言的同学可能会对INT ...