Linux下的权限(角色,文件权限)
目录
3.1改变权限的命令操作 chmod #change mode的缩写
4.1 Linux规定,目录/普通文件的起始权限分别是777,666
1.什么是权限
文件权限等于=角色+文件属性
其中,角色分为三类:
1.拥有者(owner) 2.所属组(grouper)3.其他人
以下①是拥有者 ②是所属组

所属组,是相当于在一个小团体里,这些所属组里边的人都可以访问,就相当于学习的小组
2.文件类型及权限
Linux下的文件类型与Windows的文件类型的表达方式有很大的不同
Windows下的后缀和Linux下的文件后缀有很大的区别
Linux下的文件后缀实际上并没有作用,只是为了方便用户进行,这里特指是Linux操作系统
但是一些编译工具对文件后缀有要求,比如gcc,必须要求是规定的例如(.c)后缀
区分
例如Linux下有一个可执行文件,test.exe,运行这个exe会输出"hello Linux!"如果把这个文件名改为test或者改为叫xyz,那么运行这个文件照样管用,照样跟test.exe的效果一样,实际上是一样的
在Linux下通过显示众多属性列中的第一个字符区分文件类型,如下图

①Linux文件类型:
首字符开头
- 普通文件(文本文件,代码源文件,可执行文件,压缩包...等等)
d 目录文件
c 字符设备文件(键盘、鼠标)
b 块设备(磁盘)
l 链接文件(快捷方式文件,比如Window下的桌面的图标)
p 管道文件
②剩余9个字符对应的含义:

如下图,以三个三个为一组,分别是拥有者(owner)、所属组(group)、其他人(other)的权限,对应权限没有的用“-”表示," r "表示拥有读的权限, " w "表示可以写,“x” 表示可执行

③文件权限值的表示方法(进制法)
在改变权限的时候,因为对应的位置不是存在就是不存在,因此可以用二进制转八进制码来表示,
例如 拥有者 所属组 other
1 1 1 1 1 1 1 0 1 ->对应了1可以读,1可以写,1可以执行,0则代表不可以,对应的八进制为775,则
eg:chmod 775 文件名 #同时改变了 拥有者权限,所属组,other的权限
3.如何操作权限
3.1改变权限的命令操作 chmod #change mode的缩写
① u代表用户本身的权限,user
② g代表所属组的权限 , group
③ o代表其他人的权限, other
④ a表示所有的人,包含,u,g,o
用例 eg:
chmod u-r 文件名 //改变拥有者权限,减去read (-r),减去了读的权限
chmod u+x 文件名 //改变拥有者权限,增加了可执行的权限+x
chmod g-rwx 文件名 //改变所属组的额权限,减去读(r)、写(w)的权限
chmod o+rwx 文件名 //改变其他人的权限,加上读(r), 写(w), 可执行(x)
chmod u+rw,g-wx 文件名 //可组合式,改变拥有者和所属组的
注意:组合式的必须按照顺序先后,比如ugo,uo,go,ug等顺序,必须保证先后顺序
3.2改变文件的角色
①改变文件的 拥有者 chown 如果是非root用户,给不了别人文件,这个拥有者无法变成比尔,但如果是root用户或者提权sudo给另一个人,那么可以强制改变文件的拥有者
②如果要改变拥有者和所属组 chown 用户1:用户2 文件名 用户1改为拥有者,2改为所属组
③改变所属组 chgrp 文件 ,改变所属组
3.3改变文件的角色
①改变文件的 拥有者 chown 如果是非root用户,给不了别人文件,这个拥有者无法变成比尔,但如果是root用户或者提权sudo给另一个人,那么可以强制改变文件的拥有者
②如果要改变拥有者和所属组 chown 用户1:用户2 文件名 用户1改为拥有者,2改为所属组
③改变所属组 chgrp 文件 ,改变所属组
4.关于目录/普通文件的起始权限的问题
4.1 Linux规定,目录/普通文件的起始权限分别是777,666

但是实际上与规定的有所不同,创建一个新的目录还有普通文本则是:
目录为 755,普通文件为644,这是因为在不同的机器或者系统上,会有一个默认权限掩码,对于所有的目录以及文件,都会在规定的起始权限下按位与(取反权限掩码)
最终权限=规定起始权限&(~权限掩码)
查看当前机器权限掩码的方式 umask(显示的为八进制序列)
那么可以理解为对于umask的话,因为要取反,就是不取反前,要去掉的对应的二进制位为1,要保留权限的位为0

则777&(~022)(八进制)==》755 ,666&(~022)==》644,则默认权限为规定的权限减去权限掩码后的权限
4.2更改默认权限掩码
umask xxxx(一个八进制序列)例如:0444,4的二进制位100,
那么代表在规定的777,666权限下,去掉每一个角色的读权限,创建新的目录以及普通文件,默认权限为333,222了

