Linux命令详解 三
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命令详解 三的更多相关文章
- Linux命令详解之—less命令
Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...
- Linux命令详解之–ls命令
今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...
- [转载]Linux 命令详解:./configure、make、make install 命令
[转载]Linux 命令详解:./configure.make.make install 命令 来源:https://www.cnblogs.com/tinywan/p/7230039.html 这些 ...
- Linux命令详解之–chmod命令
在Linux中,一般使用chmod命令来修改文件的属性. 利用 chmod 可以藉以控制文件如何被他人所调用.此命令所有使用者都可使用. 一.Linux chmod命令语法Linux chmod 命令 ...
- Linux命令详解之—tail命令
tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...
- Linux命令详解之—more命令
Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...
- 【转】linux命令详解:md5sum命令
[转]linux命令详解:md5sum命令 转自:http://blog.itpub.net/29320885/viewspace-1710218/ 前言 在网络传输.设备之间转存.复制大文件等时,可 ...
- Linux命令详解之—cat命令
cat命令的功能是连接文件或标准输入并打印,今天就为大家介绍下Linux中的cat命令. 更多Linux命令详情请看:Linux命令速查手册 Linux 的cat命令通常用来显示文件内容,也可以用来将 ...
- Linux命令详解之—pwd命令
Linux的pwd命令也是一个非常常用的命令,本文为大家介绍下Linux中pwd命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux pwd命令用于显示工作目录. 执行pwd指 ...
随机推荐
- 笔记||Python3之布尔表达式+条件判断
布尔表达式: 布尔类型:特性:只有两种情况 --- 真 / 假 1 -- True False 2 -- type(True) ------------ <class ...
- 深入探讨多态性及其在Java中的好处
多态是面向对象软件的基本原理之一.该术语通常表示可以具有多种形式的事物.在面向对象的方法中,多态使编写具有后期绑定引用的程序成为可能.尽管在Java中创建多态引用很容易,但其背后的概念对整体编程产生了 ...
- 【JS】374- 重学 this 关键字
为什么要学习this关键字 1. 面试会问啊!总有一些面试官喜欢问你一段不可能这么写的代码.看一道经典且古老的面试题(学完本文后,文末会有一道更复杂的面试题等着你哦!) 代码如下: let a = 5 ...
- Docker--DockerFile创建自己的image
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 在我们 ...
- vue 页面间使用路由传参数,刷新页面后获取不到参数的问题
情况 情况再简单说明一下: 有三个页面(a-列表页面,b-内页1,c-内页2),页面a->页面b->页面c有参数传递.从a进入b后,刷新b页面拿不到a页面传进来的参数.或者b页面再进入c页 ...
- 【搞定Jvm面试】 JVM 垃圾回收揭秘附常见面试题解析
JVM 垃圾回收 写在前面 本节常见面试题 问题答案在文中都有提到 如何判断对象是否死亡(两种方法). 简单的介绍一下强引用.软引用.弱引用.虚引用(虚引用与软引用和弱引用的区别.使用软引用能带来的好 ...
- Jenkins编译过程中出现ERROR_ Failed to parse POMs错误
一.在使用jenkins编写过程中突然出现以下问题 Parsing POMs Established TCP socket on 59407 [java] $ java -cp /var/lib/je ...
- windows系统的python开发环境的搭建
step1: 访问python官方网站下载python安装包 https://www.python.org/downloads/windows/ 下载自己想要的版本 勾上Add Python XX ...
- Java基础篇
#JAVA day01 基础篇 字节类型的使用方法 byte b1 = 126+1; byte b2 = 127+1;//因为127+1得出的结果是int类型,所以不能转换,编译出错 byte b3 ...
- Python、 Pycharm、Django安装详细教程(图文)
前言 这篇文章主要介绍了Python. Pycharm.Django安装详细教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧. ...