用户分类

1 root 超级管理员

2 系统用户 就是 某一个服务中 自动产生的用户 不是认为创建的,不能用于登录计算机 只是保证某一个服务的正常运行 比如数据库

3 普通用户

用户必须属于一个且只有一个主组     -g 选项

一个用户可以属于零个或多个辅助组    -G选项

Linux用户和组的主要配置文件:

/etc/passwd:用户及其属性信息(名称、UID、主组ID等)

/etc/group:组及其属性信息

/etc/shadow:用户密码及其相关属性   文件格式意义如下:

  • 登录用名
  • 用户密码:一般用sha512加密
  • 从1970年1月1日起到密码最近一次被更改的时间 
  • 密码再过几天可以被变更(0表示随时可被变更) 必须要等多久才能运行改口令
  • 密码再过几天必须被变更(99999表示永不过期) 最长使用时间
  • 密码过期前几天系统提醒用户(默认为一周) 提前几天通知你
  • 密码过期几天后帐号会被锁定 
  • 从1970年1月1日算起,多少天后帐号失效

密码过期时间 图解:

/etc/gshadow:组密码及其相关属性

创建用户时,如果什么都不指定,就会根据默认设置创建用户 如家目录的位置,shell类型,家目录的文件,默认设置就是/etc/default/useradd 这个文件就是默认的设置文件

/etc/skel/ 这里面就是用户家目录的模板文件,这里面有什么 新创建的用户家目录就有什么。所以我们创建的用户家目录里的文件,就是从这个拷贝过去的。
/etc/login.defs 用户创建的默认其他设置,如ID号,,创建用户默认的密码时间等,密码策略,权限等

创建用户时,没有设定密码 那么shadow文件的密码列 就是!!,!!代表禁止登陆系统,在shadow文件中把!! 删掉就可以空口令登陆了。或者在Passwd文件中把密码的x删掉,x代表了密码放在shadow文件中,没有了x就没有了密码,也可以空口令登陆。也就是shadow和passwd中的密码栏只要有一个有!,就不允许登陆

用户管理命令 useradd

useradd [options] LOGIN

  • -u UID
  • -o 配合-u 选项,不检查UID的唯一性
  • -g GID 指明用户所属基本组,可为组名,也可以GID
  • -c "COMMENT“ 用户的注释信息
  • -d HOME_DIR 以指定的路径(不存在)为家目录
  • -s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
  • -G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
  • -N 不创建私用组做主组,使用users组做主组
  • -r 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
  • -m 创建家目录,用于系统用户
  • -M 不创建家目录,用于非系统用户

一些命令参考

  创建用户指定了 shell类型

  指定了附加组

  指定uid,主组 与附加组

  指定了家目录的位置

useradd  -r -s /sbin/nologin mysql   //创建  -r指定创建系统用户(id<1000) -s指定用户的shell   系统用户默认不会创建家目录,可以使用-m 选项进行创建家目录

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

usermod [OPTION] login

  • -u UID: 新UID
  • -g GID: 新主组
  • -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被 覆盖;若保留原有,则要同时使用-a选项
  • -s SHELL:新的默认SHELL  -c 'COMMENT':新的注释信息
  • -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据, 同时使用-m选项
  • -l login_name: 新的名字
  • -L: lock指定用户,在/etc/shadow 密码栏的增加 !
  • -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
  • -e YYYY-MM-DD: 指明用户账号过期日期
  • -f INACTIVE: 设定非活动期限、

    这个是 移动用户的家目录 –d 是要移动的地方(目标) 如果没有这个目录就会创建他,-m是把 原家目录文件也移动过去,移动过去之后 原来的家目录就没有了

    G 是 重新指定 用户的附加组  g是 重新指定 用户的 默认组  这种方式是重新指定的 之前的就会没有

    修改用户的名字 新名字  旧名字

    更换用户的主组

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

userdel  -r: 删除用户家目录

批量创建用户

切换用户 su - wang 完整切换。root切换到普通用户不需要密码,普通用户切换root用户需要密码。
切换到root su -

