Linux文件属性、权限、umask、find
来源:互联网 发布:淘宝店铺banner尺寸 编辑:程序博客网 时间:2024/06/10 22:50
任务:2.14-2.27 文件或目录权限chmod,chown,umask,lsattr,chattr,set uid,set gid, stick bit,find
文件的所有者和所属组
每一个Linux的目录和文件都有所有者和所属组权限,owner所有者和group所属组。owner,group和非本组的其他用户others分别有各自的权限。用命令ls -l
可以查看目录和文件的权限。例如:
-rw-r--r--. 1 root root 0 10月 28 15:36 1.txtdrwxr-xr-x. 2 root root 6 10月 28 15:35 abc
第一列,d开头表示是目录,- 开头表示是普通文件,l开头表示是链接,b开头表示是块文件如硬盘,c开头是字符设备文件如键盘鼠标,s开头表示套接字文件在mysql中会用到。
后面的九位中每三位是一段,分别表示owner,group和others的权限。r表示可读,w表示可写,x表示可执行。
需要特别注意的是,打开目录需要有执行权限,所以系统默认的文件权限为rw-r--r--
,目录默认权限为rwxr-xr-x
,目录的r权限必须伴随有x权限才真正有意义。
为了方便描述,规定rwx分别用对应的阿拉伯数字计算权限,r为4,w为2,x为1,所以文件默认权限为644,目录默认权限是755。
chgrp
用来更改所属组。
用来更改目录的所属组时,需要在命令后加上-R
才可以让他的级联子目录和子文件的所属组权限一起更改。
chown
用来更改所有者。同时也可以在参数中修改所属组。
用来更改目录的所有者时,需要在命令后加上-R
才可以让他的级联子目录和子文件的所属组权限一起更改。
用法示例如下:
chown -R user1:group1 dir1 //把目录dir1的所有者更改为user1,所属组更改为group1。
chmod
用来更改权限,文件夹的默认权限为755,文件的默认权限为644。使用示例如下:
chmod 750 dir1 //更改dir的权限为rwxr-x---
umask
umask值是预设所有权限开放时需要减去的权限,如果预设目录的所有权限打开为rwxrwxrwx,文件的所有权限打开为rw-rw-rw-,那么想得到默认权限就是:
rwxrwxrwx - ----w--w-=rwxr-x-r-x //目录rw-rw-rw- - ----w--w-=rw-r--r-- //普通文件
umask就是被减去的那个值,此处为022。
如果改变umask的值为002,如使用命令umask 002
,文件和目录的默认权限也会相应的进行改变。
chattr, lsattr
chattr用来增减权限,增加权限用+,减去权限用-,常用的权限有i和a:
- i表示不能写入删除重命名以及设定链接
- a表示只能追加不能删除
示例如下:
chattr +i dir2 //为目录dir2增加i权限chattr -i dir2 //为目录dir2减去i权限chattr +a dir2 //为目录dir2增加a权限
lsattr和ls用法相似,用于读取文件或者目录的特殊权限。可选参数有a和R,-a表示隐藏文件一起列出,-R表示连目录内的子文件和文件夹的属性一起列出。
set uid,set gid, stick bit
set uid 可以让普通用户在执行二进制文件时临时拥有owner的权限,例如passwd就有这个权限。
使用方法为
chmod u+s /usr/bin/ls //添加s权限chmod u-s /usr/bin/ls //去除s权限
set gid 与set uid类似,当作用在二进制文件上时,可以让文件在执行阶段具有所属组的权限。当作用在目录上时,任何用户在此目录下创建的文件都具有和该目录所属的组相同的组。
chmod g+s /usr/bin/ls //添加s权限chmod g-s /usr/bin/ls //去除s权限
有时候,set uid上的权限为大写S,这是因为其没有x权限,添加上x权限后即会变成小写的s。
stick bit称为防删除位,在权限中用t表示,命令为chmod o+s dir
。一般来说,当文件所在目录拥有写权限时,那么就可以删除文件,但是具有写权限的目录如果加上了t权限,那么就不能删除此目录下的文件。
find
which 命令可以查看环境变量PATH中出现的可执行命令的路劲。如which ls
等。
locate命令需要先提前安装mlocate然后生成文件列表库后搜索使用。
yum install -y mlocate //从yum安装mlocateupdatedb //需要更新文件列表库才能开始搜索locate ls //查找ls
find命令的使用格式为: find [路径] [参数]
-atime +n/-n //表示最近访问时间大于/小于n天的文件-ctime +n/-n //表示最近更改时间(更改内容、权限、链接等)大于/小于n天的文件-mtime +n/-n //表示最近内容修改时间大于/小于n天的文件find /tmp/dir/ -mtime -1 //表示查找1天内修改过内容的文件
以下命令可以查看mtime,ctime和atime:stat
通过添加参数-name和-filetype可以搜索指定类型的文件。
filetype包含了f,b, c, d, l, s等类型。
find /tmp/ -name test //搜索文件名为test的文件find /tmp/ d //搜索类型为目录的文件
- Linux文件属性、权限、umask、find
- Linux umask权限
- linux 权限掩码 umask
- linux 权限掩码 umask
- linux 权限掩码 umask
- Linux 文件权限 umask
- linux默认权限:umask
- linux --> shell --> umask,权限
- 在Linux中根据文件属性或权限进行find查找
- linux文件属性及权限
- Linux文件属性、权限设置
- Linux文件属性、权限设置
- Linux文件属性与权限
- linux 文件属性与权限
- Linux文件属性、权限设置
- Linux文件属性、权限设置
- linux 文件属性与权限
- linux文件属性和权限
- 我的学习记录18
- 腾讯副总裁丁珂:社会合力共担网民信息财产安全的守护者
- 腾讯联合行业伙伴共推守护者计划 将反诈骗生态推进“最后一公里”
- LintCode 二叉树的最大节点
- hive导入/导出数据
- Linux文件属性、权限、umask、find
- php连接sql server 2008
- 二叉树的遍历(25 分)
- 熊彼特创新理论
- 打造自己的smali代码库
- easyui datagrid添加搜索框
- java程序员从笨鸟到菜鸟之(十一)Object类
- Linked List的相关操作
- ClassLoader的分析与使用