Linux用户和组的属性与权限
本章结构
1.用户账号和组账号概述
2.用户账号和组账号管理
3.查询账号信息
4.查看目录或文件的属性
5.设置目录或文件的权限
6.设置目录或文件的归属

前言
在linux中一切都是文件(文件夹和硬件设备是特殊的文件),如果有可能尽量使用文本文件。文本文件是人和机器能理解的文件,也成为人和机器进行交流的最好途径。由于所有的配置文件都是文本,所以你只需要一个最简单的编辑器就可以修改。由于修改文本文件如此简单,所以Linux系统本身肯定要加以规范。这就引出了用户(组)和权限这2个概念。而这2个概念的引入,完美的保证了Linux的安全性,同时没有添加复杂性。由于一切皆为文件。所以Linux引入了3个文件来管理用户(组), /etc/passwd存放用户信息,/etc/shadow存放用户密码信息,/etc/group存放组信息,然后在文件系统中的每个文件的文件头里面添加了用户和文件之间的关系信息。
一、用户和组的信息查看
1.用户:在Linux下,用户分为三类:超级用户(root)、普通用户、程序用户。
超级用户:UID=0
程序用户:Rhel5/6,UID=1-499;                Rhel7,UID=1-999
普通用户:Rhel5/6,UID=500-65535;        Rhel7,UID=1000-60000
超级用户有且只有一个,且不能被代替!
匿名用户(nobody):普通用户中权限最小的
2.组:用户权限的集合称为组
私有组:伴随着用户的创建而创建,与用户同名
共有组:附加组 直接创建空组,可以添加已有用户,给组设置权限,该组中的所有用户都具备此权限。
3.UID和GID:用户和组的标识号,具有唯一性
4.用户账号文件/etc/passwd:保存用户名称,宿主目录,登录shell等基本信息


用户账号文件 /etc/shadow:保存用户的密码,账号有效期等信息

添加用户账号 useradd
-u:指定UID
-d:创建家目录指定位置
-e:指定失效时间
-g:指定基本组
-G:指定共有组
-M:不创建家目录
-s:指定可以从shell终端登录

/sbin/nologin状态下 用户无法直接登录和被切换登录
用户被锁定状态下 无法直接登录,可以从root用户切换登录
passwd命令
-l:锁定账号
-u:解锁账号
-d:清除账号
-S:查看账号是否被锁


不指定用户名时,就是就该当前账号的密码!
usermod 修改用户账号的属性
-u:指定UID
-d:创建家目录指定位置
-e:指定失效时间
-g:指定基本组
-G:指定共有组
-M:不创建家目录
-s:指定可以从shell终端登录
-L:锁定
-U:解锁
userdel 删除用户账号
-r 连用户的宿主目录一并删除

用户账号的初始配置文件
新建用于账号时,从 /etc/skel目录中复制而来
主要的用户初始配置文件
~/.bash_prolile
~/.bashrc
~/.bash_logout
隐藏文件
profile 环境变量 进入bash才被加载
bashrc 不进入bash就加载

组账号文件
/etc/group:保存组账号基本信息
/etc/gshadow:保存组账号的密码信息
groupadd:添加组账号

gpasswd:添加删除组成员命令
 
gpasswd -a:向组内添加一个用户

gpasswd -d :从组内删除一个用户

gpasswd -M :定义组内成员列表,以逗号分隔

groupdel:删除组账号

查询账号信息
groups 查询用户所属的组

id 查询用户身份标识

w、who、user命令:查询已登录到主机的用户信息

二、文件、目录的权限和归属
1.访问权限
1)读取r:允许查看文件内容、显示目录列表
2)写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
3)可执行x:允许运行程序,切换目录
2.归属(所有权)
1)属主:拥有改文件或目录的用户账号
2)属组:拥有该文件或目录的组账号
-rwxr-xr-x. 1 root root 5343 8月 2 2017 znew

    • 数据文件
      d 目录
      l 连接文件
      c 设备文件(字符)
      b 块设备文件
      rwx r-x r-x 权限
      rwx 属主权限 (能读能写能执行)
      r-x 属组权限内 (能读不能写能执行)
      r-x 所有人权限 other 其他 (能读不能写能执行)
      root 属主
      root 属组
      5343 大小 单位:字节
      8月 2 2017 创建时间

      普通数据文件不能执行,最高权限666,文件夹的最高权限777
      设置文件和目录的权限chmod
      chmod命令
      chmod [ugoa] [+ - =] [rwx] 文件或目录 或 chmod nnn 文件或目录
      u、g、o、a分别表示属主、属组、其它用户、所有用户 
      +、-、=分别表示怎家、去除、设置权限 
      nnn表示3位8进制数 
      常用选项
      -R:递归修改指定目录下所有子项的权限 
      设置文件和目录的归属chown
      chown命令
      chown命令
      chown 属主 文件或目录
      chown :属组 文件或目录
      chown 属主:属组 文件或目录 或 chown 属主.属组 文件或目录
      常用选项
      -R:递归修改指定目录下所有文件、子目录的归属 
      权限掩码umask
      umask作用
      控制新建的文件或者目录的权限 
      默认权限去除umask的权限就为新建的文件或者目录的权限 
      umask设置: umask 022
      umask查看: umask
      示例
      将umask设为000,新建目录或者文件,查看权限
      将umask设为022,新建目录或者文件,再查看权限
      总结
      Linux用户和组的权限去管理,内容不算多,就是有几条新增的命令需要我们记忆。要注意的点就是使用gpasswd -M命令添加用户到组内时,会覆盖原有组内的用户,所以这个命令最好是在空组下使用,一般我们都是用gpasswd -a 一个一个添加用户,避免一些不必要的麻烦。第二点就是在文件、目录的权限和归属中,注意chomd nnn的使用,r=4,w=2,x=1
      以简便的方式设置用户和组的权限。

