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. [LeetCode] 200. Number of Islands_ Medium tag: BFS

    Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surro ...

  2. CentOS6.5安装RHadoop

    1.首先安装依赖包(各个节点都要安装) [root@Hadoop-NN-01 ~]$ yum install gcc-gfortran #否则报”configure: error: No F77 co ...

  3. Are you looking forward to this 11s Black Stingray

    The Derek Jeter Air Jordan 11 Navy Suede has quietly dropped a number of various colorways over the ...

  4. 多项式函数插值:全域多项式插值(一)单项式基插值、拉格朗日插值、牛顿插值 [MATLAB]

    全域多项式插值指的是在整个插值区域内形成一个多项式函数作为插值函数.关于多项式插值的基本知识,见“计算基本理论”. 在单项式基插值和牛顿插值形成的表达式中,求该表达式在某一点处的值使用的Horner嵌 ...

  5. win10安装后耳机有声音而外放无声音

    安装win10后耳机声音正常,而外放没声音.检查了小喇叭.播放器和设备管理器一切正常,驱动也重装了好些次.喇叭音量设置.视频音量设置均正常.花费很多时间,结果发现是键盘上有个小喇叭+的键的问题.按fn ...

  6. mysql中char和varchar详解

    一.首先创建表. CREATE TABLE `t1` ( `id` int(11) DEFAULT NULL, `a` char(255) DEFAULT NULL) ENGINE=InnoDB DE ...

  7. java 事件通告写法

    使用场景: 自己模块发生变化后可能引起其他模块变化的部分,需要添加事件通告,通知其他模块. 使用模式: 观察者模式 (以User类为例)写法: 1.创建接口: public interface IUs ...

  8. python recv()是什么

    socket有个recv方法,recv有一个参数,指定数据缓冲区的大小 但是现在的问题就是不知道将要接受的数据的大小到底是多少,可能只有几个字节,可能会有几M,google了一下socket的入门文章 ...

  9. python 有道翻译

    import requests import time import random import hashlib i = str(int(time.time()*1000)+random.randin ...

  10. Node.js最新技术栈之Promise篇

    前言 大家好,我是桑世龙,github和cnodejs上的i5ting,目前在天津创业,公司目前使用技术主要是nodejs,算所谓的MEAN(mongodb + express + angular + ...