ls -l 命令的字段
- 文件类型和权限
- 连结数
- 拥有者
- 群组
- 文件大小
- 修改日期
- 档名
文件权限和属性修改相关的命令
- chgrp -[R] dirname/filename : 修改文件所属群组
-R : 进行递归的持续变更 - chown [-R] 账号名 文件或目录 :修改文件拥有者
-R : 进行递归的持续变更 - chown 账号名:组名 文件或目录 : 修改文件拥有者和所属群组
- chmod : 修改文件权限
- chmod [-R] xyz 文件或目录 , 使用数字修改权限
执行权限为1,可读权限为2,可写权限为4
注意:
- 执行权限对于文件来说是可以执行的程序,对于目录来说是是否可以作为工作目录,即cd到这个目录
- 可写权限对于文件来说是是否可以编辑该文件,对于目录来说是是否在该目录下具有权限 创建或删除或更名或移动 文件。
- 如:
chmod 740 1.txt
, 这天命令表示给账号的拥有者读写执行权限,给所属群组的用户读的权限,不给其他人任何权限 - 使用符号类型修改权限
chmod [ u | g | o | a ][ + | - | = ][ r | w | x ] 文件或目录
- u 表示user, g表示group , o表示other , a表示all。
- + 表示添加后面跟的权限,
- - 表示减少后面的权限,=表示将权限变为后面的权限
- r 为读, w为写, x为执行
- 如:数字权限里的那个例子使用符号权限为:
chmod u=rwx,g=w,o=0 1.txt
文件隐藏属性
chattr [±=] [acis] 文件或目录
- + :增加某一个特殊参数,其他原本存在参数则不动。
- - :移除某一个特殊参数,其他原本存在参数则不动。
- = :设定一定,且仅有后面接的参数
- a : 当设定a之后,这个文件只能增加数据,不能删除和修改数据
- c :这个属性设定之后,将会自动的将此文件压缩,在读取的时候将会自动解压缩,但是在储存的时候,将会先进行压缩后再储存(对于大文件蛮有用的)
- i : 这个i能够让文件不能被删除,改名,设定连结,也无法写入和增加数据
- s : 当设定了s属性时,如果删除了该文件,那么再也无法救回来了!
lsattr 文件/目录名 : 显示文件或目录的隐藏属性
文件预设权限
我们在建立文件或目录是都会有系统预设的权限
预设的权限情况如下:
- 若使用者建立为『文件』则预设『没有可执行( x )权限』,亦即只有 rw 这两个项目,也就是最大为 666 分,
预设权限如下:-rw-rw-rw- - 若用户建立为『目录』,则由于 x 与是否可以进入此目录有关,因此默认为所有权限均开放,亦即为 777 分,
预设权限如下:drwxrwxrwx - umask 或 umask -S: 查看当前默认权限值,第一个是隐藏权限, 该权限值指的是减掉的权限!
如:我们使用umask命令的到的是:022
- 建立文件时:(-rw-rw-rw-) - (-----w–w-) ==> -rw-r–r--
- 建立目录时:(drwxrwxrwx) - (d----w–w-) ==> drwxr-xr-x
umask 权限: 修改默认权限,仅当前shell有效
文件特殊权限: SUID, SGID, SBIT
- SUID权限有这样的限制和功能:
- SUID 权限 仅对二进制程序 (binary program)有效,对shell script无效
- 执行者对于该程序需要具有 x 的可执行权限
- 本权限仅在执行该
- 程序的过程中有效 (run-time)
- 执行者将具有该程序拥有者 (owner) 的权限
- SGID权限具有:
对二进制文件:
- SGID对二进制有用
- 程序执行者对于程序来说,需具有x的权限
- 执行者在执行的过程中将获得的该程序群组的支持
对文件:
- 用户若对该目录具有r和x的权限,该用户能够进入此目录
- 用户在此目录下的有效群组将会变成该目录的群组
- 用途:若用户在此目录下具有w的权限,这使用者所建立的 新文件的所属群组与此目录的群组相同
- SBIT只针对目录:
- 用户对于此目录具有w,x权限
- 当用户在该目录下建立文件或目录时,仅有自己和root用户才有权利删除
- 设定方法:
- SUID为4, SGID为2,SBIT为1、
- s权限在拥有者权限的x位置表示SUID权限, S表示拥有者对该文件或目录没有x权限
- s权限在群组权限的x位置表示SGID权限,S表示所属群组对该文件或目录没有x权限
- t在其他人权限的x位置表示SBIT权限,T表示其他人对该文件或目录没有x权限
如:chmod 1777 dir1 或者 chmod o=rwxs,ug=rwx dir1