Linux (七)权限控制
个人博客网:https://wushaopei.github.io/ (你想要这里多有)
1、 概述
Linux需要对登录用户读写执行文件、进入目录、查看增删目录内容等操作进行控制,不能任由用户随意执行所有操作。
我们从如下几个方面来认识Linux权限控制体系:
- 用户管理
- 用户组管理
- 文件权限信息
- chmod、chgrp、chown命令
2、用户和用户组
所谓用户其实就是登录Linux系统时使用的账号。而用户组则是把相同权限的用户归纳到同一个组内以便于管理,类似于Java开发中权限控制体系里面“角色”的概念。
当我们创建一个账号时如果没有指定属于哪一个用户组,那么Linux就会自动创建一个同名的用户组。
|
用户操作相关命令 |
|
|
检查用户是否存在 |
id [用户名] |
|
添加账号 |
useradd [用户名] |
|
为账号设置密码 |
passwd [用户名]然后根据提示操作 |
|
切换登录用户 |
su [用户名] |
|
显示当前登录系统的用户列表 |
who |
|
显示当前登录系统的用户 |
who am i |
|
删除用户,保留家目录 |
userdel [用户名] |
|
删除用户,连同家目录一起删除 |
userdel -r [用户名] |
|
用户组相关命令 |
|
|
创建用户组 |
groupadd group_name |
|
删除用户组 |
groupdel group_name |
|
重命名用户组 |
groupmod -n new_group_name old_group_name |
|
用户、用户组操作 |
|
|
创建用户并直接添加到某一个用户组中 |
useradd -g 组名 用户名 |
|
查看所有用户组 |
cat /etc/group |
|
修改用户所在的用户组 |
usermod -g 组名 用户名 |
3、相关文件
3.1 /etc/passwd

登录Shell部分主要是控制该账号是否可以通过登录界面登入系统。不能通过界面登录的用户往往是为登录专门的服务准备的。
3.2 /etc/shadow
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
3.3 /etc/group
组名:口令:组标识号:组内用户列表
※你打开这个文件会看到“组内用户列表”部分其实大部分都没有值,这是因为每个用户账号中已经通过“组id”字段标记了自己属于哪个用户组。一个账号如果需要设置为属于多个不同用户组那么就需要在这里指定一下。所以“组内用户列表”标记的是原本属于其他组然后再额外加入本组的账号。
4、 文件详细信息
4.1 命令ls -l查看到的信息说明

4.2 权限信息说明
4.2.1 格式说明

