useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd
用户

用户系统也是通过一个文件来管理的,默认的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的更多相关文章
- lesson - 5 课程笔记 which/ type / whereis /locate /pwd / etc/passwd/ shadow/ group / gshadow /useradd /usermod /userdel /passwd / su sudo
一.which 作用: which 命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录, which 命令会在环境变量$PATH 设置的目录里查找符合条件的文件.也 ...
- 组管理命令--groupadd.groupmod.groupdel.gpasswd
添加用户组 格式 groupadd [参数] 组名 参数选项 -g GID:指定新组的GID,默认值是已有的最大的GID加1.-r:建立一个系统专用组,与-g不同时使用时,则分配一个1-499的GID ...
- 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 ...
- 账户管理groupadd groupmod groupdel usermod usermod userdel
http://www.cnblogs.com/ggjucheng/archive/2012/08/21/2648380.html http://blog.csdn.net/qq1603013767/a ...
- 【每天一个Linux命令】10. 用户账号的新建/修改/删除以及密码修改 useradd/usemod/userdel/passwd
在 Linux 系统中,与用户管理有关的文件主要有如下几个:分别是/etc/passwd,/etc/shadow,/etc/gfoup,/etc/gshadow .它们分别与用户的账号,密码,用户组及 ...
- Linux学习历程——Centos 7 账户管理命令(用户组篇)groupadd groupmod groupdel
一.命令介绍 groupadd:创建用户组 groupmod:修改用户组属性 groupdel:删除用户组 ---------------------------------------------- ...
- Linux学习历程——Centos 7 账户管理命令(用户篇)useradd usermod userdel
一.命令介绍 useradd 用于创建新的用户 usermod 用于修改用户属性 userdel 用于删除用户 -------------------------------- ...
- 2017-06-27(useradd usermod userdel 禁止普通用户登录)
useradd useradd -g 组名 用户名 (添加新用户,并将其添加到指定的主用户组) useradd -g 组名 -G 附属组名 用户名 (添加新用户,并将其添加至指定主用 ...
- 2017-06-26(groupadd groupmod groupdel)
groupadd groupadd 组名 (创建用户组) groupadd -g 组编号 组名 (创建组名 并且指定编号) groupmod groupmod -n 新组名 旧组名 ...
随机推荐
- jQuery获取当前checkbox的值
背景: 目前想实现登录的“记住我”功能,需要获取当前checkbox是否被点击,百度了一通,全是多个复选框选中了哪一个的解答, 迫于无奈,自己在W3school上面查询了checkbox的所有属性,并 ...
- OPENCV运行的问题,自带的程序可以运行,但是自己制作的QT报错
在PC上跑没问题 qmake 交叉编译后出来的文件 将OPCV和QT的镜像挂载后,在板子上运行程序, 能够出来这个界面,一点击按钮,提示如下错误. . 然而,百度网盘下载的代码.跟上面一样的操作,在板 ...
- Unity异步加载场景
在游戏中,经常可以看到从一个关卡跳到另一个关卡时,有一个显眼的进度条,研究了下,其时也很简单: public void LoadAScene() { StartCoroutine(LoadSce ...
- 服务返回的json数据过大,nginx无法返回给client
现象:请求同样的服务器,N多个接口中,只有一个接口未返回:从日志看,请求已到后端服务,并返回 解决方案:配置nginx缓冲大小 ###Nginx的缓冲区的大小 proxy_buffer_size 5m ...
- HTTP协议探究(三):HTTPS
一 复习与目标 1 复习 代理:转发通信数据(一般协议不变,作为中间人,可对报文进行过滤修改) 网关:转发通信数据(协议改变,作为资源拥有者) 隧道:转发通信数据(协议不变,作为管道,不对报文进行过滤 ...
- react portals 插槽 实现简易弹窗
Portal 提供了一种将子节点渲染到存在于父节点以外的DOM节点的优秀方案: 尽管 portal 可以被放置在 DOM 树中的任何地方,但在任何其他方面,其行为和普通的 React 子节点行为一致. ...
- python初始化定长列表
>>> lst = ['x' for n in range(5)] >>> print(lst) ['x', 'x', 'x', 'x', 'x'] >> ...
- 5.1 Request 获取请求数据的几种方法
//获取请求头和请求数据 //请求数据(1.通过超链接 2.通过表单) //获取请求数据的时候一般来说 都要先检查 再使用 public class RequestDemo2 extends Http ...
- vim学习(一)
vim是linux和mac中常用到的编辑器. 其分为4种模式: normal模式:普通模式,浏览作用 insert模式: i(insert) 在当前光标处进行插入 a(append) 在当前光 ...
- 【JAVA各版本特性】JAVA 1.0 - JAVA 12
make JDK Version 1.01996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢. JDK Version 1.119 ...