文档章节

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

FansUnion
 FansUnion
发布于 2015/10/22 10:30
字数 907
阅读 2
收藏 0
点赞 0
评论 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
丰台
高级程序员

暂无文章

gRPC学习笔记

gRPC编程流程 1. proto文件定义 proto文件用于定义需要通过gRPC生成的接口,可以理解为接口定义文档 2. 通过构建工具生成服务基类代码-Maven或Gradle 3. 服务端开发 服务端实现类须实现通过构...

OSC_fly
19分钟前
0
0
Docker Mac (三) Dockerfile 及命令

Dockerfile 最近学习docker的时候,遇到一件怪事,关于docker镜像可能会被破坏,还不知道它会有此措施 所以需要了解构建Dockerfile的正确方法 Dockerfile是由一系列命令和参数构成的脚本,这些命...

___大侠
46分钟前
0
0
NetCat Tutorials

Hacking with Netcat part 1: The Basics Hacking with Netcat part 2: Bind and reverse shells Hacking with Netcat part 3: Advanced Techniques 10 Introduction to Netcat - pdf NetCat......

zungyiu
46分钟前
0
0
Android Studio+NDK+Cmake 移植FFmpeg-4.0.2命令行工具

一、编译 参考大神的帖子,亲测一次编译成功:https://blog.csdn.net/bobcat_kay/article/details/80889398 鉴于以前查文档的经验,这里附上编写例子的时间:2018年7月22日 我用的是ubantu,...

她叫我小渝
46分钟前
0
0
mysql创建数据库

登录MYSQL mysql -u root -p 脚本创建数据库WeChat,并制定默认的字符集是utf8mb4。 CREATE DATABASE Wechat DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci; 授权 grant all......

niithub
今天
0
0
svn: Unable to connect to a repository URL 的解决方案

错误图示: 解决办法:清除本地保存的授权信息; 1:右键点击本地文件夹,选择设置; TortoiseSVN -> Settings 2:在弹出的对话框中选择 Saved Data, 右侧选择:授权地方清理所有。 然后点确...

宁哥实战课堂
今天
1
0
sleep与wait的区别

Thread.sleep(XXX)方法消耗CPU吗? 这个知识点是我之前认识一直有错误的一个知识点,在我以前的认识里面,我一直认为Thread.sleep(1000)的这一秒钟的时间内,线程的休眠是一直占用着CPU的时间...

码代码的小司机
今天
1
0
20位活跃在Github上的国内技术大牛 leij 何小鹏 亚信

本文列举了20位在Github上非常活跃的国内大牛,看看其中是不是很多熟悉的面孔? 1. lifesinger(玉伯) Github主页: https://github.com/lifesinger 微博:@ 玉伯也叫射雕 玉伯(王保平),...

海博1600
今天
1
0
Mybatis收集配置

一、Mybatis取Clob数据 1、Mapper.xml配置 <resultMap type="com.test.User" id="user"> <result column="id" property="id"/> <result column="json_data" property="jsonData" ......

星痕2018
今天
1
0
centos7设置以多用户模式启动

1、旧版本linux系统修改inittab文件,在新版本执行vi /etc/inittab 会有以下提示 # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON......

haha360
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部