Linux介绍---常用命令(基本权限管理)

权限介绍

  • 权限位的含义:
  •  前面在讲解ls命令时,我们已经知道了长格式显示的第一列就是文件的权限,例如:
    
  •  ![ls命令详解](https://img-blog.csdnimg.cn/20190412225026383.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNzU0NjcyNQ==,size_16,color_FFFFFF,t_70)
    

第一列的权限如果不计算最后的.。则共有10位,这个10位权限位含义如下图所示:
文件的类型

  • 第一位代表文件类型:Linux不想windows使用扩展名表示文件类型,而是使用权限位的第一位表示文件类型,虽然Linux文件的种类不想windows中那么多, 但是分类也不少,详细情况。可以使用info命令查看。
  • ‘-’:普通文件
  • ‘b’:块设备文件,这是一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/dev/sda1就是这种文件。
  • ‘c’:字符串设备,这也是特殊设备文件,输入设备一般都是这种文件,如鼠标,键盘等。
  • ‘d’:目录文件,Linux中一切都是文件,所以目录也是文件的一种。
  • ‘l’:软链接文件。
  • ‘p’:管道符文件,这是一种比较少见的文件。
  • ‘s’:套接字文件,这也是一种特殊设备文件,一些服务支持Scoket访问,就会产生这样的文件。
  • 第2~4位代表文件所有者的权限:
  • r代表read,是读取文件。
  • w代表write,是写入文件。
  • x代表execute,是执行文件。
  • 如果有字母的话,则代表相应的权限:如果是‘-’则代表没有对应的权限。
  • 第5~7位代表文件所属组的权限,同样拥有rwx权限。
  • 第8~10位代表其他人的权限,同样拥有rwx权限。

2.基本权限命令:

首先来看修改权限命令chmod,其基本信息如下:
	命令名称:chmod
	英文原意:change 	file mode bits
	所在路径:/bin/chmod
	执行权限:所用用户
	功能描述:修改文件的权限模式。
	命令格式:
		[root@beidouxing ~]# chmod [选项] 权限模式 文件名
		选项:
			-R:递归设置权限,也就是给子目录中的所有文件设定权限。
	权限模式:
		chmod命令的权限模式格式是:[ugoa][+-=][perms],也就是[用户身份][赋权方式][权限]的格式,我们来解释一下:
		用户身份:
		 1. -u:代表所有者(user)
		 2. -g:代表所属组(group)
		 3. -o:代表其他人(other)
		 4. -a:代表全部身份(all)
赋权方式:
 1. - +:加入权限
 2. - -:减去权限
 3. - =:设置权限
权限:
 1. - r:读取权限
 2. - w:写权限
 3. - x:执行权限

2.3数字权限:
数字权限的赋予方式是最简单的,但是不如之前的字母权限好记,直观。我们来看看这些数字权限的额含义:
4:代表‘r’权限
2:代表‘w’权限
1:代笔‘x’权限。
常用的数字权限:
数字赋权的方式更加简单,但是需要用户对这几个数字更加熟悉。
常用的数字赋权只有如下几个:
644:这是文件的基本权限,代表所有者拥有读,写权限,而所属组和其他人只拥有读的权限。
755:这是文件的执行权限和目录的基本权限,代表所有者拥有读,写和执行的权限,而所属组和其他人拥有读和执行的权限。
777: 这是最大权限,在实际的生产服务器中,要尽力避免给文件或者目录赋予这样的权限,这会造成一定的安全隐患。
基本权限的作用
首先,读,写执行权限 对文件和目录的作用是不同的。
权限对文件的作用:
-读®:对文件有读®的权限,代表可以读取文件中的数据,如果吧权限对应到命令上面那么一旦对文件有读®权限,就可以对文件执行cat,more,less,head,tail等文件查看命令。
-写(w):对文件有写(w)权限,代表可以修改文件中的数据,如果把权限对应到命令上,那么一旦对文件有写(w)权限,就可以对文件执行vim,echo等修改文件数据命令。注意:对文件有写权限,是不能删除文件本身的,只能修改文件中的数据,。如果想要删除文件,则需要对文件的上级目录拥有写权限。
- 执行(x):对文件有执行权限,代表文件拥有了执行权限,可以运行。在Linux中只要文件有执行权限,这个文件就是执行文件了。只是这个文件到底可不可以执行,不仅需要执行(x)权限,好要看文件中的代码是不是正确的语言代码,对文件来说,执行(x)权限最高权限。
权限对目录的作用:
-读®:对目录有读®权限,代表可以查看目录下的内容,也就是可以查看目录下哟那一些子文件和子目录,如果把权限对应到命令上面,那么一旦对目录拥有了读®权限,就可以在目录下执行ls命令,查看目录下的内容了。
-写(w):对目录有写的权限,代表可以修改目录下的数据,也就是可以在目录中新建,删除,修改,复制,剪切子文件或者子目录。如果把权限对应到命令上,那么一旦对目录拥有了写(w)权限,就可以在目录下执行touch rm,cp,mv命令。对目录来说,写(w)权限是最高权限。
-执行(x):目录是不可以执行的,那么对目录拥有了执行(x)权限,代表可以进入目录。如果把权限对应到命令上,那么一旦对目录拥有了执行(x)权限,就可以对目录执行cd命令。进入目录。
目录的可用权限
目录的可用权限只有一下几个:
0:任何权限都不赋予。
5:基本的目录浏览和进入权限。
7:完全权限。
所有者和所属组命令
4.1chown命令
chown是修改文件和目录的所有者和所属组的命令,其基本信息如下:
命令名称:chown
英文原意:change file owner and group
所在路径:/bin/shown
执行权限:所有用户
功能描述:修改文件和目录的所有者和所属组。
命令格式:
[root@beidouxing ~]# chown [选项] 所有者:所属组 文件或者目录。
选项:
-R:递归设置权限,也就是给子目录中的所有文件设置权限。
普通的用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行。
普通用户可以修改所有者是自己的文件权限。
4.2 chgrp命令
chgrp是修改文件和目录的所属组的命令,其基本信息如下:
命令名称:chgrp
英文原意:change group ownership
所在路径:/bin/chgrp
执行权限:所有用户
功能描述:修改文件和目录的所属组。
5.umask默认权限
查看系统的umask 权限。
[root@biedouing ~] #umask 默认是umask默认是八进制数值显示。
[root@beidouxing ~]#umask -S #用字母表示文件和目录的初始权限。
2.umask权限的计算方法:
我们需要先了解一下新建文件和目录的默认最大权限。
对文件来讲,新建文件的默认最大权限是666,没有执行(x)权限,这是因为执行权限对文件来讲比较危险,不能在新建文件的时候默认赋权,而必须通过用户手工来赋予。
对目录来说,新建目录的默认权限最大权限是777,这是因为对目录而言,执行(x)权限仅仅代表进入目录,所以即使建立新文件时直接默认赋权,也没有什么危险。
按照官方的标准算法,umask的默认权限需要使用二进制逻辑与和逻辑非联合运算才可以得到正确的新建文件夹和目录的默认权限,这种方法既不好计算,也不好理解。因此并不推荐。
我们在这里还是按照字母权限来讲解umask权限的计算方法,我们就按照默认的umask值是022来分别计算一下新建文件和目录的默认权限。
文件的默认权限最大只能是666,而umask的值是022.
‘-rw-rw-rw-’减去‘-----w–w-’等于’-rw-r–r--’ 等等。
目录的默认权限最大可以是777,而umask的值022.
‘drwxrwxrwx’减去’d----w–w-'等于‘drwx-r-xr-x’;
注意:
umask是033 的时候呢
文件的默认权限最大只能是666,而umask的值是033
‘-rw-rw-rw-’减去‘----wx-wx’等于‘-rw-r–r-’。
语法实践:
首先新增一个用户:

使用useradd user1 新增一个用户
使用passwd user1 设置用户密码。
注意
普通 用户可以修改所有者是自己的文件的权限。
普通用户不能修改文件的所有者,哪怕文件是属于这个普通用户的也不可以修改,只用超级用户才能修改所有者。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章