Linux命令详解 三的更多相关文章

  1. Linux命令详解之—less命令

    Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...

  2. Linux命令详解之–ls命令

    今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...

  3. [转载]Linux 命令详解:./configure、make、make install 命令

    [转载]Linux 命令详解:./configure.make.make install 命令 来源:https://www.cnblogs.com/tinywan/p/7230039.html 这些 ...

  4. Linux命令详解之–chmod命令

    在Linux中,一般使用chmod命令来修改文件的属性. 利用 chmod 可以藉以控制文件如何被他人所调用.此命令所有使用者都可使用. 一.Linux chmod命令语法Linux chmod 命令 ...

  5. Linux命令详解之—tail命令

    tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...

  6. Linux命令详解之—more命令

    Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...

  7. 【转】linux命令详解:md5sum命令

    [转]linux命令详解:md5sum命令 转自:http://blog.itpub.net/29320885/viewspace-1710218/ 前言 在网络传输.设备之间转存.复制大文件等时,可 ...

  8. Linux命令详解之—cat命令

    cat命令的功能是连接文件或标准输入并打印,今天就为大家介绍下Linux中的cat命令. 更多Linux命令详情请看:Linux命令速查手册 Linux 的cat命令通常用来显示文件内容,也可以用来将 ...

  9. Linux命令详解之—pwd命令

    Linux的pwd命令也是一个非常常用的命令,本文为大家介绍下Linux中pwd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux pwd命令用于显示工作目录. 执行pwd指 ...

随机推荐

  1. Pandas学习(三)——NBA球员薪资分析

    欢迎加入python学习交流群 667279387 学习笔记汇总 Pandas学习(一)–数据的导入 pandas学习(二)–双色球数据分析 pandas学习(三)–NAB球员薪资分析 pandas学 ...

  2. python pyHook安装

    Hook安装 哇 这东西可真费劲  主要有pyhook和pyhook3 两种 每个都要根据系统版本和python版本 分成各种小版本 具体安装 一.可以在cmd 中输入 pip install pyh ...

  3. SSM 轻量级框架构建:图书管理系统

    一.接业务,作分析 1.大致业务要求 1.1 使用 SSM( Spring MVC + Spring + MyBatis )实现图书信息管理系统, MySQL5.5 作为后台数据库,该系统包括查询图书 ...

  4. unity3d 柏林噪声 PerlinNoise 规律 算法

    测试 每个小数值取100次 print(0.1); LaTest3(0.1f, 0.1f); print("Max:" + La.Max() + "|Min:" ...

  5. Vue中实现聊天窗口overflow:auto自动滚动到底部,实现显示当前最新聊天消息

    在做消息的项目,当有新消息的时候让新消息出现在最底部,此时的box用的是overflow:auto 注意:vue项目需要注意在dom结构渲染完再进行操作 <div class="mai ...

  6. 分析比较 opacity: 0、visibility: hidden、display: none 优劣和适用场景

    总结: 结构: display:none: 会让元素完全从渲染树中消失,渲染的时候不占据任何空间, 不能点击, visibility: hidden:不会让元素从渲染树消失,渲染元素继续占据空间,只是 ...

  7. 用递归实现N!

    def digui(n): result = 1 if n == 2: result = 2 elif n > 2: result = n* digui(n-1) print(result) r ...

  8. Spring boot采坑记--- 在启动时RequstMappingHandlerMapping无法找到部分contorller类文件的解决方案

    最近有一个心得需求,需要在一个现有的springboot项目中增加一些新的功能,于是就在controller文件包下面创建新的包和类文件,但是后端开发完之后,本地测试发现前端访问报404错误,第一反应 ...

  9. 我的 FPGA 学习历程(15)—— Verilog 的 always 语句综合

    在本篇里,我们讨论 Verilog 语言的综合问题,Verilog HDL (Hardware Description Language) 中文名为硬件描述语言,而不是硬件设计语言.这个名称提醒我们是 ...

  10. 2019年全国高校计算机能力挑战赛初赛java语言解答

    1:题目1 16.某星球存在两种生物,A种生物有1个头6条腿,B种生物有3个头4条腿.来自地球的太空船刚刚在该星球降落,突然发现一大群这两种生物组成的队伍,由于时间紧,只数了头的数量和腿的数量,请帮助 ...