一、用户文件

文件:/etc/passwd

这个文件记录了用户了用户名,用户id,所属组,家目录,shell信息:

[root@iZ25lzba47vZ ~]# tail -n3 /etc/passwd
ruanwenwu:x::::/home/ruanwenwu:/bin/bash
apache:x:::Apache:/usr/share/httpd:/sbin/nologin
test:x::::/home/test:/bin/bash

这个文件被用冒号分成7段,分别为:用户名:密码:用户id:组id:注释:家目录:shell。

二、密码文件

文件:/etc/shadow。基本不修改,了解一下就好了。

[root@iZ25lzba47vZ ~]# tail -n3 /etc/shadow
ruanwenwu:!!:::::::
apache:!!:::::::
test:$$H7i3JVvg$96lyFVtEnHK6tt20Lx50ZOQW6QVzK.UGWfderquBpdYhWzv33GWAvX8UyT7aaaxfxEE81tq2dsHxDQrs3CKT4/:::::::

这个文件,每行也是代表一个用户,也是被分号分割,成9段:

  • 用户名,跟/etc/passwd对应。
  • 加密密码,加密算法升级为SHA512散列加密算法,如果密码位为“!!”或“*”代表没有密码,不能登录,其shell为/sbin/nologin。
  • 密码最后一次修改的时间,以1970年1月1日作为标准时间,每过一天时间戳加1
  • 两次密码修改的间隔时间,要过多少天才可以更改密码,默认是0,即不限制
  • 密码的有效期,密码多少天后到期,默认为99999。若设置成20,即20天后到期,必须修改密码,不然登录不了系统。
  • 密码到期前的警告期限,若设置为6,即到期前6天将通知用户。
  • 账号失效宽限期(和第5字段相对比)。若设置为2,到期过后2天后再不修改密码,用户锁定。
  • 账号的生命周期(要用时间戳表示),到了指定的期限,账号将失效。
  • 保留字段,没有特别意义

三、用户组管理

3.1 添加用户组

基本用法:

[root@iZ25lzba47vZ ~]# useradd grp1
[root@iZ25lzba47vZ ~]# tail -n3 /etc/group
apache:x::
test:x::
grp1:x::
[root@iZ25lzba47vZ ~]# groupadd grp2
[root@iZ25lzba47vZ ~]# !t
tail -n3 /etc/group
test:x::
grp1:x::
grp2:x::

添加组的时候,指定组id:

[root@iZ25lzba47vZ ~]# groupadd -g  grp3
[root@iZ25lzba47vZ ~]# 1t
-bash: 1t: command not found
[root@iZ25lzba47vZ ~]# !t
tail -n3 /etc/group
grp1:x::
grp2:x::
grp3:x::

3.2 删除组:

[root@iZ25lzba47vZ ~]# groupdel grp3
[root@iZ25lzba47vZ ~]# !t
tail -n3 /etc/group
test:x::
grp1:x::
grp2:x::

如果这个组里还有用户是不能被删除的:

[root@iZ25lzba47vZ ~]# useradd -g grp2 test2
[root@iZ25lzba47vZ ~]# tail -n3 /etc/passwd
test:x::::/home/test:/bin/bash
grp1:x::::/home/grp1:/bin/bash
test2:x::::/home/test2:/bin/bash
[root@iZ25lzba47vZ ~]# groupdel grp2
groupdel: cannot remove the primary group of user 'test2'

可能大家都注意到了,在文件/etc/group中可以看到所有组的信息。

四、用户管理

4.1 增加用户

以比较全的参数创建:

[root@iZ25lzba47vZ ~]# useradd -g grp2 -u  -d /home/ud/ -s /sbin/nologin test3
[root@iZ25lzba47vZ ~]# !t
tail -n3 /etc/passwd
grp1:x::::/home/grp1:/bin/bash
test2:x::::/home/test2:/bin/bash
test3:x::::/home/ud/:/sbin/nologin

这条命令的意思是,-g指定组名,-u指定uid,-d指定家目录,-s指定shell。

如果组名不存在时会怎样呢?

[root@iZ25lzba47vZ ~]# useradd -g  test4
useradd: group '' does not exist

添加用户时,指定扩展组。

在添加之前,我们先看一下id命令。

