Linux的chmod与symbolic link
来源:互联网 发布:农业银行app网络异常 编辑:程序博客网 时间:2024/05/22 05:20
1 概述
最常用的形式是:
chmod [-fvR] mode file
然后我们通过man看看它的一些参数:
The generic options are as follows: -f Do not display a diagnostic message if chmod could not modify the mode for file. -H If the -R option is specified, symbolic links on the command line are followed. (Symbolic links encountered in the tree traversal are not followed by default.) -h If the file is a symbolic link, change the mode of the link itself rather than the file that the link points to. -L If the -R option is specified, all symbolic links are followed. -P If the -R option is specified, no symbolic links are followed. This is the default. -R Change the modes of the file hierarchies rooted in the files instead of just the files themselves. -v Cause chmod to be verbose, showing filenames as the mode is modi- fied. If the -v flag is specified more than once, the old and chmod [-fhv] [-R [-H | -L | -P]] [-E] file ... chmod [-fhv] [-R [-H | -L | -P]] [-C] file ... chmod [-fhv] [-R [-H | -L | -P]] [-N] file ...
其实最常用的参数就是 -R了:处理指定目录以及其子目录下的所有文件。 然后还有一个问题,那就是处理比较特殊的symbolic link。如果你不需要处理symbolic link那么下面的参数说明你可以跳过。
命令行中存在symbolic link的特殊情况:
- -H和-R一起使用:如果命令行指定的文件中有symbolic link,那么该命令会通过symbolic link找到那个目录或文件进行递归;
- -P和-R一起使用:和-H的含义正好相反,而且如果不显示进行设置,-P是默认设置;
- -L和-R一起使用:所有的symbolic link会被followed;
- -h:只改变symbolic link的属性。
2 字符设定法
权限范围(who):
u :user,目录或者文件的当前的用户
g :group,目录或者文件的当前的群组
o :other,除了目录或者文件的当前用户或群组之外的用户或者群组
a :all,所有的用户及群组
操作:
+ : 增加权限
- :删除权限
= :直接指定权限
权限字符(mode)
r :读权限,== 4
w :写权限,== 2
x :执行权限,== 1
chmod [who] [+ | - | =] [mode] 文件名
3 数字设置法
数字与字符对应关系如下:
r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6
若要r-x属性则4+1=7
chmod [mode] 文件名
4 symbolic link的权限问题
新建示例文件:
由于test1.py对当前用户没有执行权限,所以,如果执行该文件会报错:
我们给该当前用户增加执行权限:
可以看到,可执行文件变成了红色,然后执行成功。而且,我们仅仅是改变了test1.py的权限,test1.slink文件的权限自动变得一致了。那么,如果改变test1.slink的权限,test1.py的权限会相应地改变吗?结果竟然是link的权限没有改变,而原文件的权限改变了……
当然,这并不是说通过slink文件就可以执行,其根本还是在原文件的:
所以,如果在命令行中的文件是slink的话,权限的修改会直接作用于原文件,而且不会改变slink的权限属性。但是在概述中也有提到一个参数 -h,我们看看如果使用它会有什么结果。
总结
- symbolic link的权限其实并不重要,它只是原文件的一个指示性文件。
- 所以如果调用-h参数,仅仅修改symbolic link的权限,其实对于原件是没有任何影响的。就像示例中展示的一样,slink已经不可读了,但原文件可读,但是我们还是可以通过slink读原文件。
- 在默认情况下,修改symbolic link的权限会反映到原文件,而symbolic link本身的权限不会更新。
- 修改原文件的权限,symbolic link的权限会更新。
- Linux的chmod与symbolic link
- Symbolic link 与 Hard link 的区别
- linux hardlink 和 symbolic link的区别
- Linux的硬链接(Hard Link)与符号链接(Symbolic Link)
- Linux中硬连接(hard link)与软连接(symbolic link)的区别
- linux Symbolic link
- Symbolic link and hard link的区别(linux)
- Symbolic link and hard link的区别(linux)
- [学习]Symbolic link and hard link的区别(linux)
- Linux Hard link and Symbolic link
- hard link与symbolic link区别
- NTFS的symbolic link功能
- Symbolic link and hard link的区别
- Linux中软连接(Symbolic Link)和硬链接(Hard Link)的区别
- Symbolic Link
- Symbolic link
- symbolic link
- NTFS 下的硬链接(hard link)与符号链接(symbolic link)
- Windows XP 对USB设备使用的痕迹记录原理
- Ajax 完整教程
- opencv角点检测
- 如何在Windows下安装boost
- 如何手动彻底消除U盘使用痕迹
- Linux的chmod与symbolic link
- MySql 单表的查询sql语句(一)
- 数据结构—链串
- 【codevs 2342】[2007年省队选拔赛上海市队选拔赛] 园丁的烦恼(离散化+树状数组)
- Android-Sqlite使用手册
- JAVA 注解Annotation入门
- 初识hbase
- 二维数组、指针数组、行指针、二级指针间的关联
- 递推之折叠方阵问题