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指 ...
随机推荐
- [TimLinux] HTTP cookie与session技术
1. HTTP特点 基于TCP/IP协议实现,上层应用协议 版本:HTTP/1.0, HTTP/1.1 HTTP/1.0默认短连接,HTTP/1.1默认长连接 HTTP请求与响应的无状态性 无状态性与 ...
- 将object转换成dyamic类型 解决long输出到浏览器过长精度丢失问题
需求: 数据库使用飘雪算法保存唯一标识 是一个18位长整形 将数据输出到浏览器时出现了精度丢失问题,这是一个重大的BUG.如果没解决好整个项目都要改一遍. 讨论有三个办法 1.把所有实体 数据模型的 ...
- Docker swarm实战总结
一.简介 Swarm 是 Docker 官方提供的一款集群管理工具,其主要作用是把若干台 Docker 主机抽象为一个整体,并且通过一个入口统一管理这些 Docker 主机上的各种 Docker 资源 ...
- 手动启动Oracle服务的.bat文件
Oracle数据库的基本服务会占用很大的内存,有的程序员会在不用的时候Oracle服务关闭来减少对电脑内存资源的占用. 我在这准备了一个可以开启/关闭Oracle服务的bat文件,希望被采纳!!! 新 ...
- Pycharm 解释器的快捷键
Ctrl+shift+Z 反撤销 Ctrl +/ 注释 ctrl+d 复制粘贴选中 Ctrl+y 删除默认一行 Ctrl+shift+r 全局搜索 Ctrl+alt+/ 代码整理 compare w ...
- java基础- Java编程规范与注释
一 前言 java编程规约是指在java代码编写过程中通俗的约定:通常我们是要遵守这些规范:这好比我们在生活中要遵守的道德准则,如果你做的事情超出了道德的底线,那就有可能会受到社会抨击:在java编程 ...
- Java内存模型之原子性问题
本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 前言 之前的文章中讲到,JMM是内存模型规范在Java语 ...
- 《Java Spring框架》SpringXML配置详解
Spring框架作为Bean的管理容器,其最经典最基础的Bean配置方式就是纯XML配置,这样做使得结构清晰明了,适合大型项目使用.Spring的XML配置虽然很繁琐,而且存在简洁的注解方式,但读懂X ...
- 《Java基础知识》Java锁详解(volatile,synchronized等)
volatile: 让变量每次在使用的时候,都从主存中取. volatile具有synchronized关键字的“可见性”,但是没有synchronized关键字的“并发正确性”,也就是说不保证线程执 ...
- spring源码学习(三)--spring循环引用源码学习
在spring中,是支持单实例bean的循环引用(循环依赖)的,循环依赖,简单而言,就是A类中注入了B类,B类中注入了A类,首先贴出我的代码示例 @Component public class Add ...