linux--用户管理--useradd的更多相关文章

  1. Linux用户管理——useradd

    除了useradd还有一个命令adduser,两者是链接关系 [root@51cto ~]# which adduser /usr/sbin/adduser [root@51cto ~]# which ...

  2. linux 用户管理

    linux 用户管理 创建一个用户 foo 这个用户只能在/home/foo 上面增加删除文件, foo 不能在其他目录加减文件 useradd -d /home/foo -m foo [root@] ...

  3. linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解

    linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...

  4. 11.Linux用户管理

    本笔记说的Linux用户管理主要包括以下内容: 1.用户配置文件(/etc/passwd  /etc/shadow) 2.组配置文件(/etc/group  /etc/gshadow) 3.用户缺省配 ...

  5. Linux用户管理的复习时间

    所谓三天不练手生,你还记得关于Linux用户管理的所有知识吗?现在就来跟我一起复习一下吧! 1.常用配置文件 用户信息文件: /etc/password 密码文件: /etc/shadow 用户组文件 ...

  6. linux 用户管理,用户权限管理,用户组管理

    linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...

  7. 第七天 Linux用户管理、RHEL6.5及RHEL7.2 root密码破解、RHEL6.5安装vmware tools

    1.Linux用户管理 Linux系统中,存在三种用户 A.超级用户:root 最高权限,至高无上 在windows中 administrator是可以登录的最高权限,但是,system权限最高,不能 ...

  8. linux用户管理和文件权限

    linux用户管理和文件权限 新建用户:useradd ftpuser      useradd -g gxx userxx修改密码:passwd ftpuser新增用户组:# groupadd gr ...

  9. Linux学习之十六-Linux用户管理

    Linux用户管理 Linux系统跟Windows系统一样,可以创建不同的用户,不同的用户组.在不同用户下使用系统具有相应的权限 创建一个普通用户时,会修改几个文件,拷贝一些初始文件到用户家目录中 修 ...

  10. Linux 用户管理(2)

    Linux 用户管理2 添加修改和删除用户,必须是超级管理员root账号才可以进行的操作,所以当当前账号不是超级管理员root账号时,首先要先切换为root账号. 如图,ylq为普通用户,执行添加用户 ...

随机推荐

  1. IEC 60958 && IEC 61937

    IEC 60958 IEC 60958是一种传递数字音频的接口规范,相比I2S,IEC60958通过一根线同时传递时钟信号和数据信号.IEC 60958用来传递两channel,16/20/24bit ...

  2. yii2 gii开启

    gii模块可以通过配置yii\base\Application::modules属性开启它.在config/web.php文件中会有以下配置代码: $config = [ ... ]; if (YII ...

  3. mysql 导出sql文件

    1:find  / -name mysqldump -print 先找到mysqldump 目录位置 2:/usr/local/mysql/bin/mysqldump -u root -p hanwe ...

  4. PAT 1014 Waiting in Line (30分) 一个简单的思路

    这题写了有一点时间,最开始想着优化一下时间,用优先队列去做,但是发现有锅,因为忽略了队的长度. 然后思考过后,觉得用时间线来模拟最好做,先把窗口前的队列填满,这样保证了队列的长度是统一的,这样的话如果 ...

  5. 【代码学习】PYTHON装饰器

    一.装饰器 对原代码不修改的基础上完善代码 写代码要遵循开放封闭原则,虽然在这个原则是用的面向对象开发,但是也适用于函数式编程,简单来说,它规定已经实现的功能代码不允许被修改,但可以被扩展,即: 封闭 ...

  6. jmeter循环读取数据库中的数据

    1,添加一个jdbc请求 2,添加一个循环控制器,循环的次数为sql返回的记录数${var_#} 3,添加一个计数器(用来做变量拼接) 4,拼接变量,往目标接口发请求 最后脚本的构造如下:

  7. vue axios路由跳转取消所有请求 和 防止重复请求

    直接上干货 在发送第二次请求的时候如果第一次请求还未返回,则取消第一次请求,以保证后发送的请求返回的数据不会被先发送的请求覆盖. 或者是跳转路由的时候取消还未返回的请求 第一步: axios 怎么取消 ...

  8. selenium+python实现自动化登录

    工作需要实现一个微博自动登录的操作,在网上差了一些资料,决定使用selenium+python实现 selenium 是一个web的自动化测试工具,主流一般配合java或者python使用,我这里使用 ...

  9. kubernetes的Ingress资源介绍

    Ingress 的资源帮助信息介绍 [root@master ~]# kubectl explain ingress KIND: Ingress VERSION: extensions/v1beta1 ...

  10. JSONObject、 JsonObject、阿里fastJson、谷歌gson区别

    JSON:JavaScript Object Notation Java对象表示法 Java中并没有内置的 JSON 解析,需要使用第三方类库.常用的类库如下 一.Gson : 古河开发的JSON 库 ...