Linux文件权限小技巧
来源:互联网 发布:javascript call 编辑:程序博客网 时间:2024/06/05 08:21
Linux 是一个多用户、多任务的系统,常常有多人同时使用一台机工作,为了保护每个人的隐私权,“文件所有者”的角色就显得相当重要了。当Linux用户登录系统之后,就会携带一个用户身份(User ID,UID)和一个用户组身份(Group ID,GID),相当于自己的名片。当需要访问文件或程序时,刷一下名片就能知道是否能读、写、执行了。。
在根目录下输入 ls -l 可看到如下信息:
[root@localhost /]# ls -l
total 32
lrwxrwxrwx. 1 root root 7 Aug1821:27 bin -> usr/bin
dr-xr-xr-x. 4 root root4096 Aug2606:10 boot
drwxr-xr-x. 20 root root3160 Aug2723:44 dev
drwxr-xr-x. 74 root root8192 Aug2800:39 etc
drwxr-xr-x. 3 root root 15 Aug1821:31 home
lrwxrwxrwx. 1 root root 7 Aug1821:27 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Aug1821:27 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Aug12 2015 media
drwxr-xr-x. 2 root root 6 Aug12 2015 mnt
drwxr-xr-x. 2 root root 6 Aug12 2015 opt
dr-xr-xr-x. 364 root root 0 Aug2723:43 proc
dr-xr-x---. 2 root root4096 Aug1821:31 root
drwxr-xr-x. 21 root root 620 Aug 2800:39 run
lrwxrwxrwx. 1 root root 8 Aug1821:27 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Aug12 2015 srv
dr-xr-xr-x. 13 root root 0 Aug 2723:43 sys
drwxrwxrwt. 7 root root4096 Aug2800:30 tmp
drwxr-xr-x. 13 root root4096 Aug1821:27 usr
drwxr-xr-x. 19 root root4096 Aug2723:43 var
每条记录由7部分组成,以 lrwxrwxrwx. 1 root root 7 Aug 18 21:27 bin -> usr/bin 为例,按照顺序,具体代表的含义是:
- lrwxrwxrwx.代表的是文件类型和权限
- 1 代表文件连接数
- root 代表拥有者
- root 代表所属用户组
- 7 代表文件大小(以K为单位)
- Aug 18 21:27 代表文件最后修改时间
- bin -> usr/bin 文件名
先来拆分下lrwxrwxrwx.这串字符,其中第一个字符用来描述文件的类型,可选值为:
- – 代表普通文件
- d 代表目录
- l 代表这个是软连接或硬连接
- b 代表块设备,如磁盘等保存大块数据的设备
- c 代表字符设备,如鼠标、键盘等需要连续串行读写的设备
- s 代表套嵌字(socket)文件
- p 代表命名管道文件
这个文件l,则代表是一个软连接或硬连接。紧接的9个字符,需要三个三个的看,分别代表着:
- 拥有者的权限
- 所属组的权限
- 其他用户的权限
顺序为rwx,对应的是Read(读)、Write(写)、eXcute(执行)的权限,如果不具有某项权限,则使用-表示。
最后一个.可能让人很疑惑,是用来做什么的,查询了下,资料显示这个点表示的是存在“SELinux的安全标签”!,如果关闭了selinux,则不过出现该点。
另外注意到最后的这次演示的最后的文件名,存在着一个 -> 代表则软连接或硬连接,接下来就来学习下软连接和硬连接的区别。
- 软连接(也称作符号链接——symbolic link, symlink or soft link),是一类特殊的文件, 其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用。有点类似于windows的快捷方式。创建方式是: ln -s source dist
- 硬连接,指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。创建方式是: ln source dist
- 通过一些梳理,可以知道软连接与硬连接的一些异同:
- 使用时差别不大,都相当于一个文件具有不同的路径或文件名
- 输入删除文件连接的目标文件,软连接会失效,硬连接仅是“连接数-1”
- 软链接可以创建在任何位置,包括网络,而硬连接必须在同一磁盘上
关于软连接和硬连接的详细介绍到整理inode相关知识点的时候再做介绍。
接下来学习的是修改文件的属性和权限,首先学习的是修改所属用户或用户组。命令格式: chown [-R] username:group filename (其中-R 在修改文件夹的时候使用,代表的是递归修改。)
修改读写权限共有两种方法:
1、数字法
权限rwx对应的是4,2,1,可以理解为3位的二进制,如果只要读权限就是4,如果用户有读写权限,那么就是4+2=6,以此类推。
chmod 700 filename 执行的是设定用户有读写执行的权限,用户组、其他用户都没有权限。
2、文字法
文字法首先要引入四个字母:u、g、o、a,其中u代表user,g代表group,o代表other,a代表all。另外需要学习三个符号:+、-、=,分别代表增加、减去和设定,如: chmod ug+w filename ,意味着给filename 的用户及用户组添加写权限。
补充内容:
1、掩藏文件
刚开始的 ls -l 其实并没有把目录下的所有文件都显示出来,可以使用 ls -al 将所有的信息显示出来:
[root@localhost ~]# ls -al
total 32
dr-xr-x---. 2 root root4096 Aug1821:31 .
dr-xr-xr-x. 17 root root4096 Aug1821:31 ..
-rw-------. 1 root root1141 Aug1821:31 anaconda-ks.cfg
-rw-r--r--. 1 root root 18 Dec29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
可以看到root的home目录下有很多前面带.的文件,这些文件就是Linux中的掩藏文件,在Linux中将文件在文件名前面加一.即可将文件掩藏。
2、特殊目录
Linux 下有几个特殊的目录:“.”、“..”、“-”、“~”
- “.” 当前目录
- “..” 上层目录
- “-” 上一个工作目录
- “~” 当前用户的home目录
3、特殊文件权限
Linux的文件除了rwx以外,还有s、t这两个特殊的权限。平时用的不多,不做深入学习。
- Linux文件权限小技巧
- linux查看文件小技巧
- LINUX文件权限的理解技巧
- Linux文件权限的设置技巧
- Linux 文件/文件夹 权限小札
- 隐藏文件小技巧
- Linux下的一些小技巧, [VI,编程,文件,......]
- [小技巧] Linux下轻松实现PDF文件的合并
- [小技巧] Linux 下合并 png 到一个 pdf 文件
- Linux应用小技巧---- 压缩和解压文件
- Linux/Ubuntu下小技巧:以内容搜索文件
- [小技巧]open()函数创建文件时便捷的权限设置
- Linux 小问题&小技巧
- Linux技巧小总结
- Linux技巧小总结
- Linux技巧小总结
- Linux技巧小总结
- linux 小技巧
- Android.mk文件分析
- Python之文件读写报错解析
- hdu 1061 Rightmost Digit
- POJ2104-K-th Number
- pymysql处理Unicode
- Linux文件权限小技巧
- B-POJ-3278 Catch That Cow
- stringstream-fstream-ofstream 实例
- [LeetCode] 40. Combination Sum II
- hdu 2604 Queuing
- Salty Fish
- 第一天
- 特征匹配和单应性
- JS的关键字总结