Linux 文件与目录的权限
文件默认权限:umask
umask就是指定“目前用户在新建文件或目录时候的权限默认值”。查询umask有以下两种方式:

目录与文件的默认权限是不一样的:
- 文件,默认没有可执行(x)权限,只有r、w这两项。也就是最大为666。默认为:-rw-rw-rw
- 目录,默认所有权限,即为777分,默认权限:drwxrwxrwx
umask的分数指的是“该默认值需要减掉的权限”,如,umask为022,
- 创建文件时:(-rw-rw-rw) - (-----w--w)==>-rw-r--r--
- 创建目录时:(drwxrwxrwx) - (d-----w--w-)==>drwxr-xr-x
umask对于新建文件的默认权限是很有关系的。如果umask设置为022,那么新建的数据只有用户自己具有w权限,用户组的人只有r这个可读权限而已。
那如何设置umask呢,直接在umask后边输入002就好了:

文件的隐藏属性 chattr,lsattr
chattr(设置文件的隐藏属性)
chattr命令只能在Ext2/Ext3的文件系统上生效。

这个命令是很重要的,尤其在系统的数据安全上面。+i可以让一个文件无法被改动,对于需要强烈的系统安全的人来说,真是相当重要的。
Isattr(显示文件隐藏属性)

文件特殊权限:SUID, SGID,SBIT
-SetUID

当s这个标记出现在文件所有者的x权限上时,此时被称为Set UID,简称SUID的特殊权限。SUID有这样的限制与功能:
- SUID权限仅对二进制程序有效
- 执行者对于该程序需要具有x的可执行权限
- 本权限仅在执行该程序的过程中有效
- 执行过程种,执行者“暂时”将具有该程序所有者的权限。

另外,SUID仅可用在二进制程序上,不能够用在shell script 上面。这是因为shell script只是将很多的二进制执行文件调进来执行而已。
Set GID
当s标志在文件所有者x项目为SUID,那s在用户组的x时则成为Set GID,SGID。SGID可以针对文件或者目录来设置。如果是对文件来说,有如下功能:
- SGID对二进制程序有用;
- 程序执行者对于该程序来说,需具备x的权限
- 执行者在执行的过程中将会“暂时”获得该程序用户组的支持。
当一个目录设置了SGID的权限后,它将具有如下的功能:
- 用户若对于此目录具有r与x权限时,该用户能进入此目录;
- 用户在此目录下的有效用户组将会变成该目录的用户组;
- 若用户在此目录下具有w的权限(可以新建文件),则用户所创建的新文件的用户组与此目录的用户组相同。
Sticky Bit
这个Sticky Bit(SBIT)目前只针对目录有效,对于文件已经没有效果了。SBIT对于目录的作用:
- 当用户对于此目录具有w,x权限,即具有写入的权限时;
- 当用户在该目录下创建文件或目录时,仅有自己与root才有权利删除该文件。
- 当甲这个用户与A目录是具有用户组或其他人的身份,并且拥有该目录的w的权限,这表示甲用户对该目录内任何人新建的目录或文件均可进行删除、重命名、
移动等操作。不过如果A目录加上SBIT的权限项目时,则甲只能够针对自己创建的文件或目录进行删除、重名命名、移动等操作,而无法删除他人的文件。
SUID/SGID/SBIT权限设置
4为SUID
2为SGID
1为SBIT
将一个文件权限改为“-rwsr-xr-x”由于s在用户权利中,所以是SUID,因此,在原先755之前加上4.“chmod 4755 filename”来设置。

最后一个例子出现S和T,因为s和t都是替代x这个权限的,但是你有没有发现,我们执行7666。也就是说,user,group以及other都没有x这个权限,所以
这个S,T代表的就是“空的”。SUID是表示这个文件在执行的时候有文件拥有者的权限,但是文件拥有者都无法执行了,哪里来的权限给其他人使用,当然是空的。
除了数字法之外,可以用过符号法来处理,其中SUID为u+s,而SGID为g+s,SBIT则是o+t:

