用户权限和组

从安全的角度(安全3A):用户组权限的过程可分为认证、授权、审计。
* Authentication:认证==》 登录的时候输入正确的用户名和密码、指纹、刷脸等来进行认证。
* Authorization:授权 ==》 根据不同的人设置不同的权限。
* Accouting|Audition:审计==》 监督机制,发生什么事情记录下来,之后审计。  

用户user

一.令牌token,identity

令牌的概念:
我们下面以用户登录电脑访问文件为例讲述

当用户输入用户名、密码登录Linux系统后,系统会根据用户的UID和GID(像人的×××一样都是唯一的)回复用户一个令牌;在用户访问文件时因为有令牌的存在所以可以访问到文件。
(注意:如果用户发生了改变,如更改了UID,这时他还是可以访问文件,因为他已经拿到了令牌。如果用户退出系统重新登录,那用户会根据新的UID获取令牌来访问文件。)

二.Linux用户:Username/UID

1.从功能上分类

Linux用户分为管理员和普通用户

管理员

管理员:root,ID是“0”。
任何用户的ID是“0”,都代表这个用户是管理员。

普通用户

UID的范围是1-60000,自动分配。
普通用户又分为系统用户和登录用户。

系统用户

对守护进程获取资源进行权限分配。通俗的说,系统后台的一些服务程序,或者之后安装的软件也需要用户,这些用户的UID范围如下:
UID范围:1-499(CentOS6),1-999(CentOS7)

登录用户

交互式登录。
UID范围: 500+(CentOS6),1000+(CentOS7)


组group

一.概述

1.一个用户可以是多个组的成员。
2.用户和组的名字可以相同,Windows系统则不行。
3.将用户加入“root组”并不会成为管理员,Linux系统判断用户是不是管理只看它的UID是不是“0”。

二.Linux组: Groupname/GID

1.从功能上分类

Linux组分为管理组和普通组

管理组

管理组:root,ID是“0”。
任何组的ID是“0”,都代表这个组是管理组。

普通组

GID的范围是1-60000,自动分配。
普通组又分为系统组和普通组。

系统组

GID范围:1-499(CentOS6),1-999(CentOS7)

普通组

GID范围:500+(CentOS6),1000+(CentOS7)

2.从权限上分类

Linux组分为“主组”和“附加组”

主组

用户的主要组(primary group)

  • 用户必须属于一个且只有一个主组
  • 组名同用户名相同,而且组里只有这个用户,相当于这个用户的私有组

    附加组

    用户的附加组(supplementary group)

  • 一个用户可以属于零个或多个附加组(有时候也叫辅助组)

用户和组的配置文件

一.Linux用户和组的主要配置文件

/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性
前三个文件特别常用,也特别重要,最后一个文件基本不会用到。

1./etc/passwd

重要提示:尽量不要修改系统重要的文件,例如此文件,可以使用命令实现想要的功能。

查看/etc/passwd文件的内容,部分内容如下

可以看到每一行分七段,具体的格式是:六个“:”号分割了七个内容 。

以图中最后一行为例,解释格式:
niubin:x:1000:1000:niubin:/home/niubin:/bin/bash
用户:密码:UID:GID:用户描述信息:家目录:shell

注释:
1."x"是密码的意思,但密码的内容不再此文件,在/etc/shadow文件里,这里的“x”是“给密码占位”的意思
2.有的用户没有用户描述信息,有的有。可以用命令“chfn”添加用户的描述信息;当然你也可以直接在/etc/passwd文件里改,但是不推荐,因为修改错误会很麻烦,不如用相应的命令实现。
3.修改用户的“shell”可以用命令“chsh -s shell类型 用户名”;当然也可以在/etc/passwd文件里面修改,但是不推荐。  

2./etc/group

查看/etc/passwd文件的内容,部分内容如下

可以看到每一行分四段,具体的格式是:三个“:”号分割了四个内容 。

以图中最后一行为例,解释格式:

