查看文件所有属性命令:ll
-|rwx|r--|--- 1 root root
第一个“-”表示:这是普通文件 如果是d,则表示为目录
第一组权限显示 rwx :文件拥有者拥有读、写、执行的权限 (u)
第二组权限显示 r--: 文件所属组拥有度的权限 (g)
第三组权限显示 --- :读、写、执行都不具有 (o)
第一个root表示文件拥有者是root
第二个root表示文件所属组为root组
------------------------------------------------------------------------------------------------
修改文件权限,用chmod
一、字母赋权
chmod u=---,g-r,o+rwx file.txt
表示:给文件file.txt拥有者赋予不可读、不可写、不可执行权,给所属组去掉读的权限,给其他用户和组增加读写执行权。
chmod a+x file.txt
给所有人执行权
a指代所有
chmod -R a=rwx
二、数字赋权
r=4,
w=2
x=1
则赋权也可以用数字表示
chmod 777 file.txt
给文件file.txt拥有者读写执行权,给所属组读写执行权,给其他人读写执行权
chmod赋权递归用-R参数
chmod -R 777 dir 表示给dir目录及其下所有目录和文件读写执行权
chmod -R a=rwx dir 表示给dir目录及其下所有目录和文件读写执行权,效果等同于上面一行
chmod -R a=rwX dir 表示给dir目录及其下所有目录读写执行权,文件读写权(X表示文件没有执行权)
且,只有执行权x有大写的用法,表示在递归中,文件没有执行权。
-------------------------------------------------------------------------
chown 更改文件所有者
chown hr01 hr_file 把当前目录下hr_file 所有者更改为hr01
chgrp 更改所属组
chgrp hr hr_file 把当前目录下hr_file所属组更改为hr组
给用户提权的两种手段:
suid -----chmod u+s /usr/bin/cat 提升了该文件执行时候的权限。仅能用户二进制文件,系统文件,不能用于脚本。
sudo----
总结:
chmod 更改文件/目录权限
chgrp 更改所属组
chown 更改所属用户
-R递归操作
文件的执行权限x一定要慎重赋予。(文件中的命令可能删除系统文件,或者库文件)
目录的写入权限w一定要慎重赋予。(目录写入权限意味着可以删除该目录下所有文件,即使不能执行)
有文件的读写执行权不一定能够删除文件,删除文件必须要有该文件上级目录的写入权限。
拥有目录的r权限,可以查看目录下的内容 ls /directory 显示directory下内容。
拥有目录的x权限,相当于可以进入该目录。
/ 目录对所有用户都由读和执行权限,目录的读和执行一般也是成对出现。
如果拥有某个文件的r权限,但是无法查看,可能是你没有该文件上级目录的r权限。
拥有目录的写入权限,可以删除该目录下的文件和空目录。
删除一个非空的目录,必须有其上级目录的写入权限,和该目录的写入权限。
chmod--------u属主-g属组-o其他-a所有
chmod可以给系统可执行文件添加s权限。
chmod u+s /usr/bin/cat 给cat文件添加suid,显示为-rwsr-xr-x,则该文件被任何用户执行的时候,相当于是以文件所有者权限执行(多为root用户权限)(可以理解为,该程序被执行的时候,生成的进程是附带root权限的。具有危险性。)
当一个文件有suid权限的时候,它被任何用户执行的时候,进程都是该文件所有者权限(一般为root)。
当一个文件有Suid权限的时候,它被任何用户执行的时候,进程都是该文件所有者权限(一般为root)。相反该文件所有者没有执行文件的权利了。如果该所有者非root,该用户将不能执行该文件。
数字权限一般为三位,例如:0777 =777 = rwxrwxrwx。(第一位为高级权限)
setfacl -m 更加灵活的对用户添加权限
setfacl -x 删除权限