权限与命令间的关系
- 让用户进入某目录成为“可工作目录”的基本权限:
可使用的命令:例如cd等切换工作目录的命令
目录所需权限:用户对这个目录至少需要具有x的权限
额外需求:如果用户想要在这个目录内利用ls查阅文件名,则用户对此目录还需要r的权限
- 用户在某个目录内读取一个文件的基本权限是什么
可使用的命令:cat ,more,less等
目录所需权限:用户对这个目录至少需要具有x权限
文件所需权限:用户对文件至少需要具有r的权限才行!
- 用户可以修改一个文件的基本权限是什么
可使用命令:nano或者vi编辑器等
目录所需权限:用户对这个目录至少需要具有x权限
文件所需权限:用户对该文件至少要有r,w权限
- 让一个用户可以创建一个文件的基本权限是什么
目录所需权限:用户在该目录要具有w,x的权限,重点在w
- 让用户进入目录并执行该目录下的某个命令的基本权限是什么
目录所需权限:用户在该目录至少要有x权限
文件所需权限:用户在该文件至少需要有x的权限
Linux 文件与目录的权限的更多相关文章
- 15、linux文件、目录的权限及如何改变权限(root用户不受任何权限的限制)
15.1.linux普通文件的读.写.执行权限说明: r:读,表示具有读取\阅读文件内容的权限: w:可写,表示具有新增,修改文件内容的权限: 如果没有r配合,那么vi编辑文件会提示无法编辑(但可以强 ...
- Linux文件和目录的权限笔记
查看文件或者目录的权限命令:ls -al # -a 表示全部文件包含隐藏文件,-l 表示列出每个文件的详细信息 比如执行 ls -al total 115 drwxr--x--- 4 root roo ...
- Linux 文件和目录的权限设置 - umask(默认权限),chmod(改变权限)
1. chmod 改变已有目录或文件的权限 chmod 设置已有目录或文件的权限.可以为指定范围的用户添加或删除权限. 权限范围的表示法如下: u:User,即文件或目录的拥有者: g:Group,即 ...
- linux文件及目录的权限管理
一.文件的权限 1.文件权限的查看 命令:ls -l 可以使用ll命令代替 ls -l 2.ls -l 所包含的信息 (1)权限信息 (-rw-r--r-- ) 一共有10位 a.第一位:表示文件信息 ...
- Linux文件和目录的777、755、644权限解释
Linux文件和目录的权限 1.文件权限 在linux系统中,文件或目录的权限可以分为3种: r:4 读 w:2 写 x:1 执行(运行)-:对应数值0 数字 4 .2 和 1表示读.写.执行权限 ...
- Linux文件和目录的属性及权限总结
本文讲述的是文件或目录的属性及权限,比如索引节点inode.文件类型.文件权限及属主:还对setuid.setgid及粘贴位进行了相关的讲解.其中,对ln.chmod.chown.chgrp.umas ...
- Linux文件和目录权限实战讲解
一 相关课程回顾1.1 linux文件类型当执行ls -l或ls -la 命令后显示的结果中最前面的第2~10个字符是用来表示文件权限 第一个字符一般用来区分文件和目录: d:表示是一个目录,事实上在 ...
- Linux文件和目录权限详细讲解
转载请标明出处: http://www.cnblogs.com/why168888/p/5965180.html 本文出自:[Edwin博客园] Linux文件和目录权限解读 如何设置Linxu文件和 ...
- linux文件和目录权限
linux系统文件和目录的权限说明 文件权限是Linux系统的第一道安全防线,基本的权限有读取(r).写入(w)和执行(x): 文件访问模式 读取:用户能够读取文件信息,查看文件内容. 写入:用户可以 ...
随机推荐
- AE二次开发,解决子窗体使用父窗体的AxControl控件
在子窗体写构造函数,然后再在父窗体按钮点击事件下写 public frmIDW(AxMapControl axMapControl1) { InitializeComponent(); this.ax ...
- Linux命令——readlink、realpath
参考:Linux命令——ln Linux readlink and realpath Command Tutorial for Beginners (with Examples) 简介 ln命令允许你 ...
- 软件测试_Loadrunner_性能测试_服务器资源监控
使用Loadrunner进行Windows服务器性能监控 将装有Loadrunner的机器叫做监控端,被监控资源的服务器叫做被监控端 一.前置环境设置 1. 设置被监控端管理员账户可用:我的电脑右键- ...
- 让Jupyter Notebook个性化
Win下更改jupyter主题 Themes地址 本人环境 Win+Conda 开始使用pip 安装,发现无法使用pip,修改环境变量,将D:\Program Files\Conda\Scripts ...
- 小程序框架之视图层 View~基础组件
框架为开发者提供了一系列基础组件,开发者可以通过组合这些基础组件进行快速开发.详细介绍请参考组件文档. 什么是组件: 组件是视图层的基本组成单元. 组件自带一些功能与微信风格一致的样式. 一个组件通常 ...
- 51nod 2494 最长配对
小b有一个01序列,她想找到一个最长的区间使得这个区间的01能两两配对,即0的个数和1的个数相等.求最长区间的长度. 收起 输入 第一行一个正整数n,表示数组长度,其中0<n≤50000: ...
- 零基础python教程—python数组
在学习Python过程中数组是个逃不过去的一个关,既然逃不过去咱就勇敢面对它,学习一下python中数组如何使用. 1.数组定义和赋值 python定义一个数组很简单,直接 arr = [];就可以了 ...
- MyBatis-Plus-Generator配置
本文仅对使用MyBatis-Plus的代码生成器配置做保存,适合使用了该插件的童鞋做参考. 内部有大量默认配置,有性趣的童鞋可以研究下源码. ps:官方文档更齐全http://mp.baomidou. ...
- mac pro下安装brew软件包管理工具
Homebrew简称brew,OSX上的软件包管理工具,在Mac终端可以通过brew安装.更新.卸载软件. 1.打开终端直接输入下面指令回车: ruby -e "$(curl -fsSL h ...
- tensorflow 运行效率 GPU memory leak 问题解决
问题描述: Tensorflow 训练时运行越来越慢,重启后又变好. 用的是Tensorflow-GPU 1.2版本,在GPU上跑,大概就是才开始训练的时候每个batch的时间很低,然后随着训练的推进 ...