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. Py中pyplot之subplot例子【转载】

    转自:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.subplot.html 1.有NaN的余弦图subplot import numpy ...

  2. Python: 在序列上执行聚集函数(比如sum() , min() , max() )

    在序列上执行聚集函数(比如sum() , min() , max() ) eg1: >>>nums = [1, 2, 3, 4, 5]>>>s = sum(x * ...

  3. hive支持sql大全(收藏版)

    hive操作数据库还是比较方便的,因此才会有hbase与hive整合.下面我们hive的强大功能吧.为了增强阅读性,下面提几个问题: 1.hive支持哪些运算符? 2.hive是否支持左右连接? 3. ...

  4. linux常用命令:vmstat 命令

    vmstat 是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.他是对系统的整体 情况进行统计,不足之处是无法对某个进程进 ...

  5. MyEclipse 相关设置

    1. MyElipse复制项目后,修改项目的发布名称的方式.右击你的项目,选择 properties -- > MyElipse -- > web,然后修改名称即可. 2. IDE查看源代 ...

  6. Linux服务器---ssh登录

    Ssh登录     Ssh是建立在应用层和传输层的安全协议,专门为远程登录回话和其他网络服务提供安全性.利用ssh可以有效的防止远程管理中的信息泄露问题,同时ssh传输的数据是经过压缩的,可以加快传输 ...

  7. Notepad++ 主题配色配置

    以下方法来源网络,仅供参考: 方案1: 1.主题名称:Obsidian 2.字体字号:Courier New 10 (这里字体你可以随意选择,让自己满意即可) 3.设置方法:设置---语言格式设置-- ...

  8. monit

    Monit 是一个用来监测系统状态的工具,不但可以用来监视进程.服务.文件.目录.文件系统,还可以在服务 down 掉的时候自动重启服务或者当某个进程占用过多的资源的时候自动停掉进程,并且支持 Ema ...

  9. 20145127《java程序设计》第三周学习总结

    教材学习内容总结 第四章 认识对象 4.1 类与对象 0.Java中有基本类型和类类型两个类型系统.本章主要讲的是类类型.java编写几乎都要使用对象,要产生对象必须先定义类.类是对象的设计图,对象是 ...

  10. ms08_067攻击实验

    ms08_067攻击实验 ip地址 开启msfconsole 使用search ms08_067查看相关信息 使用 show payloads ,确定攻击载荷 选择playoad,并查看相关信息 设置 ...