We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如果平时主要在Mac 和 Linux 环境下工作,对于文件和目录权限应该不陌,看下面这张我电脑上的截图:
当我们看到上面这张图的时候能不能很快的理解每一列的意思,如果你能够很快读懂那么下面的文章可以节省时间不看了,如果不是很清楚可以再详细的学习下每一列代表的意义。
Linux的权限分为3中:
文件所有者通常是文件的创建者(root用户可以修改文件的所属)。
文件的创建者自动成为文件所有者(属主),文件的所有权可以转让,转让“手续”必须由root用户办理。
root
可以(也必须)把文件交给一个组,这个组就是文件的属主。组是一群用户组成的一个集合,文件属主中的用户按照设置对该文件享有特定的权限。
举个例子来说: 当A用户创建了一个文件File,File的属主就是A,File的属组是包含一个用户的A的A组。
可以通过root权限设置文件的属组是一个不包含文件所有者的组。文件所有者执行文件操作时,系统只关心属主权限,而组权限对属主是没有影响的。
可以设置用户对文件或者是目录拥有3种权限:
能否删除和重命名一个文件是由其父目录的权限设置所控制的。
有了上面的用户和权限系统的基础知识我们就来分析下开头看到的那张图每一列的意义。我们直接看下图:
文件修改时间这一列不同的系统上显示的信息可能不同。
具有Linux基础知识的都知道Linux上的一切都被表示为文件。Linux具有7种文件类型,分别如下:
chown可以用于改变文件的所有权。基本的语法如下:
chown
chown [option] ... [owner] [[:group]] filename
属组前的冒号可以省略如果要修改属组时,冒号不可以省略。
例如:
sudo chown zhiqiang:staff a.js
只修改属主(冒号后可以省略) sudo chown zhiqiang a.js
sudo chown zhiqiang a.js
只修改属组(冒号不可以省略) sudo chown :staff a.js
sudo chown :staff a.js
这条命令的意思是将a.js文件的owner设置为zhiqiang 属组设置为staff。
a.js
chown 具有一个 -R选项,可以修改一个目录及其下所有文件(包括子目录)的所有权的设置。
-R
将test目录下的所有文件和目录的所有权(属主)设置为zhiqiang chown -R zhiqiang test/
chown -R zhiqiang test/
Linux单独提供了另外一个命令chgrp用于设置文件的属组。
chgrp
chgrp [option] [group] filename 例如:
chgrp [option] [group] filename
将a.js的属组设置为 staff
sudo chgrp staff a.js
同样的chgrp 也提供了 -R 选项递归的设置目录及子目录的所属组。
Linux提供了chmod命令来改变文件的权限。这个命令使用“用户组+/-权限”的表述方式来增加/删除相应的权限。
chmod
代表用户组的英文简写字符如下:
增加属主的可执行权限
chmod u+x a.js
可以通过 a同时指定所有的3种人。例如删除所有人的可执行权限
sudo chmod a-x a.js
可以通过“用户组=权限”的规则直接设置文件权限。
chmod gu=rwx,o=rw a.js
这里的意思死设置a.js文件的所属组和属主用户具有读、写、可执行的权限。设置其他人用户具有读、写权限。
chmod也提供 -R 选项递归的对文件和目录,目录下的文件设置文件权限。
符号链接(软链接)需要使用带 -s参数的 ln命令来创建。命令格式如下:
-s
ln
创建一个软链接 ln -s path/to/file path/to/symlink
ln -s path/to/file path/to/symlink
创建一个软链接覆盖旧链接 ln -sf path/to/file path/to/symlink
ln -sf path/to/file path/to/symlink
创建一个硬链接 。用于将两个独立的文件联系在一起。与软链接的本质区别在于:硬链接是直接引用,而符号链接是通过名称进行引用。两个文件拥有相同的内容,对其中一个修改会直接反应在另一个文件中。硬链接很少使用。
ln path/to/file path/to/symlink
创建软链接相当于给文件命名一个别名,访问别名文件相当于访问源文件,删除别名文件不会影响源文件。如果删除源文件,别名文件仍会保留,但是其已经没有任何意义。
本文主要内容摘自--《Linux从入门到精通》
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Linux文件权限管理
如果平时主要在Mac 和 Linux 环境下工作,对于文件和目录权限应该不陌,看下面这张我电脑上的截图:
当我们看到上面这张图的时候能不能很快的理解每一列的意思,如果你能够很快读懂那么下面的文章可以节省时间不看了,如果不是很清楚可以再详细的学习下每一列代表的意义。
1、Linux的用户和权限系统
Linux的权限分为3中:
文件所有者通常是文件的创建者(root用户可以修改文件的所属)。
文件的创建者自动成为文件所有者(属主),文件的所有权可以转让,转让“手续”必须由
root
用户办理。可以(也必须)把文件交给一个组,这个组就是文件的属主。组是一群用户组成的一个集合,文件属主中的用户按照设置对该文件享有特定的权限。
举个例子来说:
当A用户创建了一个文件File,File的属主就是A,File的属组是包含一个用户的A的A组。
可以通过root权限设置文件的属组是一个不包含文件所有者的组。文件所有者执行文件操作时,系统只关心属主权限,而组权限对属主是没有影响的。
可以设置用户对文件或者是目录拥有3种权限:
能否删除和重命名一个文件是由其父目录的权限设置所控制的。
2、文件和目录属性
有了上面的用户和权限系统的基础知识我们就来分析下开头看到的那张图每一列的意义。我们直接看下图:
具有Linux基础知识的都知道Linux上的一切都被表示为文件。Linux具有7种文件类型,分别如下:
2.1、修改文件所有权
chown
可以用于改变文件的所有权。基本的语法如下:chown [option] ... [owner] [[:group]] filename
例如:
sudo chown zhiqiang:staff a.js
只修改属主(冒号后可以省略)
sudo chown zhiqiang a.js
只修改属组(冒号不可以省略)
sudo chown :staff a.js
这条命令的意思是将
a.js
文件的owner设置为zhiqiang 属组设置为staff。chown
具有一个-R
选项,可以修改一个目录及其下所有文件(包括子目录)的所有权的设置。例如:
将test目录下的所有文件和目录的所有权(属主)设置为zhiqiang
chown -R zhiqiang test/
Linux单独提供了另外一个命令
chgrp
用于设置文件的属组。chgrp [option] [group] filename
例如:
将a.js的属组设置为 staff
sudo chgrp staff a.js
同样的
chgrp
也提供了-R
选项递归的设置目录及子目录的所属组。2.2改变文件权限
Linux提供了
chmod
命令来改变文件的权限。这个命令使用“用户组+/-权限”的表述方式来增加/删除相应的权限。代表用户组的英文简写字符如下:
例如:
增加属主的可执行权限
chmod u+x a.js
可以通过 a同时指定所有的3种人。例如删除所有人的可执行权限
sudo chmod a-x a.js
可以通过“用户组=权限”的规则直接设置文件权限。
chmod gu=rwx,o=rw a.js
这里的意思死设置a.js文件的所属组和属主用户具有读、写、可执行的权限。设置其他人用户具有读、写权限。
chmod也提供
-R
选项递归的对文件和目录,目录下的文件设置文件权限。3、建立文件链接
符号链接(软链接)需要使用带
-s
参数的ln
命令来创建。命令格式如下:创建一个软链接
ln -s path/to/file path/to/symlink
创建一个软链接覆盖旧链接
ln -sf path/to/file path/to/symlink
创建一个硬链接 。用于将两个独立的文件联系在一起。与软链接的本质区别在于:硬链接是直接引用,而符号链接是通过名称进行引用。两个文件拥有相同的内容,对其中一个修改会直接反应在另一个文件中。硬链接很少使用。
ln path/to/file path/to/symlink
创建软链接相当于给文件命名一个别名,访问别名文件相当于访问源文件,删除别名文件不会影响源文件。如果删除源文件,别名文件仍会保留,但是其已经没有任何意义。
本文主要内容摘自--《Linux从入门到精通》
The text was updated successfully, but these errors were encountered: