Linux系统中(CentOS 7)的用户和权限管理
用户和组
用户信息文件

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


/etc/shadow
 1                                       2
root:$7$UmhhDLOFNijwwr6v$.rw/AyPqqm4WeoYnajjveFCabPT9SeOLALLWbarOvPuTGtJX5d1cmwgV5abwzCplR8ekN2XlbweD2xcpG06eb0::0:99999:7:::
userA:!!:18458:0:99999:7:::
  1   2    3   4   5   6 78
字段1:用户名
字段2:被加密过的密码(利用sha-512算法,以及salt值混合加密的密码)
字段3:间隔天数(距1970年1月1日密码最近一次的修改时间)
字段4:密码的最短有效期,0表示不限制,若为3则表示用户(root除外)三天内不能修改自己的密码
字段5:密码最长有效期(建议设定成90天)
字段6:密码过期前的7天会有警告提示
字段7:密码的不活跃期
字段8:账户的失效时间
相关命令
用户管理
id user	 查看用户的信息(uid,gid以及附加组)
useradd userA	创建一个新用户userA
  id会默认从可用id里顺序取值,且会同时创建同名的基本组和附加组
  [root@localhost ~]# id userA
  uid=1001(userA) gid=1001(userA) groups=1001(userA)
useradd -u 1223 -g 1001  userB	创建一个uid为1223,gid为1001的用户userB
usermod -g root userA	将用户userA的所属组改为root
usermod -G 1002 userA   为用户增加一个gid为1002的附加组
usermod -s /sbin/nologin  修改用户的命令解释器(无法登录,也不能由其他用户切换)
userdel -r userB  删除用户及其家目录,若无-r,则会保留家目录
组管理
groupadd gp  创建了一个名为gp的组
group -g 676 aaa  创建了一个gid为676的组aaa
groupmod -g 677 aaa	 将组aaa的gid改为677
gpasswd -d aaa root  从root组成员中移除用户aaa
tail -3 /etc/group
userA:x:1001:aaa
userB:x:1002:
aaa:x:1003:
字段1:组名
字段2:密码标识
字段3:gid
字段4:组中的成员(以该组为附加组的用户,以该组为基本组的用户不显示)
密码管理
passwd -S root	查看root用户的密码状态
passwd userA	为用户userA设定密码
passwd -d userA  删除用户userA的密码
passwd -l userA  锁定用户userA,其不能在登录界面登录,但可以从其他用户切换
passwd -u userA  解锁用户
chage -M 90 userA  修改用户userA密码的最长有效期为90天
权限管理
文件的详细信息
ls -lh	列出文件的详细信息
-rwxr-xr-x.  1 root root  127 Jul 20 18:57 hello.sh
drwxr-xr-x. 12  500  500 4.0K Jul 17 16:25 httpd-2.2.15
-rwxrw-rw-.  1 root root 6.3M May 13 09:08 httpd-2.2.15.tar.gz
drwxr-xr-x.  3 root root   79 Jul 21 19:27 test
    1        2   3   4    5        6          7
字段1:文件的类型和权限
字段2:文件类型如果是文件,代表文件的结点数inode
      文件类型如果是目录,代表目录中子目录的个数(包括目录 . 和 ..)
字段3:文件的所属者
字段4:文件的所属组
字段5:文件的大小
字段6:文件的修改时间
字段7:文件名
文件权限
对文件的类型和权限信息部分进行分割
drwxr-xr-t. 2 root root  6 Jul 21 20:48 tmp1  (设置了粘置位的目录)
drwxr-xr-T. 2 root root  6 Jul 21 20:47 tmp2
- rwx r-x r-x +  1 root root  127 Jul 20 18:57 hello.sh
d rwx r-x r-x .  3 root root   79 Jul 21 19:27 test
1  2   3   4  5
字段1:文件类型  -普通文件 d目录 l符号链接 b块设备(硬盘)
字段2:文件所属者的权限
字段3:文件所属组的权限
字段4:其他用户的权限  (字段234属于文件基本acl)
字段5:文件扩展acl标识(.表示没有设置扩展acl,+表示设置了扩展acl)
	(扩展acl的优先级高于基本acl)
权限中各字符的含义:
            r        w       x
对于文件    读取      写入    可执行
对于目录   列出内容  增删文件   进入
(如果用户对于目录没有x权限,即使拥有rw权限也无法对其进行操作)
相关命令
chmod 改变文件或目录的权限
chmod u-x g+w o=r-x file  (-撤权  +赋权  =直接覆盖权限)
 撤销file文件所属者的执行权限,所属组增加写权限,其他用户只有读和执行权限
chmod a--- file
 撤销所有用户和组对file文件的所有权限(root用户仍可以对其进行任意操作)
chmod -R o=	./test
 撤销其他用户对test目录及其包含的所有文件的所有权限
chmod o+t /test  对目录设置粘置位
 原本其用于显示他用户x权限的位置会被替代成t(有x权限)/T(无x权限)
chnod -u+s /usr/bin/vim  为 vim文件添加suid权限
 (suid只对可执行文件有效果,任何运行该文件的用户都是以文件所属者的身份运行)
 8进制赋权法