niubin:x:1000:niubin
组名:密码:GID:组中的用户(有些用户当附加组,有些用户当主组
"id 用户名"可查看此用户的主组和附加组

注意:如果你要给用户添加组,千万不要修改此文件来添加用户,因为这个和/etc/gshadow文件同步,要修改必须两个文件都改。所以可以用相应的命令实现。所以 **能用命令实现的,绝对不要修改文件去实现**

3./etc/shadow

查看/etc/passwd文件的内容,部分内容如下


可以看到每一行分九段,具体的格式是:八个“:”号分割了九个内容 。

以图中最后一行为例,解释格式: (man 5 shadow可查看详细信息)

niubin:$6$Xk6CbKlS$dCfMXwP9sYfhU11atXUdW395Eqp4n6QsytmlABW4bX1omO6eKBMolDMXbmvXcmlSfz0xTrgIklx05zr/Iumjv/:17969:0:99999:7:::
用户:sha512加密后的密码:创建或修改密码后,距离1970年的天数:修改密码口令最短有效期(单位:天):密码口令有效期,即能用多少天(单位:天):密码要到期了,提前多少天通知:自密码到期,如果不修改密码,还有多少天将锁定用户:账户有效期,多少天后锁定账户(前面说的都是密码,这里说的是用户):保留,留作以后添加使用

如果要修改密码,不建议在/etc/shadow文件操作,使用命令“chage 用户名”会更安全。如下:

注释:
1.验证距离1970年天数的算法,前提是你的系统时间准确,命令是“echo `data +%s`/3600/24|bc”
2.密码段的“!"号,表示密码被锁定,需要更改密码。  查看密码是否被锁定,就是看用户密码段的最前面有没有"!":cat /etc/shadow锁定账户密码 useradd -L 用户名(锁定后密码段会有"!"号)  解锁账户密码 useradd -U 用户名(解锁后密码段的"!"号取消) 

4./etc/gshadow


查看/etc/gshadow文件的内容,部分内容如下

可以看到每一行分四段,具体的格式是:三个“:”号分割了四个内容 。

以图中最后一行为例,解释格式:

niubin:x:1000:niubin
组名:密码口令:组的管理者:把这个组作为附加组的用户列表


文件操作

便捷的命令

  • vipw和vigr
  • pwck和grpck

    vipw:使用vi文本编辑器编辑/etc/passwd文件(可检测语法错误)

    vigr:使用vi文本编辑器编辑/etc/group文件(可检测语法错误)

pwck:检查/etc/passwd文件的格式语法错误

grpck:检查/etc/group文件的格式语法错误

转载于:https://blog.51cto.com/13465487/2364602

Linux篇 | 用户、组和权限(一)相关推荐

  1. linux系统用户,组和权限的管理

    PS: {最近一直在做毕业设计,前面博客也记录过我的一些过程.其中需要在Ubuntu上搭建一个FTP服务器,此处我选择Vsftpd,但是在我对vsftpd的配置文件vsftpd.conf设置正确后(对 ...

  2. Linux的用户-组-权限详解

    在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组. 一.用户 1.1.新增用户 useradd luckyboy 会创建同名的组和家目录 1.2.设置密码 p ...

  3. linux设置用户的执行权限,Linux下ACL权限控制以及用sudo设置用户对命令的执行权限...

    ACL权限分配 1.setfacl命令设置文件权限 setfacl -m u:user1:rw root.txt setfacl -m u:user2:rwx root.txt 2.getfacl命令 ...

  4. Python学习第四天----Linux之用户与用户组权限

    Linux的用户及用户组管理 Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面能帮助系统管理员对使 ...

  5. linux管理用户和文件权限

    第四章:管理用户和文件权限实验报告 1           实验案例一:用户和文件权限管理 1.1          实验环境: 公司的Linux主机即将提供给技术部作为开发服务器使用,根据部门内项目 ...

  6. linux为用户添加sudo权限

    用sudo时提示"xxx is not in the sudoers file. This incident will be reported.其中XXX是你的用户名,也就是你的用户名没有权 ...

  7. Linux之用户授权及权限安全

    给文件设定权限可以限定使用文件的用户,从而保护文件的安全.Linux中文件的一般权限分为r(读).w(写)和x(执行).通过命令ls -l 文件/目录或者ll 文件/目录可以查看文件/目录的权限. 以 ...

  8. linux创建用户、设置权限

    一.Linux系统用户账号的管理 1.添加新的用户账号使用useradd命令,其语法如下: 代码: useradd  选项  用户名 其中各选项含义如下: -c  comment 指定一段注释性描述. ...

  9. Linux之用户管理、权限管理、程序安装卸载

    一. 用户管理 1. 查看账户 (1). 查看当前账号:whoami ​(2). 查看系统当前登录的账号:who ​补充常用选项: ​(3). 查看系统所有的账号: cat /etc/passwd ​ ...

  10. 第2章 细说Linux系统用户/组管理(1)

    2.1 用户和组的基本概念 用户和组是操作系统中一种身份认证资源. 每个用户都有用户名.用户的唯一编号uid(user id).所属组及其默认的shell,可能还有密码.家目录.附属组.注释信息等. ...

最新文章

  1. MPB:中大李文均组-河口水体和沉积物中微生物的分离培养与鉴定
  2. 平衡二叉树及其应用场景
  3. 图片上传之后清空_OSS文件上传及OSS与ODPS之间数据连通
  4. 一、第一个注解的 SpringMVC 程序
  5. swiper根据图片切换不同的背景色
  6. js中的forEach
  7. 转:一个Sqrt函数引发的血案
  8. 数据挖掘导论课后习题答案 第二章(一)
  9. SAI2.0 ctrl+加号和ctrl+减号放大缩小无效 顺时针逆时针旋转快捷键无效
  10. 三星PM981(a)硬盘安装黑苹果(第五版)
  11. 人大金仓数据库高可用集群部署教程
  12. Android Studio中Spinner控件的使用方法2-2
  13. win10连wifi显示无Internet最全解决方案
  14. Python 实现数据分析中的 帕累托、漏斗、RFM、雷达图
  15. 甘肃康县乡村“蝶变”:北方山沟引来“南方媳妇”
  16. OPPO发布小布虚拟人,开放面向开发者的多元AI能力
  17. DirextX9之2D编程 通过16位色位图创建背景透明的纹理
  18. 《Gartner2016年度新兴技术成熟度曲线》全解读
  19. RuntimeError: Expected object of type torch.cuda.LongTensor but found type torch.cuda.IntTensor
  20. 国际数字文创产业园区助力成都打造文创名城

热门文章

  1. 关于location.href几种用法的区别
  2. react-native ListView 封装 实现 下拉刷新/上拉加载更多
  3. 2017-2018-2 20155203《网络对抗技术》 Exp7:网络欺诈防范
  4. 摄像机旋转约束问题及解决
  5. Android实现按钮点击效果(第一次点击变色,第二次恢复)
  6. CSS从大图中抠取小图完整教程(background-position应用) (转)
  7. 12.1、Libgdx的图像之持续性和非持续性渲染
  8. intel A20地址线
  9. 记一次centos 6 x64位系统修复过程
  10. PHP提高编程效率的方法