linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

发布于 2018-01-29  389 次阅读


文件或目录权限 chmod

ls -l

例:rw-r--r--

前三个:文件所有者权限,分别为读/写/执行

中间三个:文件所属组权限,其他同上

后三位:其他人的权限,其他同上

可用数字表示权限:r=4 w=2 x=1

如 rwx=7,rw-=6,--x=1,rw-r--r--=644,rw-r-xr-x=655

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

chmod:change mode

例:chmod 700 2.txt

修改 2.txt 的权限为 700,即 rwx------

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

chmod -R 770 aming2

批量的把 aming2 目录已经目录下的文件都修改为 770 权限

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

chmod u=rwx,g=r,o=r aming2

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

chmod a+x aming2

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

chmod a-x aming2

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

权限最后一个点的意思:受制于 SElinux,开启 SElinux 的情况下的文件都会有一个点

getenforce:查询当前 SElinux 状态

setenforce 0:临时关闭 SElinux

要永久关闭 SElinux 需要修改配置文件:

vi /etc/selinux/config,把 SELINUX=enforcing 改为 SELINUX=disabled

关闭 SElinux 之后创建的文件就不会有一个点了。

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

更改所有者和所属组 chown

chown:change owner

chown aming /tmp/yum.log:先查看都有什么用户,然后修改 yum.log 的所有者为 aming

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

chgrp:change group

例:

chgrp user1 /tmp/yum.log:改变 yum.log 的所属组为 user1

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

chown user1:aming /tmp/yum.log:同时修改 yum.log 的所有者和所属组

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

chown :root /tmp/yum.log:只修改 yum.log 的所属组

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

chown -R user1:aming /tmp/aming2:级联修改目录及其目录下的的文件的所有者和所属组

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

总结:

chown -R username:group filename

加-R:级联修改目录及其下的文件

只有 username:只修改所有者

只有:group:只修改所属组

umask:确定了系统目录以及文件的权限

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

umask 0002:修改 umask 的值为 0002,其中第一个 0 可以省略不写,测试新创建的文件及目录的权限

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

022 - 644/755

002 - 664/775

x 权限:文件要有 x 权限才能执行它,目录要有 x 权限才能打开它

错误的概念:

目录:777 – 022 = 755

文件:666 – 022 = 644

如:

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

所以正确的概念为:

修改 umask 为 003,即

666 = (rw-rw-rw-) – (-------wx) = rw-rw-r-- = 664

777 = (rwxrwxrwx) – (-------wx) = rwxrwxr-- = 774

隐藏权限 lsattr_chattr

例:

chattr +i 1.txt:为 1.txt 添加隐藏权限 i,使其不能增加/删除/修改里面的内容(即使是强制保存)

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

head -n2 /etc/passwd > 1.txt:即使是用 head 命令输出内容到 1.txt 中,也会无法输入

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

lsattr 1.txt:查看隐藏权限,设置了 i 隐藏权限的文件,除了无法对其内容进行增加/删除/修改意外,还不能进行修改文件名,删除文件等操作,默认创建的文件不带有隐藏权限

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

touch 1.txt:也无法 touch 设置了隐藏权限 i 的文件,因为 touch 一个文件会改变一个文件的时间

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

chattr -i 1.txt:去掉隐藏权限 i

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

chattr +a 3.txt:给 3.txt 添加隐藏权限 a,使文件只能在内容的后边追加内容,可以 touch,但不能做其他操作(但可以对目录已经存在的文件的内容进行修改)

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

chattr -a 3.txt:把隐藏权限 a 去掉

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

mkdir 111/222:创建目录 111 及其子目录 222

lsattr 111:查看目录 111 及其子目录的隐藏权限

lsattr -d 111:查看 111 目录的隐藏权限

chattr +i 111:给目录 111 增加隐藏权限 i,效果跟给文件增加隐藏权限 i 一样

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

chattr +a 111:给目录添加隐藏权限 a,作用跟给文件添加隐藏权限 a 差不多

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

再次测试隐藏权限 i 对目录里面本来就存在的文件的影响

chattr -a 111/:删除目录的隐藏权限 a

chattr +i 111/:再次测试目录的 i 权限,发现可以对已存在的文件的内容进行操作,touch 也可以,但不能 touch 新的文件

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

lsattr -R 111/:级联显示目录中所有文件的隐藏权限

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr

例:

lsattr -a /root/:查看目录下所有文件的隐藏权限,包括隐藏文件

lsattr -d 111/:查看目录本身的隐藏权限

linux 学习笔记-008-chmod 命令,chown 命令,umask 详解,隐藏权限 lsattr 和 chattr