用户、组和权限(一)--为了让每个用户具有较安全的管理机制,文件的权限管理是很重要的。Linux通常将文件的访问方式分为三个类别(owner/group/other),并且具有Read/Write/eXecute等的权限。

目录用户

用户组

安全上下文

组的类别

passwd,shadow,group,gshadow文件

useradd,userdel,groupadd,groupdel命令

passwd,usermod,gpasswd,groupmod命令

groupmems,newgrp,groups命令

一、用户

Linux是多用户的系统,经常会出现多个用户同时使用主机,考虑到每个人的隐私以及个人爱好,文件拥有者(用户)就相当重要了。

用户类别UID

管理员root ,0

系统用户1-499(centos6) ,1-999(centos7)普通用户

1—65535

登录用户500+(centos6) , 1000+(centos7)

二、用户组

用户组多用于团队开发,每个团队的成员需要同时可以修改自己团体内任何人文件,且不能让其他团体的人看到自己文件的内容,这时通过用户组的权限设置可以实现。

管理员组root 0

系统组

普通组

现在用家庭的概念做一个形象的比喻:

假设有一家人,家里有三兄弟,分别是王大毛、王二毛、王三毛,这个家庭属于王大毛门下,所以,王大毛家有三个人(王大毛、王二毛、王     三毛),而且这三个人分别拥有自己的房间,共同拥有一个客厅,王大毛家相当于用户组,三兄弟相当于3个用户;

有一个人叫做张小猪,他对于王大毛家的人就是其他人。

三、安全上下文

进程发起者  命令   对象

进程所能够访问资源的权限取决于进程的运行者的身份

四、组的类别

主要组(也叫私有组)用户创建的时候,组名自动创建//组名同用户名

附加组(真正常用的)

思考:多个用户可以属于一个主要组吗?

答:可以手动设置,但是最好不要这样设置,安全考虑

五、passwd,shadow,group,gshadow文件

/etc/passwd

pwconv    将passwd中的密码映射到/etc/shadow

pwunconv  取消映射

/etc/shadow

用户名

密码位

密码上一次的修改时间

密码的最小存活期

密码的最大存活期

密码过期之前提前多少天提醒用户将会过期

密码过期之后在用户仍不改密码后多少天触发帐户过期

帐户过期时间

保留位

/etc/group

组名  组密码组ID  以当前组为附加组成员列表(,为分隔符)

grpconv 将组密码映射到/etc/gshadow

grpunconv 取消组密码的映射

/etc/gshadow

组名  组密码  管理员列表  以当前组为附加组成员列表

六、useradd,userdel,groupadd,groupdel命令

1、useradd + [选项] + 用户名

useradd  用户创建   adduser也可以(其实adduser就是useradd的软链接)

-u+UID指定UID创建用户

-o 配合-u指定已存在的UID创建用户

例如:useradd -u 600 lisi

useradd -u 600 wangwu -o

cat /etc/passwd 查看lisi和wangwu的UID相同

(以:为分隔符,第三列为UID)

-g+GID或组名指定已存在的主要组创建用户

-G+附加组号或者附加组名指定已存在的附加组创建用户,以,为分隔符可以同时指定多个

-c+注释信息附加注释信息创建用户

-d+目录路径指定目录路径,创建用户(目录名已存在,基名不存在)

-s指定登录shell创建用户

例如:useradd -s /sbin/nologin wangwu  创建不可交互式登录用户wangwu

之后输入su - wangwu ,显示登录失败

-N不创建私有组作为主组,即使用users组作主组

-r创建系统用户

2、/etc/default/useradd创建用户的默认配置文件

GROUP=100       表示使用useradd -N时默认使用的组为GIP为100的组

HOME=/home      自动创建家目录时,从哪个目录下创建与用户同名的家目录

INACTIVE=-1     用户是否设置 密码过期后,多少天帐户过期,为-1时,不会触发帐户过期

EXPIRE=         是否指定一个帐户过期时间,为空表示帐户默认永不过期

SHELL=/bin/bash 使用useradd创建用户时,如不使用-s 指定则默认的用户shell为/bin/bash

SKEL=/etc/skel  家目录的内容数据参考目录,自动创建家目录时,从哪个目录拷贝模板文件