0   000   ---
1   001   --x
2   010   -w-
3   011   -wx
4   100   r--
5   101   r-x
6   110   rw-
7   111   rwx
chmod 700 file  只有文件所属者对file文件有操作权限
chmod 444 file  所有用户对file文件只有读r权限
chmod 1444 /tmp3  对目录tmp3设置粘置位(1表示设置粘置位)
chmod 0444 /tmp3  撤销目录的粘置位
chown userA /tmp/1.txt	将文件1.txt的所属者更改为userA
chgrp -R userB ./test/  将目录及其包含的所有内容的所属组更改为userB
文件acl设置
getfacl file  查看文件的facl
setfacl  设置文件扩展访问控制列表
setfacl -m u:userA:r-- ./1.txt
 用户userA对1.txt文件只有r权限
setfacl -m g:userB:rw- ./1.txt
 组userB对1.txt文件只有rw权限
setfacl -x u:userA ./1.txt
 撤销userA用户在1.txt文件上的扩展acl
setfacl -b 1.txt
 撤销对文件设置的所有扩展acl
Linux系统中(CentOS 7)的用户和权限管理的更多相关文章
- 在Linux系统中增加和删除用户
		linux创建账户并自动生成主目录和主目录下的文件 在Linux系统中增加和删除用户 Linux添加用户(user)到用户组(group) usermod -a -G groupA user linu ... 
- 用户管理 之 在Linux系统中,批量添加用户的操作流程
		一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用 ... 
- Linux学习《第五章用户文件权限管理》之补充学习
- 嵌入式linux系统中,lsusb出现unable to initialize libusb: -99 解决办法  【转】
		转自:http://cpbest.blog.163.com/blog/static/41241519201111575726966/ libusb是linux系统中,提供给用户空间访问usb设备的AP ... 
- 详解Linux系统中的文件名和文件种类以及文件权限
		Linux文件种类与副文件名 一直强调一个概念,那就是:任何装置在Linux底下都是文件, 不仅如此,连资料沟通的介面也有专属的文件在负责-所以,你会瞭解到,Linux的文件种类真的很多- 除了前面提 ... 
- Linux 系统中用户切换
		1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参 ... 
- 用户管理 之 Linux 系统中的超级权限的控制
		在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ... 
- Linux 系统中用户切换(su user与 su - user 的区别)
		1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参 ... 
- linux系统中用户切换
		1. Linux系统中用户切换的命令为su,语法为: su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 参 ... 
- 在 Linux 系统中安装Load Generator ,并在windows 调用方法
		在 Linux 系统中安装Load Generator ,并在windows 调用 由于公司需要测试系统的最大用户承受能力,所以需要学习使用loadrunner.在安装的时候碰到了不少问题,所以写下此 ... 
随机推荐
- redis高级命令1
			设置name的过期时间是20秒 redis默认是16个数据库,默认是将数据存储在第0个数据库中 因为默认是0,当你选择其他数据的时候,是没有值的 
- Day10-微信小程序实战-交友小程序-实现删除好友信息与子父组件间通信
			回顾:上一次已经把消息的布局以及样式做好了 效果图: 在removeList.js文件中,messageId就是发起这个消息的用户了 先查看一下自定义组件的生命周期 https://developer ... 
- Scala创建SparkStreaming获取Kafka数据代码过程
			正文 首先打开spark官网,找一个自己用版本我选的是1.6.3的,然后进入SparkStreaming ,通过搜索这个位置找到Kafka, 点击过去会找到一段Scala的代码 import or ... 
- shell把字符串中的字母去掉,只保留数字
			1 编辑测试文件 [root@hz-kvm cephdisk3]# cat > 1.txt <<EOF> 120Tib> EOF 2 显示文件[root@hz-kvm c ... 
- SpringBoot--整合Lettuce redis
			首先解释一下Lettuce客户端: Lettuce 和 Jedis 的都是连接Redis Server的客户端程序.Jedis在实现上是直连redis server,多线程环境下非线程安全,除非使用连 ... 
- 《UNIX环境高级编程》(APUE) 笔记第九章 - 进程关系
			9 - 进程关系 GitHub 地址 1. 进程组 每个进程除了有一个 进程 ID 外,还属于一个 进程组 .进程组是一个或多个进程的 集合 ,通常,它们是在同一作业中结合起来的,同一进程组中的各进程 ... 
- Redis系列(九):数据结构Hash源码解析和HSET、HGET命令
			2.源码解析 1.相关命令如下: {"hset",hsetCommand,,"wmF",,NULL,,,,,}, {"hsetnx",hse ... 
- Python之浅谈装饰器
			目录 闭包函数 装饰器 迭代器 闭包函数 就是将原先需要调用好几遍的函数和参数写入一个包内,下次调用时一起调用 def name(x): x=1 def age(): print(x) return ... 
- css中 出现height为100%失效的原因及解决方案
			我们都知道需要给html和body标签设置了高度height:100%之后,再给内部的div设置height:100%的时候,内部div的高度100%才会起到作用.这是由于:%是一个相对父元素计算得来 ... 
- 石子合并——区间dp
			石子合并(3种变形) <1> 题目: 有N堆石子排成一排(n<=100),现要将石子有次序地合并成一堆,规定每次只能选相邻的两堆合并成一堆,并将新的一堆的石子数,记为改次合并的得分, ... 
