Linux 文件权限

Linux 的优秀之处就在于它的多用户、多任务的系统。Linux 通常将文件可存取访问的身份分为 3 个类别,分别是 owner、group、others,且 3 种身份各有 read、write、execute 等权限。

权限的三种身份

文件全部者(owner)

用户级别的文件权限,一般为文件的建立者,能够经过 chown 修改文件全部者。bash

用户组(group)

若是把用户组比做团队,用户就是其中的成员,团队中的队员对于该文件都有相同的权限。能够经过 chgrp 修改文件的用户组。服务器

用户组最有用的功能之一,就是在团队开发资源的时候。两个项目 project1project2 由两个团队开发,则分别给项目分配用户组权限一、2,而后上司同时支持一、2 权限,即:每一个帐号均可以有多个用户组的支持。ssh

其余人(others)

不是文件全部者并且不属于文件的用户组,就是其余人。code

文件权限

定义及查看

在服务器中执行命令如下命令,查看文件相关的信息:ip

[root@iz2zedcscvry6t0psspzswz ~]# ls -al
total 44
dr-xr-x---.  5 root root 4096 Sep  9 12:11 .
dr-xr-xr-x. 18 root root 4096 Sep  9 12:39 ..
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
drwx------   3 root root 4096 Oct 15  2017 .cache
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
drwxr-xr-x   2 root root 4096 Oct 15  2017 .pip
-rw-r--r--   1 root root   64 Oct 15  2017 .pydistutils.cfg
drwx------   2 root root 4096 Sep  9 12:11 .ssh
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc

如下示例,展现了每一列对应的含义:资源

文件权限     链接数  文件全部者  用户组   文件大小  修改日期        文件名
drwxr-xr-x   2      root     root    4096    Oct 15  2017   .pip

文件权限部分,drwxr-xr-x 第一个字母表明文件类型,这里的 d 表明目录(directory)。d = 目录, - = 文件, l = 连接文件(linkfile)。开发

后面以 3 个为一组,第一组 rwx 表明文件全部者权限,第二组 r-x 表明用户组权限,第三组 r-x 表明其余用户权限。it

示例中的文件,文件全部者 root 有读写可执行权限,root 用户组的用户有读和可执行权限,其余用户有读和可执行权限。pip

  • 查看文件建立或修改的具体的日期 : ls -al --full-time
  • 查看 ls 的详细用法: man lsinfo ls

修改文件权限

  • chgrp(change group):改变文件所属用户组
  • chown(change owner):改变文件全部者
  • chmod(change mod):修改文件的权限

修改用户组

chgrp [-R] dirname/filename

# 将 install.log 的用户组修改成 users
chgrp users install.log

修改文件全部者

chown 能够同时修改文件所属的用户组table

chown [-R] 帐号名称:组名 文件或目录

# 将 install.log 的用户组和全部者改成 root
chown root:root install.log

改变文件权限

权重分配: r:4 w:2 r:1

# 将文件权限设置为 -rwxr-xr

chmod 754 filename

# 设置一个可执行文件,不让其余人修改

chmod 755 filename # -rwxr-xr-x

符号类型改变文件权限

命令 身份 操做 文件
chmod u g o a +(加入) -(除去) =(设置) r w x 文件或目录

身份解释: u = user, g = group,o = other, a = all

# 让文件拥有执行权限,但不知道原权限
chmod a+x filename

目录与文件的权限意义

Linux 文件是否被执行由 "x" 的权限决定,跟文件名没有绝对的关系。

文件是存放实际数据的所在,目录主要的内容是记录文件名列表。

文件的权限解释

  • r:能够读取文件内容
  • w:能够编辑文件内容
  • x:文件具备被系统执行的权限

目录的权限解释

  • r:查询该目录下的文件名数据(能够用 ls)
  • w:新建、删除、重命名、转义
  • x:可否进入该目录

权限的配置文件

  • 帐号信息: /etc/passwd
  • 我的的密码:/etc/shadow
  • 组名:/etc/group
相关文章
相关标签/搜索