chmod 与大写 X
chmod(1) 手册页中对权限位的描述中提及到 rwxXst 六个权限标记, rwx 是几乎所有 Linux 初学者都会学到的,更进者会了解到 st 两个标记,但 X 却少有提起。所以笔者大致了解了一下这个标记。
手册中是这样描述 X 的:
execute/search only if the file is a directory or already has execute permission for some user (X)
只有在文件是目录或对一些用户已经有执行权限的时候执行/搜索?不知大家第一次见到这句解释时是如何理解的,笔者反正是懵逼的。所以这个时候需要一番简单实验探索一下这个 X 了。此处省略笔者的探索过程,只列出能帮助大家理解的一些操作。
用一个最简单的 shell 脚本进行测试:
$ echo -e '#!/bin/sh\n\necho hello' > script.sh
$ ls -l script.sh
-rw-r--r-- 1 dawn users 22 Mar 3 23:52 script.sh
$ # 初始状态是没有执行权限的,这个时候 +X 试试
$ chmod a+X script.sh
$ ls -l script.sh
-rw-r--r-- 1 dawn users 22 Mar 3 23:52 script.sh
$ # 没有任何变化,并没有出现 X
$ ./script.sh
sh: ./script.sh: Permission denied
$ # 此时也无法执行
$ ########################################################
$ # u+x 后再试试
$ chmod u+x script.sh
$ ls -l script.sh
-rwxr--r-- 1 dawn users 22 Mar 3 23:52 script.sh
$ chmod a+X script.sh
-rwxr-xr-x 1 dawn users 22 Mar 3 23:52 script.sh
$ # 在 user 有执行权限的情况下执行 a+X 的效果和 a+x 相同
至此,我们已经可以对 X 有一些自己的了解了,笔者的想法是: chmod 中的 X 与 rwxst 不同,并不是真正意义的标识,而是 chmod 的一种行为,结合手册页中的解释,就是当文件是目录或对任意用户有执行权限的情况下,才设置执行权限位,即此时等价于 x,否则不改变执行权限。
所以,有了初步理解,我们就可以验证针对目录是否如此了。
$ mkdir -m 664 dir
$ ls -ld dir
drw-rw-r-- 2 dawn users 4096 Mar 4 00:09 dir
$ # 在该目录文件没有执行权限,此时尝试 a+X
$ chmod a+X dir
$ ls -ld dir
drwxrwxr-x 2 dawn users 4096 Mar 4 00:11 dir
$ # user、group 和 other 的执行权限成功被设置
本文原创并同时发布于成理 LUG 主站,链接:https://blog.cdutlug.org/2018/03/chmod-and-capital-x/
chmod 与大写 X的更多相关文章
- 用户管理_组管理_设置主机名_UGO_文件高级权限_ACL权限
用户管理: 添加用户:useradd tom 设置密码:passwd tom 切换账户: su - tom (不加-也能切换,但是 -会有两点不同 1.有-会切换到该用户的主目录 2.会切换到该用户 ...
- Linux学习笔记(12)linux文件目录与用户管理
基本常用目录 1.文件及目录 1.1.文件/文件夹权限 用法: (1) chgrp group_name dir_name/file_name, (2) chown user_name:g ...
- Linux 权限设置chmod
Linux中设置权限,一般用chmod命令 1.介绍 权限设置chmod 功能:改变权限命令.常用参数: 1=x(执行权execute) 2=w(写权write) 4=r(读权Read) setuid ...
- 【转载】chmod u+s
转自:http://blog.chinaunix.net/uid-26642180-id-3378119.html Set uid, gid,sticky bit的三个权限的详细说明 一个文件都有一个 ...
- chmod 命令 set uid ,set gid,sticky bit 说明
permission的符号模式表: 模式 名字 说明 r 读 设置为可读权限 w 写 设置为可写权限 x 执行权限 设置为可执行权限 X 特殊执行权限 只有当文件为目录文件,或者其他类型的用户有可执行 ...
- Linux chmod权限管理需要小心的地方
档案的权限管理和简单,比如chmod 775 /tmp/test.sh 另外使用chmod +w /tmp/test.sh,会给档案的拥有者,群组,其他人的权限都加上了可编辑.这样就有安全隐患了.所以 ...
- lesson - 4 笔记 /inode / suid / sgid / sbit / chmod /umask / chown / rwx / wc /grep / tr / sort / cut /which / whereis / locate / find / ln /
一.帮助+基本文件管理+用户管理 1.怎么查看命令帮助 ls --help man ls :查看命令/man 5 file:查看配置文件 二.基本文件管理,通过{查,建,删,改} 四个维度介绍了不同的 ...
- Linux权限详解 命令之 chmod:修改权限
权限简介 Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功. Linux下文件的权限类型一般包括读,写,执行.对应字母为 r.w.x. Li ...
- APUE-文件和目录(二)函数access,mask,chmod和粘着位
4.7 函数access和faccessat 当一个进程使用了设置用户ID和设置组ID作为另一个用户(或者组)运行时,这时候有效用户(组)ID和实际用户(组)ID不一样,但进程仍然希望测试实际用户(组 ...
随机推荐
- 使用SoapUI调用Vsphere Web Service
项目中经常需要调用Webservice进行验证测试,下面就介绍下如何使用测试工具SoapUI调用Vsphere vcenter的 Web Service VSphere的Webservice地址默认为 ...
- secureCRT sftp使用
sftp-- help 可用命令: cd 路径 更改远程目录到"路径" lcd 路径 更改本地目录到"路径" chgrp group path 将文件" ...
- Nginx的安装(笔记)
0, 先决条件Nginx 依赖 zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre安装命令:yum -y install make z ...
- 《css定位 position》课程笔记
这是我学习课程css定位 position时做的笔记! 本节内容 html的三种布局方式 position可选参数 z-index 盒子模型和定位的区别 侧边栏导航跟随实例 html的三种布局方式 三 ...
- js调用系统虚拟键盘
<input type="text" id="tt" /> <script language="javascript" t ...
- shell的变量处理
shell的变量处理 一.删除 删除(删除某一段) # 从前向后删除 % 从后向前删除 删除(删除某一部分) $(var:nu1:nu2) nu1表示开始位置 nu2表示删除长度 示例如下 file= ...
- 面试中的Java链表
链表作为常考的面试题,并且本身比较灵活,对指针的应用较多.本文对常见的链表面试题Java实现做了整理. 链表节点定义如下: static class Node { int num; Node next ...
- img标签实现和背景图一样的显示效果——object-fit和object-positon
不知大家在做前端页面的时候,有没有遇到类似这样的问题:有一个不是正方形的图片,可能是宽度大于高度的,也可能是高度大于宽度的,而你又并不想用背景图的方式来做,要实现用img标签来让此图片显示出一个正方形 ...
- JAVA多线程之先行发生原则
一.引子 如果java内存模型中所有的有序性都仅仅依靠volatile和synchronized来完成,那么有一些操作会变得很繁琐,但我们在编写java并发代码时并未感觉到这一点,这是因为java语言 ...
- javascript中的BOM对象
1.window对象 所有的浏览器都支持window对象 概念上讲,一个html文档对应一个window对象 功能上讲,控制浏览器窗口 使用上讲,window对象不需要创建对象,直接使用 2.wind ...