文档章节

Linux帐号管理[上]--4个配置文件

FansUnion
 FansUnion
发布于 2015/10/22 10:30
字数 907
阅读 2
收藏 0
摘要:本文主要讲述了Linux帐号管理相关的4个配置文件即/etc/passwd,/etc/shadow,/etc/group,/etc/gshadow.

Linux: Ubuntu10.0.4

1.用户标识符UID与GID
      虽然我们登录Linux主机的时候,输入的是我们的帐号,但是Linux主机并不会直接识别“帐号名称”的,它仅认识ID,“帐号名称”只是为了让人们容易记忆而已。
        ID与帐号的对应关系就在/etc/passwd当中。
        每个登录的用户至少都会取得两个ID,一个是用户ID(UserID,简称UID), 一个是用户组ID(GroupID,简称GID)。
      每个文件都会有所谓的UID和GID,当我们要显示文件的属性时,系统会依据/etc/passwd与/etc/group
 的内容找到UID与GID对应的帐号与组名再显示出来。
 
 2.用户帐号
      Linux系统上面的用户如果需要登录主机来取得Shell的环境来工作时,需要做出以下事情:
利用tty1~tty7的终端机提供的login接口,并输入帐号和密码才能登录。
     输入帐号和密码后,系统又做了很多事情:
 a.先在/etc/passwd里面查看是否有你输入的帐号,如果没有则跳出;如果有的话,将帐号对应的UID与GID(在/etc/group中)读出来,另外,该帐号的主文件夹与shell设置也一并读出。
 b.核对密码。在/etc/shadow里面找出对应的帐号与UID,然后核对密码是否相符。
 c.如果全部成功,就进入shell了。
 
     跟用户帐号有关的有两个非常重要的文件,一个是管理用户UID/GID的/etc/passwd,一个是管理
密码相关数据的/etc/shadow.
 
    2.1/etc/passwd文件结构
     每一行代表一个帐号,有几行就代表有几个帐号在你的系统中!不过需要特别注意的是,
 里面很多帐号本来就是系统正常运行所必要的,我们可以简称它们为系统帐号,例如bin,daemon,
 这些帐号不要随意删掉。
 
   文件格式:
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/bin/sh
    bin:x:2:2:bin:/bin:/bin/sh
    sys:x:3:3:sys:/dev:/bin/sh
 
   每一行使用“:”隔开,共有7个字段,分别是:
   a.帐号名称。
   b.密码。
   c.UID。
   d.GID。
   e.用户信息说明列。
   f.主文件夹。
   g.Shell。
  
 2.2/etc/shadow文件结构
       文件格式:
    root:$6$I1KLlt38$QZNePJfBZvKY2ZLP7NPAu5ymt9XyB9v4NSpKgmUVF86GNz7T.SlUvjrUw4srXrGLaPd3H0NkCIQ7Au9RP29.l0:15407:0:99999:7:::
daemon:*:14728:0:99999:7:::
bin:*:14728:0:99999:7:::
sys:*:14728:0:99999:7:::
 
    每一行使用“:”隔开,共有9个字段,分别是:
   a.帐号名称。
   b.密码。
   c.最近更改密码的日期。
   d.密码不可改动的天数。
   e.密码需要重新更改的天数。
   f.密码需要更改期限前的警告天数。
   g.密码过期后的帐号宽限时间(密码失效日)。
   h.帐号失效日期。
   i.保留。
  
   3.用户组
  
   3.1 /etc/group文件结构
       文件格式:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:

   每一行使用“:”隔开,共有4个字段,分别是:
   a.用户组名称。
   b.用户组密码。
   c.GID。
   d.该用户组所包含的帐号。
  
   3.2 /etc/gshadow
      文件格式:
root:*::
daemon:*::
bin:*::
sys:*::

   每一行使用“:”隔开,共有4个字段,分别是:
   a.用户组名称。
   b.用户组密码。
   c.用户组管理员的帐号。
   d.该用户组所包含的帐号。

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

共有 人打赏支持
FansUnion
粉丝 57
博文 858
码字总数 825464
作品 0
丰台
高级程序员

暂无文章

gson1.7.1线程并发导致空指针问题

java.lang.NullPointerExceptionat com.google.gson.FieldAttributes.getAnnotationFromArray(FieldAttributes.java:231)at com.google.gson.FieldAttributes.getAnnotation(FieldAttribut......

东风125
33分钟前
1
0
以太坊RPC接口使用

以太坊RPC接口文档: https://github.com/ethereum/wiki/wiki/JSON-RPC#web3_clientversion 使用方式: 比如我要调用某个合约的balanceOf(address _owner)方法。 因为没有改变合约的状态,所以...

王坤charlie
59分钟前
2
0
C#下的一个好用的日历库(sxtwl_cpp),支持农历转公历,和公历转农历等功能

sxtwl_cpp是寿星天文历的C++版本实现。支持多种语言的绑定 代码首页 懒人包 懒人包使用方法 1、右链工程中的引用-》添加引用-》浏览-》选中dotnet目录下的sxtwl.net.dll 2、生成解决方案-》找...

元谷
59分钟前
1
0
C++基础知识

链接:https://zhuanlan.zhihu.com/p/38399566 本文主要提一下以下三个区别: 引用必须初始化,而指针可以不初始化。 我们在定义一个引用的时候必须为其指定一个初始值,但是指针却不需要。 ...

悲催的古灵武士
今天
1
0
Oracle备份脚本,保留10天数据

@echo off echo 删除10天前的备分文件和日志forfiles /p "D:\oracleback\backfile" /m *.dmp /d -10 /c "cmd /c del @path" forfiles /p "D:\oracleback\backfile" /m *.log /d -10......

lyle_luo
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部