用户



用户系统也是通过一个文件来管理的,默认的root用户id是0,

shadow文件说明



加密算法类别



$后面的数字6指定了加密算法使用的是第六种,sha512加密

增加用户,修改成同样的密码,查看/etc/shadow文件,可以看到,虽然两个密码字符串是一样的,但是在shadow文件中看到两个加密字符串是不一样的,这是因为同一个明文字符串在生成加密密文的时候采用了加盐加密算法,

/etc/passwd用户信息库文件的格式说明





用户名 centos

密码 新建用户不指定密码的话,由占位符x占位,改变密码后x由加密密码密文代替

uid 用户id值 1001

主组id 1001

注释信息, 可置空

家目录 /home下的家目录

默认的shell

添加用户 useradd

有些系统是adduser,查看文件属性,可以发现其实就是useradd的链接

``的作用是将which adduser的输出结果作为入参传给file命令



默认添加用户,会自动生成一个用户同名组。且默认uid跟gid相同,如果出现其他占用,则在原基础上加1

指定uid

指定组名

-g后须跟已存在的组名或者组id,不然无法创建

-G 后面跟的是一个组列表,指明该用户同时属于这么多的组

添加用户描述信息

创建用户时为其指定shell程序



查看系统当前支持的shell

cat /etc/shalls

