通过ls -al
命令可以查看当前目录下的全部文件、文件夹信息:
每一个文件包含了七栏相关的信息:
常用命令有以下三个:
要被修改的组名必须存在于/etc/group
文件中才行。
随便创建一个文件:
[root@VM-0-13-centos /]# touch myFile.txt
查看该文件的信息:
[root@VM-0-13-centos /]# ls -al myFile.txt
-rw-r--r-- 1 root root 0 Feb 18 10:17 myFile.txt
修改用户组:chgrp li -R myFile.txt
,【-R】表示执行递归目标文件夹的子文件,再次查看文件信息:
-rw-r--r-- 1 root li 0 Feb 18 10:17 myFile.txt
尝试修改成一个不存在的用户组,如testUser:
[root@VM-0-13-centos /]# chgrp testUser -R myFile.txt
chgrp: invalid group: ‘testUser’
同理,要被修改的用户必须存在于/etc/passwd
文件中才行。
语法:
修改myFile.txt的用户为li:
[root@VM-0-13-centos /]# chown li myFile.txt
[root@VM-0-13-centos /]# ls -al myFile.txt
-rw-r--r-- 1 li li 0 Feb 18 10:17 myFile.txt
修改myFile.txt的用户为li、用户组为root:
[root@VM-0-13-centos /]# chown li:root myFile.txt
[root@VM-0-13-centos /]# ls -al myFile.txt
-rw-r--r-- 1 li root 0 Feb 18 10:17 myFile.txt
修改myFile.txt的用户组为li:
[root@VM-0-13-centos /]# chown :li myFile.txt
[root@VM-0-13-centos /]# ls -al myFile.txt
-rw-r--r-- 1 li li 0 Feb 18 10:17 myFile.txt
权限的设置方式有2种:数字和符号。
那么将myFile.txt文件的rw-r--r--
设置为rwxrw----
,对应的应该就是【4+2+1
】【4+2+0】【0+0+0】=760:
[root@VM-0-13-centos /]# chmod 760 myFile.txt
[root@VM-0-13-centos /]# ls -al myFile.txt
-rwxrw---- 1 li li 0 Feb 18 10:17 myFile.txt
权限的拥有者user、用户组group、其他人other可以分别用u、g、o来表示、所有人all用a来表示;读、写、执行分别用r、w、x来表示;+表示加入权限、-表示移除权限、=表示设置权限。
那么移除拥有者的执行权限应该就是:
[root@VM-0-13-centos /]# chmod u-x myFile.txt
[root@VM-0-13-centos /]# ls -al myFile.txt
-rw-rw---- 1 li li 0 Feb 18 10:17 myFile.txt
添加用户组的执行权限:
[root@VM-0-13-centos /]# chmod g+x myFile.txt
[root@VM-0-13-centos /]# ls -al myFile.txt
-rw-rwx--- 1 li li 0 Feb 18 10:17 myFile.txt
设置拥有者rwx、用户组rw、其他人r权限:
[root@VM-0-13-centos /]# chmod u=rwx,g=rw,o=r myFile.txt
[root@VM-0-13-centos /]# ls -al myFile.txt
-rwxrw-r-- 1 li li 0 Feb 18 10:17 myFile.txt
文件是实际含有数据的地方,包括文本文件、数据库文件、二进制可执行文件等。所以针对文件:
在windows中一个文件是否可以执行,取决于文件的拓展名(如.exe、.bat),而在Linux中文件是否可执行取决于有没有x(execute)权限。
对一个文件有w权限,则具有写入、编辑、新增、修改文件内容的权限,但并不具备删除文件本身的权限。对于文件的rwx来说,主要都是针对文件的内容而言的,与文件名的存在与否没有关系,因为文件记录的是实际的数据。
目录主要的内容是记录文件名列表,文件名与目录有强烈的关联性。所以针对目录:
如果单独拥有r权限,则仅可以查看目录下的文件名;单独拥有w权限,则什么都干不了;单独拥有x权限,仅能进入目录,其它的什么也干不了。所以通常需要r-x、-wx、rwx这样组合使用。
【-】表示一般文件,【d】表示目录文件。
基本上Linux没有所谓的扩展名,因为其能否执行取决于10个文件权限字符,和文件名没什么关系。
具有可执行的权限和具有可执行的代码是俩回事,比如一个file.txt即使赋予了x权限,也是没办法执行的。而cat命令,如果取消了x权限,则该程序将无法执行。x表示的仅仅是文件具有可执行的权限,具体能不能执行成功,当然还是要看文件的内容。
虽然如此,但很多时候还是需要通过文件的扩展名来知道这到底是个什么文件,数据常用扩展名:
基本上,Linux的扩展名主要用来告知文件类型而已,具体执行情况还是要看权限控制和其内部内容。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。