一名菜鸟学习编程技术,记录所学知识并分享给大家,希望大家多多支持。
一、文件的权限与归属
1.1 查看文件的权限与归属
Linux系统中“一切皆文件”,每个文件的类型不尽相同;在Linux系统中使用不同的字符加以区分,常见的字符如下所示:
-
:普通文件d
:目录文件l
:链接文件b
:块设备文件c
:字符设备文件p
:管道文件
1.1.1 访问权限
- 读取r:允许查看文件内容、显示目录列表;
- 写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录;
- 可执行x:允许运行程序、切换目录
1.1.2 归属(所有权)
- 属主:拥有该文件或目录的用户账号;
- 属组:拥有该文件或目录的组账号;
1.1.3 查看文件的权限和归属
1.2 修改文件的权限
chmod命令
chmod命令用于更改文件对于某类用户的操作权限
练习
操作一:
使用`touch命令`创建自己的文件
[root@index ~]# ls -l
[root@index ~]# touch test
[root@index ~]# ls -l
操作二:
修改test文件的u的权限
[root@index ~]# chmod u+x test
[root@index ~]# ll
操作三:
修改g的权限
[root@index ~]# chmod g+w test
[root@index ~]# ll
操作四:
对属主,属组,其他用户都加上可执行的权限
[root@index ~]# chmod a+x test
[root@index ~]# ll
操作五:
删除u的可执行权限(x)和g的可写权限(w)
[root@index ~]# chmod u-x,g-w test
[root@index ~]# ll
以上练习的操作:
操作一:
创建一个自己的文件为test。在这里你可以看到我是使用root权限创建的test文件,因此,它的属主是超级管理员root用户,属组也是超级管理员root。
接下来看一个test文件的权限设置。在最前面你额可以看到-rw-r-- r--.
,第一位是-
,表明它是普通文件,test文件的颜色是白色的,在这里不做文件颜色的介绍,你可以点击此处了解之前的博客,查看相关文件的颜色及其相关介绍。
Linux系统的文件目录、类型和颜色的详细介绍
- u 的权限是读和写
- g 的权限是可读
- o 的权限也是可读(在这里显示的都是默认的权限)
操作二:
对test文件中的u添加可执行的权限,可以看到test文件的颜色为绿色,表示的是可执行文件可执行程序;
你也可以看到在权限设置中的u权限
中多了一个x
。
操作三:
对test文件中的g添加可写权限,在权限设置你可以看到在g的部分多了一个w
。
操作四:
对属主,属组,其他用户都加上可执行的权限,可以通过参数a
进行实现。
操作五:
可以使用+、-、=
设置文件的权限,当然除了此种方法还有另外的方法对文件的权限进行设置,接下来将进行介绍。
1.2.1 修改文件的权限(使用数字表示权限)
使用数字表示权限对文件进行权限设定,如下所示,读的权限为数字4,写的权限为数字2,执行的权限为数字1,那么三种权限分配的用户最高权限是777,下面也列出了常用的一些使用数字表示的权限。
- 444 r–r--r–
- 600 rw-------
- 644 rw-r–r--
- 666 rw-rw-rw-
- 700 rwx------
- 744 rwxr–r--
- 755 rwxr-xr-x
- 777 rwxrwxrwx
练习
操作一:
查看test文件的权限(依然使用以上的test文件,通过以下命令,可以看到刚刚的test文件权限用数字表示为655)
[root@index ~]# ll test
-rw-r-xr-x. 1 root root 0 5月 9 10:54 test
操作二:
使用数字来设置最高文件权限
[root@index ~]# chmod 777 test
[root@index ~]# ll
操作三:
使用数字修改文件的权限
[root@index ~]# chmod 763 test
[root@index ~]# ll
操作四:
修改test文件,用户u对它有读的权限,属组g对它有写的权限,其他用户o对它有可执行的权限
[root@index ~]# chmod 421 test
[root@index ~]# ll
以上练习的操作:
操作一:
操作二:
在这里你可以看到对于test文件已经拥有了最高的权限。
操作三:
对于test文件的权限设置了763的权限,对应上面的介绍你能很容易的修改的相应的文件权限。
操作四:
对应的权限修改为u可读,g可写,o可执行。
1.3 修改文件的归属
如果想要改变一个文件对于某些用户的权限,除了可以修改它的权限之外,还有一种方法就是修改文件属于哪个用户和用户组
chown命令
用于设置文件的属主和属组
语法格式:chown owner[:[group]] file
举例
1.设置文件afile的属主为用户st01 # chown st01 afile 2.设置文件afile的属组为用户组class1 # chown :class afile 3.设置文件afile的属主为st03,并设置文件的属组为class2 # chown st03:class2 afile
练习
操作一:
查看test的属主和属组:
[root@index ~]# ll
操作二:
查看系统中的用户属主和属组:
[root@index home]# tail -5 /etc/passwd
[root@index home]# tail -5 /etc/group
修改test2文件的属主和属组:
[root@index home]# chown test2:uu2 test2
[root@index home]# ll
以上练习的操作:
操作一:
可以看到test文件的属主和属组都属于超级管理员root的。
操作二:
在这里你可以看到test的属主为test2,属组为uu2,在此之前的test2文件属主和属组都是test2。此外用户的属组权限也发生了相应的改变,如下图:
注意:你可以对文件的权限进行修改,但是不能对文件的权限进行随意的修改。对于有些系统文件或者服务的程序的权限,安装系统之后它的属主和属组是特定的,你修改了它的权限,可能会导致程序无法运行!
文章参考:
https://www.cnblogs.com/qluzzh/p/10306107.html
https://www.linuxidc.com/Linux/2020-01/162121.htm