用户和组

用户信息文件

  1. /etc/passwd
  2. 1 2 3 4 5 6 7
  3. root:x:0:0:root:/root:/bin/bash 用户信息,以 : 分割字段
  4. daemon:x:2:2:daemon:/sbin:/sbin/nologin
  5. games:x:12:100:games:/usr/games:/sbin/nologin
  6. 字段1:用户名
  7. 字段2:密码占位符(原用于存放密码,现已弃用)
  8. 字段3uid(用户的身份标识)
  9. 0 超级管理员 1-499 程序用户 500-60000 普通用户 centOS 6 中)
  10. 999 1000 centOS 7 中)
  11. 在应用启动时,会调用程序用户来启动(该用户权限低,无法登陆系统)
  12. 字段4gid用户的基本组id(一个用户只能有一个基本组,但可以有多个附加组)
  13. 字段5:用户信息(现已弃用)
  14. 字段6:用户的的家目录
  15. 字段7:用户登录系统的命令解释器类型(shell
  16. /bin/bash 表示该用户可以登录系统
  17. /sbin/nologin 表示该用户无法登录系统

用户密码信息

  1. /etc/shadow
  2. 1 2
  3. root:$7$UmhhDLOFNijwwr6v$.rw/AyPqqm4WeoYnajjveFCabPT9SeOLALLWbarOvPuTGtJX5d1cmwgV5abwzCplR8ekN2XlbweD2xcpG06eb0::0:99999:7:::
  4. userA:!!:18458:0:99999:7:::
  5. 1 2 3 4 5 6 78
  6. 字段1:用户名
  7. 字段2:被加密过的密码(利用sha-512算法,以及salt值混合加密的密码)
  8. 字段3:间隔天数(距197011日密码最近一次的修改时间)
  9. 字段4:密码的最短有效期,0表示不限制,若为3则表示用户(root除外)三天内不能修改自己的密码
  10. 字段5:密码最长有效期(建议设定成90天)
  11. 字段6:密码过期前的7天会有警告提示
  12. 字段7:密码的不活跃期
  13. 字段8:账户的失效时间

相关命令

用户管理
  1. id user 查看用户的信息(uidgid以及附加组)
  2. useradd userA 创建一个新用户userA
  3. id会默认从可用id里顺序取值,且会同时创建同名的基本组和附加组
  4. [root@localhost ~]# id userA
  5. uid=1001(userA) gid=1001(userA) groups=1001(userA)
  6. useradd -u 1223 -g 1001 userB 创建一个uid1223gid1001的用户userB
  7. usermod -g root userA 将用户userA的所属组改为root
  8. usermod -G 1002 userA 为用户增加一个gid1002的附加组
  9. usermod -s /sbin/nologin 修改用户的命令解释器(无法登录,也不能由其他用户切换)
  10. userdel -r userB 删除用户及其家目录,若无-r,则会保留家目录
组管理
  1. groupadd gp 创建了一个名为gp的组
  2. group -g 676 aaa 创建了一个gid676的组aaa
  3. groupmod -g 677 aaa 将组aaagid改为677
  4. gpasswd -d aaa root root组成员中移除用户aaa
  1. tail -3 /etc/group
  2. userA:x:1001:aaa
  3. userB:x:1002:
  4. aaa:x:1003:
  5. 字段1:组名
  6. 字段2:密码标识
  7. 字段3gid
  8. 字段4:组中的成员(以该组为附加组的用户,以该组为基本组的用户不显示)
密码管理
  1. passwd -S root 查看root用户的密码状态
  2. passwd userA 为用户userA设定密码
  3. passwd -d userA 删除用户userA的密码
  4. passwd -l userA 锁定用户userA,其不能在登录界面登录,但可以从其他用户切换
  5. passwd -u userA 解锁用户
  6. chage -M 90 userA 修改用户userA密码的最长有效期为90

权限管理

文件的详细信息

  1. ls -lh 列出文件的详细信息
  2. -rwxr-xr-x. 1 root root 127 Jul 20 18:57 hello.sh
  3. drwxr-xr-x. 12 500 500 4.0K Jul 17 16:25 httpd-2.2.15
  4. -rwxrw-rw-. 1 root root 6.3M May 13 09:08 httpd-2.2.15.tar.gz
  5. drwxr-xr-x. 3 root root 79 Jul 21 19:27 test
  6. 1 2 3 4 5 6 7
  7. 字段1:文件的类型和权限
  8. 字段2:文件类型如果是文件,代表文件的结点数inode
  9. 文件类型如果是目录,代表目录中子目录的个数(包括目录 . ..)
  10. 字段3:文件的所属者
  11. 字段4:文件的所属组
  12. 字段5:文件的大小
  13. 字段6:文件的修改时间
  14. 字段7:文件名

文件权限

  1. 对文件的类型和权限信息部分进行分割
  2. drwxr-xr-t. 2 root root 6 Jul 21 20:48 tmp1 (设置了粘置位的目录)
  3. drwxr-xr-T. 2 root root 6 Jul 21 20:47 tmp2
  4. - rwx r-x r-x + 1 root root 127 Jul 20 18:57 hello.sh
  5. d rwx r-x r-x . 3 root root 79 Jul 21 19:27 test
  6. 1 2 3 4 5
  7. 字段1:文件类型 -普通文件 d目录 l符号链接 b块设备(硬盘)
  8. 字段2:文件所属者的权限
  9. 字段3:文件所属组的权限
  10. 字段4:其他用户的权限 (字段234属于文件基本acl
  11. 字段5:文件扩展acl标识(.表示没有设置扩展acl,+表示设置了扩展acl
  12. (扩展acl的优先级高于基本acl
  13. 权限中各字符的含义:
  14. r w x
  15. 对于文件 读取 写入 可执行
  16. 对于目录 列出内容 增删文件 进入
  17. (如果用户对于目录没有x权限,即使拥有rw权限也无法对其进行操作)

相关命令

  1. chmod 改变文件或目录的权限
  2. chmod u-x g+w o=r-x file (-撤权 +赋权 =直接覆盖权限)
  3. 撤销file文件所属者的执行权限,所属组增加写权限,其他用户只有读和执行权限
  4. chmod a--- file
  5. 撤销所有用户和组对file文件的所有权限(root用户仍可以对其进行任意操作)
  6. chmod -R o= ./test
  7. 撤销其他用户对test目录及其包含的所有文件的所有权限
  8. chmod o+t /test 对目录设置粘置位
  9. 原本其用于显示他用户x权限的位置会被替代成t(有x权限)/T(无x权限)
  10. chnod -u+s /usr/bin/vim vim文件添加suid权限
  11. suid只对可执行文件有效果,任何运行该文件的用户都是以文件所属者的身份运行)
  12. 8进制赋权法
  13. 0 000 ---
  14. 1 001 --x
  15. 2 010 -w-
  16. 3 011 -wx
  17. 4 100 r--
  18. 5 101 r-x
  19. 6 110 rw-
  20. 7 111 rwx
  21. chmod 700 file 只有文件所属者对file文件有操作权限
  22. chmod 444 file 所有用户对file文件只有读r权限
  23. chmod 1444 /tmp3 对目录tmp3设置粘置位(1表示设置粘置位)
  24. chmod 0444 /tmp3 撤销目录的粘置位
  25. chown userA /tmp/1.txt 将文件1.txt的所属者更改为userA
  26. chgrp -R userB ./test/ 将目录及其包含的所有内容的所属组更改为userB
  27. 文件acl设置
  28. getfacl file 查看文件的facl
  29. setfacl 设置文件扩展访问控制列表
  30. setfacl -m u:userA:r-- ./1.txt
  31. 用户userA1.txt文件只有r权限
  32. setfacl -m g:userB:rw- ./1.txt
  33. userB1.txt文件只有rw权限
  34. setfacl -x u:userA ./1.txt
  35. 撤销userA用户在1.txt文件上的扩展acl
  36. setfacl -b 1.txt
  37. 撤销对文件设置的所有扩展acl

Linux系统中(CentOS 7)的用户和权限管理的更多相关文章

  1. 在Linux系统中增加和删除用户

    linux创建账户并自动生成主目录和主目录下的文件 在Linux系统中增加和删除用户 Linux添加用户(user)到用户组(group) usermod -a -G groupA user linu ...

  2. 用户管理 之 在Linux系统中,批量添加用户的操作流程

    一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用 ...

  3. Linux学习《第五章用户文件权限管理》之补充学习

  4. 嵌入式linux系统中,lsusb出现unable to initialize libusb: -99 解决办法 【转】

    转自:http://cpbest.blog.163.com/blog/static/41241519201111575726966/ libusb是linux系统中,提供给用户空间访问usb设备的AP ...

  5. 详解Linux系统中的文件名和文件种类以及文件权限

    Linux文件种类与副文件名 一直强调一个概念,那就是:任何装置在Linux底下都是文件, 不仅如此,连资料沟通的介面也有专属的文件在负责-所以,你会瞭解到,Linux的文件种类真的很多- 除了前面提 ...

  6. Linux 系统中用户切换

    1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参 ...

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

    在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...

  8. Linux 系统中用户切换(su user与 su - user 的区别)

    1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参 ...

  9. linux系统中用户切换

    1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参 ...

  10. 在 Linux 系统中安装Load Generator ,并在windows 调用方法

    在 Linux 系统中安装Load Generator ,并在windows 调用 由于公司需要测试系统的最大用户承受能力,所以需要学习使用loadrunner.在安装的时候碰到了不少问题,所以写下此 ...

随机推荐

  1. jquery 李南江老师jquery和ajax视频教程

    链接:https://pan.baidu.com/s/11QF97RLg1aW9bf6o-CdHvQ 密码:qfer https://www.bilibili.com/video/av22807707 ...

  2. redis基础二----操作hash

    上面usr就是hash的名字,usr这个hash中存储了key 为id.name和age的值 一个hash相当于一个数据对象,里面可以存储key为id name age的值 2.批量插入一个hash数 ...

  3. python 之 数据类型初接触

    python 之 数据类型初接触 标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dicti ...

  4. Docker 基础知识 - Docker 概述

    Docker 是一个开发.发布和运行应用程序的开放平台.Docker使您能够将应用程序与基础架构分离,以便快速交付软件.有了 Docker,你可以像管理应用程序一样管理你的基础设施.通过利用 Dock ...

  5. Mariadb之显式使用表锁和行级锁

    首先我们来看看mariadb的锁定概念,所谓锁就是当一个进程或事务在操作某一资源时,为了防止其他用户或者进程或事务对其进行资源操作,导致资源抢占而发生冲突,通常在A进程操作该资源时,会对该资源进行加锁 ...

  6. JDK8--05:方法引用和构造器引用

    在上一篇文章中,说过JDK8中内置的函数时接口,为了方便使用,JDK8还提供了方法引用和构造器引用,来简化lambda的写法 1.方法引用 方法引用说明:lambda表达式中的方法已经在其他方法中已经 ...

  7. ajax前后端交互原理(7)

    7.ajax函数封装 7.1.实例引入 需求: 每秒钟请求一次服务器 获取到数据 实现: 把ajax进行封装 <!DOCTYPE html> <html> <head&g ...

  8. DOM-BOM-EVENT(6)

    6.BOM 6.1.什么是BOM? BOM(Browse Object Model),浏览器对象模型,没有相关标准,是约定俗成的东西,定义了一些操作浏览器的方法和属性,大部分方法都是通过window对 ...

  9. Nuxt+Express后端api接口配置与实现方式

    Nuxt.js 是一个基于 Vue.js 的轻量级应用框架,可用来创建服务端渲染 (SSR) 应用.本文带你了解在 Nuxt.js 中使用 Express 如何编写实现后端的 api 接口. 创建接口 ...

  10. socket 建立网络连接,client && server

    client代码: package socket; import java.io.IOException; import java.net.Socket; /** * 客户端_聊天室 * * @aut ...