[root@yy ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

指定家目录路径

在指定路径之前,需确认目的路径是空的,不然无法创建,且不会从skel中复制用户环境配置文件进去

查看当前useradd的默认参数配置



create_mall_spool 默认会在 /var/spool/mail/下创建一个和用户名同名的文件夹,用来接收邮件信息

修改默认配置项,以后使用useradd的时候不指定参数就按照默认参数进行创建



修改的结果保存在 /etc/default/useradd文件中

默认用户配置文件 /etc/login.defs

MAIL_DIR        /var/spool/mail   #用户的默认邮件目录
PASS_MAX_DAYS 99999 #密码的最大有效期
PASS_MIN_DAYS 0 # 密码的最小天数
PASS_MIN_LEN 5 # 密码最小长度
PASS_WARN_AGE 7 # 密码告警等级
UID_MIN 1000 # 用户id起始值 1000,才centos6中是500
UID_MAX 60000 # 用户id最大值 60000, 起始可以有65535,2的16次方
SYS_UID_MIN 201 # 系统用户最小id值
SYS_UID_MAX 999 # 最大值
GID_MIN 1000 # 组id最小值
GID_MAX 60000 # 组id最大值
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes # 是否创建家目录
UMASK 077 # 用户掩码
USERGROUPS_ENAB yes # 创建用户的时候自动创建组
ENCRYPT_METHOD SHA512 # 使用的密码加密方式。sha512是第6中

在创建用户的时候,回为其自动创建组,一般用户id和组id是相同的,如果在其他地方被占用,就在原来的基础上进行加1.以后创建的用户,如果不指定id,那么就在前一个用户的基础上对uid和gid进行递增

用户家目录的产生:

在使用useradd添加用户后,在/homt/下会自动生成一个同名的文件夹,进入文件夹是空的,但是有几个隐藏的用户环境配置文件.bash_logout .bash_profile .bashrc

该文件夹的产生的默认配置中,有一个配置项SKEL=/etc/skel,查看该路径,发现在其目录下。默认的就有这三个隐藏文件.bash_logout .bash_profile .bashrc,所以,使用useradd创建用户家目录的时候,使用默认的skel(骨骼)文件夹,将内部的文件拷贝到/home下,这才有了用户的家目录。

usermod

修改系统已经存在的用户属性

userdel

删除用户

将会删除用户在 /etc/passwd 和 /etc/shadow中的记录,但是从数据安全出发,默认情况下,删除用户并不会删除用户的家目录和邮件信息,可以使用 -r 来同时删除家目录和邮件,

参数r的作用

passwd





使用标准输入来修改密码

id



su 和newgrp

charge

更改用户密码过期时间

用户组也是可以加密的

加密算法



用户/组 管理文件



添加用户组 groupadd

创建一个系统组



更改组模式

删除组

gpasswd

总结

三个关键文件的总结



用户及组的概念,就是将多用户的文件进行权限划分,使得不混乱。

useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd的更多相关文章

  1. lesson - 5 课程笔记 which/ type / whereis /locate /pwd / etc/passwd/ shadow/ group / gshadow /useradd /usermod /userdel /passwd / su sudo

    一.which 作用: which 命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录, which 命令会在环境变量$PATH 设置的目录里查找符合条件的文件.也 ...

  2. 组管理命令--groupadd.groupmod.groupdel.gpasswd

    添加用户组 格式 groupadd [参数] 组名 参数选项 -g GID:指定新组的GID,默认值是已有的最大的GID加1.-r:建立一个系统专用组,与-g不同时使用时,则分配一个1-499的GID ...

  3. linux 用户、用户组及相关命令(useradd 、passwd、userdel 、groupadd 、groupdel、usermod 、gpasswd 、 id、su)

    linux是一个多用户系统,用于权限管理(权限最小化); 相关命令: 7 8 9 10 11 12 13 14 15 useradd passwd userdel groupadd groupdel ...

  4. 账户管理groupadd groupmod groupdel usermod usermod userdel

    http://www.cnblogs.com/ggjucheng/archive/2012/08/21/2648380.html http://blog.csdn.net/qq1603013767/a ...

  5. 【每天一个Linux命令】10. 用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd

    在 Linux 系统中,与用户管理有关的文件主要有如下几个:分别是/etc/passwd,/etc/shadow,/etc/gfoup,/etc/gshadow .它们分别与用户的账号,密码,用户组及 ...

  6. Linux学习历程——Centos 7 账户管理命令(用户组篇)groupadd groupmod groupdel

    一.命令介绍 groupadd:创建用户组 groupmod:修改用户组属性 groupdel:删除用户组 ---------------------------------------------- ...

  7. Linux学习历程——Centos 7 账户管理命令(用户篇)useradd usermod userdel

    一.命令介绍 useradd     用于创建新的用户 usermod    用于修改用户属性 userdel      用于删除用户 -------------------------------- ...

  8. 2017-06-27(useradd usermod userdel 禁止普通用户登录)

    useradd useradd  -g  组名  用户名  (添加新用户,并将其添加到指定的主用户组) useradd  -g  组名  -G 附属组名  用户名  (添加新用户,并将其添加至指定主用 ...

  9. 2017-06-26(groupadd groupmod groupdel)

    groupadd groupadd  组名  (创建用户组) groupadd -g  组编号   组名 (创建组名 并且指定编号) groupmod groupmod  -n   新组名  旧组名 ...

随机推荐

  1. Pycharm超级好用的快捷键——效率之王

    Pycharm超级好用的快捷键--效率之王 IT界老黑 IT界老黑 带你领略Python的魅力 ​关注他 270 人赞同了该文章 最重要的快捷键 ctrl+shift+A:万能命令行 shift两次: ...

  2. Django-djangorestframework-渲染模块

    目录 渲染模块 渲染模块的效果 源码分析 如何自定义配置使用渲染类 自定义渲染模块 渲染模块 可以根据用户请求 URL 或 用户可接受的类型,筛选出合适的 渲染组件. reponse 数据 json ...

  3. ingress安装配置

    Traefik Traefik 是一款开源的反向代理与负载均衡工具.它最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置.目前支持 Docker.Swarm.Mesos/Maratho ...

  4. 教你如何进行移动端APP测试

    1.安全测试(权限) 1)软件权限:其中包括发送信息,拨打电话,链接网络,访问手机信息,联系人信息等等 2)数据在本地的存储.传输等 3)执行某些操作时导致的输入有效性验证.授权.数据加密等方面 4) ...

  5. MySQL create table语法详解

    前面在查建表时key和index的区别时,发现建表语句包含了太多信息,于是完整看看官方手册的这一小节. 该文章根据MySQL 5.7的手册作笔记,而MySQL 8.0该节地址如下: https://d ...

  6. MongoDB实战读书笔记(二):面向文档的数据

    1 schema设计原则 1.1 关系型数据库的三大设计范式 第一范式(1NF)无重复的列 第二范式(2NF)属性完全依赖于主键 [ 消除部分子函数依赖 ] 第三范式(3NF)属性不依赖于其它非主属性 ...

  7. C语言如何才能使用bool类型

    解决办法:加上头文件#include<stdbool.h> ,就可以直接使用类型bool = true/false; #include<stdio.h> 2 #include& ...

  8. 使用Enablebuffering多次读取Asp Net Core 3.0 请求体 读取Request.Body流

    原文:使用Enablebuffering多次读取Asp Net Core 请求体 使用Enablebuffering多次读取Asp Net Core 请求体 1 .Net Core 2.X时代 使用E ...

  9. luogu1731生日蛋糕题解--恶心剪枝

    题目链接 https://www.luogu.org/problemnew/show/P1731 分析 这题真[哔]恶心,加了一堆奇奇怪怪的优化 首先明确一点,半径和高都必须是正整数,意味着它们最小为 ...

  10. shell 判断月末日期

    有一个需求,根据输入的时间段,在这个时间段中的是月末的日期执行脚本 解决如下: #!/bin/bashif [ -z $1 ]thenecho "请输入年月日8位开始日期"exit ...