4.2.2 文件类型
d:表示目录
-:表示文件
b:硬盘、光驱等设备文件
l:软链接文件
c:字符流,设备文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
s:socket
p:管道
4.2.3 权限字符含义
【1】 r:读
文件:查看内容
目录:ls查看内容
【2】 w:写
文件:写入内容
目录:重命名目录、删除目录内容(不是删除目录本身)、在目录内创建新内容
【3】 x:执行
文件:只有可以执行的文件才能够执行
目录:cd进入目录
【4】 -:无
想一想:目录的内容指的是什么?
4.2.4 权限二进制表示
每个权限位上用0表示没有权限,用1表示有权限。
|
字符表示 |
二进制表示 |
十进制换算 |
|
rwx |
111 |
7 |
|
rw- |
110 |
6 |
|
r-- |
100 |
4 |
|
r-x |
101 |
5 |
5、权限设置命令
|
改变文件或目录权限 |
chmod |
|
改变文件或目录的所属组 |
chgrp |
|
改变文件或目录的所属主 |
chown |
Linux (七)权限控制的更多相关文章
- 第十二章:Linux中权限控制实例
前言 前文对 Linux 中的权限进行了较为透彻的分析.而本文,则在前文的基础上,具体说明如何在代码中进行权限控制. 下面的代码涉及到以下几个方面: 1. 创建文件时设置文件权限 2. 修改文件的默认 ...
- Linux 中权限控制实例
前言 前文对 Linux 中的权限进行了较为透彻的分析.而本文,则在前文的基础上,具体说明如何在代码中进行权限控制. 下面的代码涉及到以下几个方面: 1. 创建文件时设置文件权限 2. 修改文件的默认 ...
- Linux中权限控制ACL命令
很多小伙伴觉得,Linux的权限管理命令不就是chown和chmod命令吗,什么时候有了ACL了? 什么是ACLACL是访问控制列表(Access Control List)的缩写,主要的目的是在提供 ...
- Linux访问权限控制及时间同步实践
1.编写脚本/root/bin/checkip.sh,每5分钟检查一次,如果发现通过ssh登录失败 次数超过10次,自动将此远程IP放入Tcp Wrapper的黑名单中予以禁止防问 方式一:脚本+定时 ...
- 【Linux下权限控制之chmod与chown命令】
chmod 用于配置文件/目录权限 命名格式:chmod [选项] 文件/目录名 . 权限类别: r 读取 可用数字4表示 w 写入 可用数字2表示 x 执行 可用数字1表示 . 归属类别: u 属主 ...
- LInux ACL权限控制
1.ACL简介 ACL是一种可以实现灵活的权限管理(文件的额外赋权机制)除了文件所有者,所属组和其他人,可以对更多的用户设置权限,这就是访问控制列表(Access Control List) 2.AC ...
- [development][suricata] linux下一代权限控制 capabilities
读suricata源码过程中, 读到了 libcap-ng 应该就是anthroid手机,每次安装app时候, 询问的那个capablities.....吧.... 中文文档: http://rk7 ...
- Linux系统文件权限管理(6)
Linux操作系统是多任务(Multi-tasks)多用户(Multi-users)分时操作系统,linux操作系统的用户就是让我们登录到linux的权限,每当我们使用用户名登录操作系统时,linux ...
- <实训|第九天>掌握linux中普通的权限控制和三种特殊的权限(sst),做合格的运维工程师
linux中,权限的学习是必不可少的,不论是作为一名运维工程师或者是单一的管理者,学习好linux中的权限控制,你就可以保护好自己的隐私同时规划好你所管理的一切. 权限的学习是很多的,不要认为自己已经 ...
随机推荐
- Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构
Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构 目录 Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构 0x00 摘要 0x01 Alink设计原则 0x02 A ...
- SAP ME31K SUBOBJECT_NOT_FOUND
SUBOBJECT_NOT_FOUND 在使用BAPI:BAPI_CONTRACT_CREATE创建协议时报错, 错误位置在此处,子对象没找到 GOOGLE到相关解决方案 事务代码:SLG0 新增对象 ...
- js数据类型很简单,却也不简单
最近脑子里有冒出"多看点书"的想法,但我个人不是很喜欢翻阅纸质书籍,另一方面也是因为我能抽出来看书的时间比较琐碎,所以就干脆用app看电子书了(如果有比较完整的阅读时间,还是建议看 ...
- 计算机网络——简单说说WebSocket协议
一.前言 之前做了一个Web小项目,需要实现后端持续给前端推送消息的功能,当时最开始使用的是轮询实现,但是效率太低,对资源消耗也大.之后为了解决这个问题,上网查阅资料后,改用了WebSocket实 ...
- spring源码解析--上
本文是作者原创,版权归作者所有.若要转载,请注明出处. 首先是配置类 package com.lusai.config; import org.springframework.context.anno ...
- [csu/coj 1619] 递归
题意:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1619 思路:由于式子具有递归的性质,考虑递归解,中间结果会超64位int,需用大数.另外自己 ...
- HMM-维特比算法理解与实现(python)
HMM-前向后向算法理解与实现(python) HMM-维特比算法理解与实现(python) 解码问题 给定观测序列 \(O=O_1O_2...O_T\),模型 \(\lambda (A,B,\pi) ...
- ASP.NET Core依赖注入(DI)
ASP.NET Core允许我们指定注册服务的生存期.服务实例将根据指定的生存时间自动处理.因此,我们无需担心清理此依赖关系,他将由ASP.NET Core框架处理.有如下三种类型的生命周期. 关于依 ...
- Spring初学笔记(一):Spring IOC的理解
关于依赖注入.控制反转 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的 ...
- 前后端分离产生的跨域问题的解决方案之--jsonp、nginx代理、设置头信息等
前言 在前后端没有分离的时候,前端开发要么是写静态页面,数据渲染后端来做,要么就是前端的页面和后端的代码刚开始的时候就合并在一起,每次后端代码更新了之后,前端也要更新一下代码,然后重启一下服务,还是比 ...