Loading

15、linux文件、目录的权限及如何改变权限(root用户不受任何权限的限制)


15.1、linux普通文件的读、写、执行权限说明:

r:读,表示具有读取\阅读文件内容的权限;

w:可写,表示具有新增,修改文件内容的权限:

如果没有r配合,那么vi编辑文件会提示无法编辑(但可以强制编辑,echo可以重定向或追加)

特别提示:删除文件(修改文件名等)的权限是受父目录的权限控制(wx,常用rwx),与自身的权限无关(如果目录中有文件,且目录不予许删除,则不能删除该目录,空目录则可以被删除),但上级目录的上级需要最低 x 进入目录权限,否则不能进入这一级,也不能进入下一级;

x: 文件执行的权限, 全路径执行,和进入内部进行./执行文件 进行执行

文件本身需要能够执行

普通用户同时还需要具备r的权限才能

用户创建文件时的权限是644,

15.2、linux目录的读、写、执行权限说明:

x:可执行,表示进入目录的权限,cd dir

r:可读(显示列表)、表示具有浏览目录文件及子目录的权限 ,及ls dir

如果没有x权限(进入目录的权限),ls列表时,可以看到文件名,但是看不到具体的文件权限属性,

w:表示具有增加,删除或修改目录内文件名的权限,也需要x的配合,否则无法进入目录
用户创建目录的权限是755;

15.3、linux改变文件权限的方法:

15.3.1、chmod:

是用来改变文件或目录权限的命令,但只有文件的属主和超级用户root才能使用这种命令,通过chmod来改变文件或目录的权限有两种方法,

一种是通过权限字母化操作符表达式的方法来设置权限,另一种是使用数字办法来设置权限(常用),如果我们想改变的仅仅是打开目录的权限,使用chmod命令时不用加任何参数,

如果想把目录以下的所有文件或子目录也同时改变,需要使用-R参数;

15.3.2、数字法:

chmod [数字法] 文件名:r:4 w:2 x:1

15.3.3、字符型法:

+:添加某个权限

-:取消某个权限

=:取消其它所有的权限赋予给定的的权限

15.3.4、chown:

当我们改变一个文件的属主时,我们所使用的用户必须是该文件的属主且同时是目标组成员,超级用户。只有超级用户才能改变 文件的属组

chown 用户 文件或目录 仅授权用户

chown :组 文件或目录 仅授权组

chown 用户:组 文件或目录 授权用户和组

其中:(冒号)可以使用.代替

用户的操作:

useradd test useradd -u 504 test

passwd test

userdel -r test 删除用户和家目录

组的操作:

groupadd test

15.3.5、改变文件的属性:

[root@centos6 ~]# chattr +i /etc/passwd #给 /etc/passwd 加锁,root用户也不能进行操作

[root@centos6 ~]# useradd test

useradd: cannot open /etc/passwd

[root@centos6 ~]# lsattr /etc/passwd #查看文件是否加锁

----i--------e- /etc/passwd

[root@centos6 ~]# which chattr

/usr/bin/chattr

[root@centos6 ~]# mv -v /usr/bin/chattr /lcchattr #转移chattr命令,无法解锁,就不可创建用户,防止黑客的入侵

`/usr/bin/chattr' -> `/lcchattr'

[root@centos6 ~]# useradd lc

useradd: cannot open /etc/passwd

[root@centos6 ~]# chattr -i /etc/passwd

-bash: /usr/bin/chattr: No such file or directory

[root@centos6 ~]# mv -vf /lcchattr /usr/bin/chattr

`/lcchattr' -> `/usr/bin/chattr'

[root@centos6 ~]# chattr -i /etc/passwd

[root@centos6 ~]# useradd lc1

15.4、相对比较安全的权限:

对于文件权限是644(默认),对于目录的权限是755(默认),并且用户为root以及用户组root,这样其它用户登录只有其它用户的权限,上层可查看r_x,到用户的目录时变为可读可写的权限;

在root用户下建立创建文件和默认的目录,创建可供其它用户利用的目录,此时其它用户登录后可以查看文件进入目录,但是不能够创建文件且目录中的文件属于root,也只能读,该用户

只能在规定的目录下进行创建文件,删除属于自己的文件;

15.5、默认权限的分配的命令:

文件的权限从 666 目录从777开始

umask 022 022

文件的真实权限 644 755

umask都为偶数,直接相减,如果是奇数,在对应位加1;

umask如果越小,则对应的权限就越大

15.6、特殊权限:

15.6.1、suid:

suid是一把双刃剑,是一个比较危险的功能,对系统安全有一定的威胁

15.6.1.1、suid系统优化的命令:

xargs -i chmod u-s {}

15.6.2、sgid :

常用于组之间文件的共享;

sgid 表示任何一个加入组的用户或属主用户,在组目录下创建文件或目录都属于该组所有,其它用户是002,可实现所有用户的共删性(特殊:umask,022,加目录);

15.6.3、粘贴位:

如果一个目录把所有的权限都开放,这样任意一个用户都可以在这个目录中创建和删除任意一个文件,或没有文件的空目录(如果有文件,则不能删除,需要给目录加权限),如果设置了粘贴位,除非文件的属主和root用户可以删除该文件和目录(如果在子目录设置权限,其它用户也可以删除该目录下的文件);

15.6.4、特殊权限小结:

posted @ 2020-02-15 20:30  云起时。  阅读(5067)  评论(0编辑  收藏  举报