5.目录的rwx权限
对于目录的权限,目录的
-r 权限 #表示,去掉读的权限,就是不可以读取该目录的列表
-w权限 #表示去掉写的权限,就是不能创建新的文件
-x权限 #表示去掉执行的权限,就是你不能进入/cd该目录
Linux下的权限(角色,文件权限)的更多相关文章
- (转)Linux 下 查看以及修改文件权限
场景:Linux环境下远程部署项目,发现因为文件权限问题,不能执行远端的可执行文件.问题还没解决,待议... 1 查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就 ...
- Linux 下 查看以及修改文件权限
查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 其中: 最前面那个 - 代表的是类型 中间那三个 rw- ...
- Linux下遍历目录及文件,更改权限
Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...
- linux下为目录和文件设置权限
摘:linux下为目录和文件设置权限 分类: Linux2012-05-09 03:18 7456人阅读 评论(1) 收藏 举报 linuxwordpressweb数据库serverfile linu ...
- Linux常用命令_(文件权限)
Linux权限管理: 二.权限管理1.3种基本权限在Linux中,将使用系统资源的人员分为4类:超级用户.文件或目录的属主.属主的同组人和其他人员.超级用户拥有对Linux系统一切操作权限,对 于其他 ...
- linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限
命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用 -h 格式 命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...
- (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理
用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...
- Linux下ls命令显示符号链接权限为777的探索
Linux下ls命令显示符号链接权限为777的探索 --深入ls.链接.文件系统与权限 一.摘要 ls是Linux和Unix下最常使用的命令之一,主要用来列举目录下的文件信息,-l参数允许查看当前目录 ...
- Linux用户和权限——管理文件权限的命令
Linux用户和权限——管理文件权限的命令 摘要:本文主要学习了Linux中修改文件权限的命令. chown命令 chown命令,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件( ...
- Linux 下指定端口开放访问权限
Linux 下指定端口开放访问权限 作者:Grey 原文地址: 博客园:Linux 下指定端口开放访问权限 CSDN:Linux 下指定端口开放访问权限 环境 CentOS 系和 Debian 系的防 ...
随机推荐
- 一款开源、免费、跨平台的Redis可视化管理工具
前言 经常有小伙伴在技术群里问:有什么好用的Redis可视化管理工具推荐的吗?, 今天大姚给大家分享一款我一直在用的开源.免费(MIT License).跨平台的Redis可视化管理工具:Anothe ...
- AWS API Gateway IP WhileList
首先创建个API,然后进入API配置,点击左边的资源配置,加入以下配置: { "Version": "2012-10-17", "Statement& ...
- Google Chart API学习(二)
书接上回: combo-charts: <html> <head> <script type="text/javascript" src=" ...
- 几个常用的cmd命令
compmgmt.msc 计算机管理 devmgmt.msc 设备管理器 diskmgmt.msc 磁盘管理工具 dfrg.msc 磁盘碎片整理 eventvwr.msc 事件查看器 fsm ...
- springboot如何优雅的获取前端参数
写在前面 对于初学者来说,困难的不是理论知识,而是如何在程序中具体实现. 现在的项目基本上都是前后端分离的项目,如何打通前后端,接收前端传过来的参数呢? 废话不多说,这篇文章就来说一说接收前端参数的具 ...
- 记录--uni-app App端半屏连续扫码
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本文用一个简单的 demo 讲解 App端 半屏连续扫码 的实现方式,包括(条形码.二维码等各种各样的码). 我会从实现思路讲起,如果你比 ...
- 使用Go语言开发一个短链接服务:三、项目目录结构设计
章节 使用Go语言开发一个短链接服务:一.基本原理 使用Go语言开发一个短链接服务:二.架构设计 使用Go语言开发一个短链接服务:三.项目目录结构设计 使用Go语言开发一个短链接服务:四.生成 ...
- SSH和SFTP是否相同
SSH和SFTP是否相同?SSH和SFTP是经典的对.在确保通信安全方面,它们交织在一起,尽管它们具有类似的功能,但它们并不是一回事.那么,它们之间有什么区别?请仔细阅读,找出答案. 什么是SSH? ...
- Makefile 简单学习
一.Makefile 简介 Makefile 是一种常用于编译的脚本语言.它可以更好更方便的管理你的项目的代码编译,节约编译时间(没改动的文件不编译).注意 Makefile 文件命令必须是 Make ...
- 【已解决】mysql8.0安装报错 error: Found option without preceding group in config file:
D:\Program Files (x86)\mysql-8.0.13-winx64\mysql-8.0.13-winx64 在此路径下找到my.ini(在个人安装的路径下) 另存为ANSI编码: