第二章 权限

2024-06-23 09:12
文章标签 第二章 权限

本文主要是介绍第二章 权限,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Linux权限的概念
1.Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再 linux 系统下做任何事情,不受限制
普通用户:在 linux 下做有限的事情。
超级用户的命令提示符是 “#” ,普通用户的命令提示符是 “$”
命令 su [ 用户名 ]
功能 :切换用户。
例如,要从 root 用户切换到普通用户 user ,则使用 su user 。 要从普通用户 user 切换到 root 用户则使用 su root( root 可以省略),此时系统会提示输入 root 用户的密码;
二、Linux权限管理
01.文件访问者的分类(人)
文件和文件目录的所有者: u---User
文件和文件目录的所有者所在的组的用户: g---Group
其它用户: o---Others
02.文件类型和访问权限(事物属性)
 2.1)文件类型
d :文件夹
- :普通文件
l :软链接(类似 Windows 的快捷方式)
b :块设备文件(例如硬盘、光驱等)
p :管道文件
c :字符设备文件(例如屏幕等串口设备)
s :套接口文件
2.2)基本权限
i).读权限(r表示、二进制:100 、8进制:4  ): Read 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
ii). 写权限(w表示、二进制:010、8进制:2 ): 对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
iii). 执行权限( x表示、二进制:001、8进制:1  ): execute 对文件而言,具有执行文件的权限,对目录来说,具有进入目录的权限
iv).—” 表示不具有该项权限
三.文件权限值的表示方法(写一部分,记住原理即可)
a)字符表示方法

i) r--  :仅可读   

ii)rw-:可读,可写

iii)rwx:可读,可写,可执行

b)二进制、8进制 表示方法

i)r:8进制:4、二进制:100

ii)rw:8进制:6、二进制110

iii)rx:8进制:5、二进制:101

四.文件访问权限的相关设置方法
a)chmod
功能: 设置文件的访问权限
格式: chmod [ 参数 ] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和 root 才可以改变文件的权限
chmod :命令权限的格式
① 用户表示符 +/-= 权限字符
+: 向权限范围增加权限代号所表示的权限
-: 向权限范围取消权限代号所表示的权限
=: 向权限范围赋予权限代号所表示的权限
用户符号:  
u :拥有者
g :拥有者同组用
o :其它用户
a :所有用户
举例:
# chmod u+w /home/abc.txt        //给使用者增加w权限
# chmod o-x /home/abc.txt          //给其他取消x权限
# chmod 664 /home/abc.txt        //更改权限为rwx rwx rw
# chmod 640 /home/abc.txt

b)chown
功能 :修改文件的拥有者
格式 chown [ 参数 ] 用户名 文件名
实例:
# chown user1 f1                  
# chown -R user1 filegroup1       
c)chgrp
功能 :修改文件或目录的所属组
格式 chgrp [ 参数 ] 用户组名 文件名
常用选项 -R 递归修改文件或目录的所属组
d)umask
功能
查看或修改文件掩码
新建文件夹默认权限 =0666
新建目录默认权限 =0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask的影响。假设默认权限是 mask ,则实际创建的出来的文件权限是 :
mask &~umask
格式 umask 权限值
说明 :将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为 0022 ,普通用户默认为0002
file指令:
功能说明 :辨识文件类型。
语法 file [ 选项 ] 文件或目录 ... 
常用选项
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容

这篇关于第二章 权限的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086731

相关文章

《offer来了》第二章学习笔记

1.集合 Java四种集合:List、Queue、Set和Map 1.1.List:可重复 有序的Collection ArrayList: 基于数组实现,增删慢,查询快,线程不安全 Vector: 基于数组实现,增删慢,查询快,线程安全 LinkedList: 基于双向链实现,增删快,查询慢,线程不安全 1.2.Queue:队列 ArrayBlockingQueue:

Java研学-RBAC权限控制(八)

九 登录登出 1 登录作用   判断员工是否有权限访问,首先得知道现在操作的人是谁,所以必须先实现登录功能 2 登录流程   ① 提供登录页面,可输入用户名与密码信息,并添加执行登录的按钮。(登录页面不能被拦截)   ② 给按钮绑定点击事件(异步操作,POST请求)   ③ 事件中发送登录请求,使用 AJAX 方式提交。(使用 AJAX 原因:用户体验更好,既可保留用户刚输入的用户名和密码

文件权限修改为777,php failed to open stream: Permission denied

记录一次在谷歌云上的异常诡异的事件: 环境 centos7.5 nginx php7.0 mysql 问题: 问题一 我用相同的nginx配置,只是修改了nginx root目录。 打开/var/www/html/ 这个目录就报 2018/06/22 04:35:03 [error] 15840#0: *438 FastCGI sent in stderr: “Primary scr

MySQL中的系统变量权限

MySQL的系统变量用于控制服务器的操作。它们可以是全局的(影响整个MySQL服务器实例),也可以是会话的(仅影响当前客户端会话),或者两者兼有。 你可以使用SET语句来动态地改变这些变量的值。例如: 设置全局系统变量的运行时值: 使用set global语句,该语句需要system_VARIABLES_ADMIN权限(或不推荐使用的SUPER权限)。例如: SET GLOBAL max_

删除第三方AAR所请求的权限

1.问题:引了第三方的AAR库要求一些权限,但我APP不需要,我想删除掉,怎么办 答:很简单,只要在添加:http://schemas.android.com/tools 这个工具在manifest文件中,然后在相应的权限上增加:tools:node="remove"即可。 <manifest xmlns:android="http://schemas.android.com/apk/res/a

mysql 如何分配root账号创建数据库的权限

1.mysql 如何分配root账号创建数据库的权限 在 MySQL 中,root 用户通常具有所有的权限,包括创建数据库的权限。但是,如果我们想要为另一个用户分配创建数据库的权限,或者想要限制 root 用户对某个特定数据库或服务器的权限(尽管这在实际操作中并不常见,因为 root 用户通常应该是无限制的),我们需要按照以下步骤进行操作。 这里我将解释如何为一个新的 MySQL 用户分配创建

计算广告:第二章——计算广告基础

一、广告有效性原理 二、互联网广告的技术特点 1、技术和计算向导 2、效果的可衡量性 3、创意和投放方式的标准化 4、媒体概念的多样化 5、数据驱动的投放决策 三、计算广告的核心问题 1、广告收入的分解 2、结算方式与ECMP估计关系 四、在线广告相关行业协会 五、问题 可衡量的效果以及相应的计算优化是在线广告区别线下广告的主要特点,千次展示期望收入(expect

sudo 权限之危险的 bash 命令

文章目录 @[toc]事出有因干就完事了创建用户配置 sudo 权限sudo 验证使用 bash 命令执行 chmod 命令使用 bash 命令执行删根 事出有因 使用普通用户安装 tidb 时,发现报错了,报错内容如下: ERROR SSHCommand {"host": "172.17.133.182", "port": "22", "cmd": "exp

GitLab 代码下载和提交的权限开放

一、Gitlab 代码权限开放 1、下载权限 项目--->设置--->成员--->填写账号+配开发者权限,这样就有下载代码的权限了。如下图:   2、代码提交权限  在添加了成员后还得给成员开放代码提交的权限, 项目--->设置--->仓库--->Protected Branches--->选择分支master,设置Allowed to push 权限,这样就OK了,如下两图:

修改window进程访问权限

修改访问权限 使用CreateRemoteThread植入DLL时,必须应用程序的权限。 插入的程序每次操作目标进程的虚拟空间,调用CreateRemoteThread 的时候,都先调用OpenProcess打开这个进程,将PROCESS_ALL_ACCESS 标志作为参数传递,得到这个进程最大的访问权限。 所有受限的进程都是操作系统的一部分,普通的应用程序不应该有权去操作OS。要访