[root@iZ25lzba47vZ ~]# id ruanwenwu
uid=(ruanwenwu) gid=(ruanwenwu) groups=(ruanwenwu)

id命令得到用户的uid,gid,和groups(扩展组)。

那么在添加用户时怎么指定扩展组呢?

[root@iZ25lzba47vZ ~]# useradd test6 -G test,grp1,grp2
[root@iZ25lzba47vZ ~]# id test6
uid=(test6) gid=(test6) groups=(test6),(test),(grp1),(grp2)

4.2 删除用户

[root@iZ25lzba47vZ ~]# userdel test3
[root@iZ25lzba47vZ ~]# ls -ld /home/ud
drwx------ grp2 Oct : /home/ud

发现,删除了用户后,它的家目录还在,如果要删除用户时,连家目录一起删掉:

[root@iZ25lzba47vZ ~]# userdel -r test2
[root@iZ25lzba47vZ ~]# ls -ld /home/test2
ls: cannot access /home/test2: No such file or directory

4.3 修改用户

usermod -g 111/组名 username

usermod -d /home/dfd
usermod -s /sbin/nologin
usermod -u 111 user1
usermod -G grp2 aming
usermod -G grp2,user5 user1

五、用户密码管理

/etc/shadow里有!!说明该没有密码,或者被锁定,只有一个!也是被锁定。我们看看当前系统的用户的密码锁定情况:

[root@iZ25lzba47vZ ~]# tail -n3 /etc/shadow
test:$$H7i3JVvg$96lyFVtEnHK6tt20Lx50ZOQW6QVzK.UGWfderquBpdYhWzv33GWAvX8UyT7aaaxfxEE81tq2dsHxDQrs3CKT4/:::::::
grp1:!!:::::::
test6:!!:::::::
以上说明,test用户可以登录,grp1用户,test6用户 不能登录。现在我们锁定test用户:
[root@iZ25lzba47vZ ~]# passwd -l test
Locking password for user test.
passwd: Success
[root@iZ25lzba47vZ ~]# !t
tail -n3 /etc/shadow
test:!!$$H7i3JVvg$96lyFVtEnHK6tt20Lx50ZOQW6QVzK.UGWfderquBpdYhWzv33GWAvX8UyT7aaaxfxEE81tq2dsHxDQrs3CKT4/:::::::
grp1:!!:::::::
test6:!!:::::::

解锁:

[root@iZ25lzba47vZ ~]# passwd -u test
Unlocking password for user test.
passwd: Success

usermod -L是加锁的意思,对应的usermod -U是解锁。

[root@iZ25lzba47vZ ~]# usermod -L test
[root@iZ25lzba47vZ ~]# !t
tail -n3 /etc/shadow
test:!$$H7i3JVvg$96lyFVtEnHK6tt20Lx50ZOQW6QVzK.UGWfderquBpdYhWzv33GWAvX8UyT7aaaxfxEE81tq2dsHxDQrs3CKT4/:::::::
grp1:!!:::::::
test6:!!:::::::
[root@iZ25lzba47vZ ~]# usermod -U test
[root@iZ25lzba47vZ ~]# !t
tail -n3 /etc/shadow
test:$$H7i3JVvg$96lyFVtEnHK6tt20Lx50ZOQW6QVzK.UGWfderquBpdYhWzv33GWAvX8UyT7aaaxfxEE81tq2dsHxDQrs3CKT4/:::::::
grp1:!!:::::::
test6:!!:::::::