(利用useradd新增用户后,新增用户家目录下的各项数据都是由/etc/skel 复制过去的)

CREATE_MAIL_SPOOL=yes  创建用户时是否在/var/spool/mail下为用户与用户同名的邮箱文件。

手工创建家目录的方法(加深理解)

mkdir /home/machao

chmod 700 /home/machao/

cp -r /etc/skel/.[^.]*  /home/machao/

chown -R machao.machao /home/machao

3、userdel -r +用户名删除用户名连同家目录以及邮箱文件一起删除

4、groupadd + [选项] + 组名创建组(创建的组不分主要组和附加组,因为没有用户)

-g+GID或者组名  创建指定GID的组

-r   创建系统组

5、groupdel+ 组名删除组

七、passwd,usermod,gpasswd,groupmod命令

1、passwd + username指定要修改密码的用户名(仅root运行,普通用户不输入用户名,可直接修改自己的密码)

-l锁定用户  实际就是在密码位前加!!

-u取消用户锁定

-e强制用户下次登录时更改密码

-n + mindays:  指定最短使用期限

-x + maxdays: 最大使用期限

-w + warndays:提前多少天开始警告

-i + inactivedays:非活动期限

--stdin从标准输入接收用户密码(常用)

2、usermod + username用户属性修改

-u+UID              修改用户ID

-g+GID或者组名修改用户主要组

-G+GID或者组名[,组名]   设定用户的附加组为哪些组,之前的附加组信息被覆盖

-aG                  增加用户的附加组,不会覆盖之前的附加组

-s+shell           修改用户的登录shell

-c+注释信息 修改用户的描述信息

-d+目录路径新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项

-l+目标用户名+原始用户名  更改用户名

-L+用户名        锁定指定用户,在/etc/shadow密码栏增加!

-U+用户名          解锁指定用户,将/etc/shadow密码栏的!拿掉

-e+年月日          指明账户过期的日期

-f设定非活动期限

3、gpasswd + [选项] + 组名 (重点难点)

gpasswd + 组名        设置组密码

gpasswd -a + 用户名  添加指定用户到指定组名的附加组

gpasswd -d+ 用户名  删除用户

gpasswd -M + 用户名(多个用户用,分隔)  仅root执行,设置用户列表到指定用户组名的组

(可以用命令groupmems -l -g +组名   查看指定组下用户列表)

gpasswd -A + 用户名(多个用户用,分隔) 设置指定组的管理员 仅root执行

(管理员只可以修改组密码,单个踢出组成员,单个添加组成员;管理员可能不是组成员,也就不能访问组内的文件,但是管理员可以                  把自己加入该组内,然后访问文件)

4、groupmod

-n+目标组名+原始组名   修改组名

-g+目标GID+原始组名    修改组ID

八、groupmems,newgrp,groups命令

1、groupmems  仅限于root

-g + 组名 -a + 用户名  添加指定用户到指定组名的附加组

-g + 组名 -d + 用户名  删除指定用户

-g + 组名 -p              清空所有指定组成员

-g + 组名 -l              查看指定组有那些成员(仅附加组)

2、newgrp + 组名(普通用户执行)

非附加组成员的普通用户在正确输入组密码后临时变更指定组名为主要组,原主要组临时变成附加组

附加组成员的普通用户无须输入密码就可以临时变更指定组名为主要组,原主要组临时变成附加组

*******************

使用newgrp之后实质就是进入了一个子shell,在这个子shell环境下的主要组为指定组,使用exit后,只是退出了子shell,当前用户没有变(注意理解)

进入guanyu用户下,查看用户的主要组和附加组,使用了newgrp命令之后,主要组和附加组发生变化;exit退出之后,用户并没有变

*********************

3、groups + 用户名   查看指定用户属于那些组(包含主要组和附加组)

小总结:添加删除组成员可以用usermod -G,gpasswd -d,groupmems -g + 组 -d +用户

linux 权限mod,linux学习—权限管理相关推荐

  1. 饥荒linux服务器 mod,Linux饥荒服务器搭建[地上+地下][Docker构建]

    饥荒-联机版 专用服务器搭建指南(Linux, Mac, Windows)Docker版 阅读须知: 本文需要有一定的Linux使用基础 简要描述: 使用Docker来构建一个镜像,主要功能: 1:获 ...

  2. linux磁盘权限 /srv,Linux学习笔记之解压压缩,磁盘分区,软件包管理,权限

    关机命令  (不能直接点虚拟机右上角的x) init 0 重启命令 init 6 管道符号  |  ---- 把前一个命令的输出结果传递给后一个命令处理 ----哪些命令支持放在管道符后面  (mor ...

  3. Linux内核学习笔记——Linux中的用户组和权限管理(UID是什么?)

    目录 一.背景 进程权限 最小权限原则 二.linux系统安全模型 用户 用户组 用户和组的关系 安全上下文 进程的用户ID 函数setreuid和setregid 函数seteuid和setegid ...

  4. Linux绝对权限和相对权限法,Linux基础学习笔记

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 学习计划里有一些关于Linux的知识,所以今后一段时间用来学习Linux的基础知识和服务器架设知识,平时一直在用,但是一 ...

  5. linux设置账号权限设置,Linux账号管理与ACL权限设置

    1:UID和GID 用户ID:在/etc/passwd中 群组ID:在/etc/group中 2:有效群组与初始群组 初始群组:/etc/passwd文件里面的GID 有效群组: groups #查看 ...

  6. linux根-文件系统-目录管理-文件管理-用户及权限详解-用户组-用户管理-权限管理...

    一 .Linux文件结构 文件结构是文件存放在磁盘等存贮设备上的组织方法.主要体现在对文件和目录的组织上. 目录提供了管理文件的一个方便而有效的途径. Linux使用标准的目录结构,在安装的时候,安装 ...

  7. Linux常用命令(第二版) --权限管理命令

    权限管理命令 1.chmod[change the permissions mode of a file] : /bin/chmod 语法: chmod [{ugo}{+-=}{rwx}] [文件或目 ...

  8. 用户管理 之 Linux 系统中的超级权限的控制

    作者:北南南北 赞助: eTony,pandonny,懒猫, Arch 来自:LinuxSir.Org 摘要: 超级用户是系统最高权限的拥有者,是系统管理唯一的胜任者:由于权限的超级并且达到无所不能的 ...

  9. linux中文件权限 组,linux中文件权限格式与chmod命令以及用户和用户组的管理

    简单了解一下linux中的文件权限格式与chmod命令 chmod命令:改变文件或者目录的权限 格式:chmod [参数] [] -R 或者--recursive 递归处理,表示将指定目录下的所有文件 ...

最新文章

  1. Ceph Storage Cluster(CEPH存储集群) Configuration配置
  2. PB做的史上最强的矢量图监控软件(什么组态软件与监控软件的核心都源于此原理)...
  3. POJ 2253 Frogger(最短路 Floyd)
  4. “智能微尘”:助推物联网应用的关键
  5. I/O流(四)—java如何添加到文件尾
  6. python3 读取文本文件_Python3 读写文件
  7. SpringMvc+Mybatis +Oracle
  8. pulseaudio之pa_simple_new()流程(十八)
  9. 基础教程——python函数
  10. 神秘的Windows7 Send To
  11. 来给罗永浩和王自如打个分
  12. JAVA+MySQL 图书馆借阅信息管理系统
  13. Java_08 快速入门 Java常用类库
  14. 仙女姐姐@chuu chloe和@什么七七——python图片爬虫
  15. 1219_SCons的配置文件SConstruct
  16. 怎么样成为java架构师_java架构师工资一般多少?怎样成为架构师?
  17. Python 趣味百题
  18. 57BYG250B步进电机+SR4驱动器
  19. 【随笔感悟】以大多数人的努力程度之低,根本轮不到拼智商
  20. 单片机设计 测量频率

热门文章

  1. android 相机应用程序,2020年最佳Android相机的应用程序
  2. arduino 蓝牙示例_,arduino 蓝牙例子,
  3. XML指南——XML元素
  4. PCIe的事务传输层的处理(TLP)
  5. mysql explain 结果值介绍
  6. 【TypeScript】TypeScript 学习 4——模块
  7. Python抓取单个网页中所有的PDF文档
  8. Zend Framework学习之Zend_Config
  9. jsp网页实现自动刷新和自动跳转页面
  10. html5游戏面试题及答案,HTML5常见面试题及答案(二)