Linux用户分为三种:

  1:超级用户(root,UID=0)

  2:普通用户(UID 500-60000)

  3:伪用户(UID 1-499)

   伪用户:

    1、伪用户与系统和程序服务相关 :nbin、daemon、shutdown、halt等,任何Linux系统默认都有这些伪用户

                    mail、news、games、apache、ftp、mysql及sshd等,与Linux 系统的进程相关

    2、伪用户通常不需要或无法登录系统

    3、可以没有宿主目录

  用户组:

    每个用户都至少属于一个用户组

    每个用户组可以包括多个用户

    同一用户组的用户享有该组共有的权限

配置文件:

  用户信息文件:/etc/passwd

  密码文件:/etc/shadow

  用户组文件:/etc/group

  用户组密码文件:/etc/gshadow

用户配置文件: /etc/login.defs    /etc/default/useradd

  新用户信息文件:/etc/ske1

  登录信息:/etc/motd  /etc/issue

  

/etc/passwd文件格式:

  man 5 passwd   因为有个命令passwd所以要加5表示查看配置文件

           root:x:0:0:root:/root:/bin/bash

字段

含义

用户名

用户登录系统时使用的用户名

密码

密码位

UID

用户标识号

GID

缺省组标识号

注释性描述

例如存放用户全名等信息

宿主目录

用户登录系统后的缺省目录

命令解释器

用户使用的Shell,默认为bash

/etc/shadow文件格式:

            root:$1$vAyAsUN.$dFhUqUWa3Pmm0DFoxWF/00:16015:0:99999:7:::

字段

含义

用户名

用户登录系统时使用的用户名

密码

加密密码

最后一次修改时间

用户最后一次修改密码的天数

最小时间间隔

两次修改密码之间的最小天数

最大时间间隔

密码保持有效的最多天数

警告时间

从系统开始警告到密码失效的天数

帐号闲置时间

帐号闲置时间

失效时间

密码失效的绝对天数

标志

一般不使用

/etc/group文件格式:

                root:x:0:root

字段

含义

组名

用户登录时所在的组

组密码

一般不使用

GID

组标识号

组内用户列表

属于该组的所有用户列表

手工添加用户:

  分别在/etc/passwd、/etc/group和/etc/shadow文件中添加一笔记录

创建用户宿主目录

在用户宿主目录中设置默认的配置文件

设置用户初始密码

为什么普通用户可以更改密码? (这里引入了除了rwx权限之外的另一个权限)

  SetUID的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。

  find / -perm -4000 -o -perm -2000

  SetUID = 4 U

  u + s
  4755

  SetGID = 2 G
  chmod
  g + s
  2755 6755(4 + 2)
  粘着位 = 1 
  o + t
  1777

  如果一个权限为777的目录具有粘着位,每个用户都可以在目录下创建文件,但是只能删除自己是所有者的文件。
  /tmp 缺省就具有粘着位的。

  [root@localhost ~]# ls -l /usr/bin/passwd

  -rwsr-xr-x 1 root root 22984 2007-01-07 /usr/bin/passwd       这里u有一个s权限就是setuid的权限

Linux——用户管理简单学习笔记(一)的更多相关文章

  1. Linux——用户管理简单学习笔记(二)

    其实如果我们了解了Linux中用户管理的配置文件之后,完全可以手工管理用户: 添加用户: useradd 设置选项 用户名 -D 查看缺省参数 u:UID g:缺省所属用户组GID G:指定用户所属多 ...

  2. Linux——用户管理简单学习笔记(四)

    主要讲两个用户管理的案例: 1: 限制用户su为root,只允许某个组的的用户su # groupadd sugroup 首先添加我们的用户组 # chmod 4550 /bin/su 改变命令的权限 ...

  3. Linux——用户管理简单学习笔记(三)

    用户组管理命令: groupadd -g 888 webadmin 创建用户组webadmin,其GID为888 删除用户组: groupdel 组名 修改用户组信息 groupmod groupmo ...

  4. Linux——进程管理简单学习笔记(二)

    计划任务: 为什么要设置计划任务 : 实现数据库备份,发送系统通知神马的..... 计划任务的命令: 一: at :  安排作业在某一时刻执行一次 nbatch    安排作业在系统负载不重时执 行一 ...

  5. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

  6. Linux——vim/vi 简单学习笔记

    Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件.Vim/Vi 没有菜单,只有命令. 早前也用过Vim变过C++/C的代码, ...

  7. linux 用户管理命令学习

    groupadd www-data 添加组 useradd phpcomposer -g www-data 添加用户并加入组中 passwd phpcomposer 添加密码 usermod -g p ...

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

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

  9. 【Linux学习】Linux用户管理2—用户配置文件

    Linux用户管理2-用户配置文件 /etc/passwd: 存放系统用户的文件 输入 vi /etc/passwd /etc/shadow: 保存保密文件 /etc/group: 群组文件 输入 v ...

随机推荐

  1. Tomcat清空缓存方法

    把Tomcat的work目录下有个Catalina全部删除

  2. java selenium webdriver处理JS操作窗口滚动条

    未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...

  3. 面经:Google两轮背靠背

    如题,谷歌两轮背靠背电面.两轮都是废话不多说直奔coding,虽然第一轮的中国大哥还是花了一点点时间了解了一下我的背景.毕业时间.research方向.说好的research面呢? 中国大哥出的题: ...

  4. A+B+C问题

    这是一个非常简单的题目,意在考察你编程的基础能力.千万别想难了哦.输入为一行,包括了用空格分隔的三个整数 AA.BB.CC(数据范围均在-40−40 ~ 4040 之间).输出为一行,为“A+B+CA ...

  5. Intro to Python for Data Science Learning 3 - functions

    Functions from:https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-3-functi ...

  6. M2C的概念

    M2C即Manufacturers to Consumer(生产厂家对消费者),生产厂家(Manufacturers)直接对消费者(Consumers)提供自己生产的产品或服务的一种商业模式,特点是流 ...

  7. ASCII说明和ASCII对照表

    ASCII 说明 ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符.标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字 ...

  8. linux常用命令:chmod 命令

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...

  9. Js基础知识5-函数返回值、函数参数、函数属性、函数方法

    函数返回值 所有函数都有返回值,没有return语句时,默认返回内容为undefined,和其他面向对象的编程语言一样,return语句不会阻止finally子句的执行. function testF ...

  10. cocoapod 快速更新,加载

    pod install --verbose --no-repo-update pod update --verbose --no-repo-update