linux学习(十一)用户和用户组管理的更多相关文章

  1. Linux常用命令学习8---(用户和用户组管理)

    1.用户和用户组     用户和用户组概念        用户:使用操作系统的人(Linux支持多个用户在同一时间登陆同一个操作系统)        用户组:具有相同权限的一组用户(Linux系统中可 ...

  2. linux基础之用户及用户组管理

    本节内容 用户管理 1. 为什么需要用户? 1.linux是一个多用户系统 2.权限管理(权限最小化) 2. 用户相关文件 /etc/passwd -->用户基本信息 /etc/shadow - ...

  3. Linux系统的用户和用户组管理

    一.用户账户管理 Linux/Unix是一个用户.多任务的操作系统:在讲Linux账号及账户组管理之前,先简单了解一下多用户.多任务操作系统的基本概念. Linux的单用户多任务 在Linux下,当你 ...

  4. linux 常用命令-用户、用户组管理

    注:本篇只涉及常用命令,全部命令可以通过help帮助查看. (1)type useradd   #查看命令属于内部命令还是外部命令,内部命令是嵌在linux的shell中,外部命令存储在路径中 (2) ...

  5. linux笔记:用户和用户组管理-用户管理命令

    useradd(添加用户.在使用useradd添加一个用户后,必须使用passwd给该用户设置密码,该用户才能登陆): passwd(设置或修改用户密码): usermod(修改用户信息): chag ...

  6. linux笔记:用户和用户组管理-用户配置文件

    用户信息文件(/etc/passwd): 影子文件(/etc/shadow) 组信息文件(/etc/group)和组密码文件(/etc/gshadow):

  7. Linux命令_用户和用户组管理

    新增组的命令 groupadd 格式:groupadd [-g GID] groupname 如果不加-g选项,则按照系统默认的gid创建组.跟uid一样,gid也是从1000开始的. 我们也可以如下 ...

  8. Linux学习之用户管理命令与用户组管理命令(十五)

    Linux学习之用户管理命令与用户组管理命令 目录 用户管理命令 用户添加命令useradd 修改用户密码passwd 修改用户信息usermod 修改用户密码状态chage 删除用户userdel ...

  9. Linux基础学习(7)--用户和用户组管理

    第七章——用户和用户组管理 一.用户配置文件 1.用户信息文件/etc/passwd: (1)用户管理简介:所以越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范.   ...

  10. 2019/12/11学习内容摘要(Linux系统用户与用户组管理①)

    一,认识/etc/passwd和/etc/shadow 1. /etc/passwd :文件中保存系统中所有的用户和用户的主要信息. 在命令行输入 cat /etc/passwd  | head  ( ...

随机推荐

  1. YYHS-鏖战字符串

    题目描述 Abwad在nbc即将完成她的程序的时候,急中生智拔掉了她电脑的电源线,争取到了宝贵的时间.作为著名论文<论Ctrl-C与Ctrl-V在信息学竞赛中的应用>的作者,他巧妙地使用了 ...

  2. 不要62 hdu2089

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  3. 苹果iPhone X上搭载的那颗A11仿生芯片,到底牛在哪?

    苹果iPhone X上搭载的那颗A11仿生芯片,到底牛在哪? 上周,苹果公司在刚刚落成投入使用的“飞船”新总部(Apple Park)举行2017年秋季新品发布会,整场发布会基本被iPhone X抢尽 ...

  4. Element-ui Theme浅析

    一.浅析 1.采用BEM方式管理类名 B:block,模块,一个块是一个独立的实体,块可以包含其它块,名字单词间用-连接:如一个搜索块: E:element,元素,一个元素是块的一部分,具有某种功能, ...

  5. day01:study HTTP协议

    总结: 1.对web客户端和web服务器之间的通讯有了基本原理有了简单理解. 2.对http协议有了相关概念的建立 3.B/S C/S 两种形式 4.搭建tomcat服务器的环境,相关配置(虚拟目录 ...

  6. vscode 调试.net core 2.0 输出乱码解决方法

    之前在vscode上调试.net core 2.0项目时输出窗口一直是乱码,查了很多资料无法解决 最终在github找到了解决办法 ->   https://github.com/OmniSha ...

  7. apache 安装/mod_dir.so: undefined symbol: apr_array_clear

    apache 安装好后 启动出错: httpd: Syntax error on line 143 of /usr/local/apache2/conf/httpd.conf: Cannot load ...

  8. java中继承和组合的区别

    子类继承父类,父类的所有属性和方法都可以被子类访问和调用.组合是指将已存在的类型作为一个新建类的成员变量类型,又叫"对象持有". 通过组合和继承,都可以实现系统功能的重用和代码的复 ...

  9. strut2-学习笔记(二)

     Struts2学习笔记(二) 1. 自定义结果视图的类型(结果视图类型的应用) CAPTCHA图像(随机验证码图像) 实现步骤: (1)编写一个类实现com.opensymphony.xwork ...

  10. Java web JavaScript DOM 编程

     JavaScript DOM 编程 (1).DOM概述及分类 (2).DOM结构模型:XML DOM 和 HTML DOM 关系? (3).结点,结点树,结点属性与方法? 1.DOM是什么? d ...