Linux系统,最常见的文件权限有3种,即对文件的读(用r表示)、写(用w表示)和执行(用x表示linux修改目录权限,针对可执行文件或目录)权限。在Linux系统中,每位文件都明晰规定了不同身分用户的访问权限,通过ls命令即可看见。
除此之外linux系统入门学习,我们有时会见到s(针对可执行文件或目录,使文件在执行阶段,临时拥有文件所有者的权限)和t(针对目录,任何用户都可以在此目录中创建文件,但只能删掉自己的文件),文件设置s和t权限,会占用x权限的位置。
比如,我们以root的身分登入Linux,并执行如下指令:
[root@localhost~]#ls-al
total156
drwxr-x---.4rootroot4096Sep814:06.
drwxr-xr-x.23rootroot4096Sep814:21..
-rw-------.1rootroot1474Sep418:27anaconda-ks.cfg
-rw-------.1rootroot199Sep817:14.bash_history
-rw-r--r--.1rootroot24Jan62007.bash_logout
...
有关ls命令的具体用户,以及输出信息的含意,请查看《Linuxls命令》,这儿不再赘言。
可以看见,每行的第一列表示的就是各文件针对不同用户设定的权限,一共11位,但第1位用于表示文件的具体类型,最后一位此文件受SELinux的安全规则管理,不是本节关心的内容linux更改ip地址,放在后续章节做详尽介绍。
因而,为文件设定不同用户的读、写和执行权限,仅涉及到9位字符,以ls命令输出信息中的.bash_logout文件为例,设定不同用户的访问权限是rw-r--r--,各权限位的含意如图1所示。
图1文件权限位
从图中可以见到,Linux将访问文件的用户分为3类,分别是文件的所有者,所属组(也就是文件所属的群组)以及其他人。
有关群组的概念,我们已在用户和用户组一章中做了说明。不仅所有者,以及所属群组中的用户可以访问文件外,其他用户(其他群组中的用户)也可以访问文件,这部份用户都归为其他人范畴。
很其实,Linux系统为3种不同的用户身分,分别规定了是否对文件有读、写和执行权限。拿图1来说linux修改目录权限,文件所有者拥有对文件的读和写权限,而且没有执行权限;所属群组中的用户只拥有读权限,也就是说,这部份用户只能读取文件内容,难以更改文件;其他人也是只能读取文件。
Linux系统中,多数文件的文件所有者和所属群组都是root(都是root帐户创建的),这也就是为何,root用户是超级管理员,权限足够大的诱因。