linux-权限设定

  1. 为什么需要权限管理

    计算机资源有限,我们需要合理的分配计算机资源。
    Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重要的。由于Linux的一切皆文件的基本思想,对于权限的管理更多的则体现在管理文件权限上。为了方便的指派权限,在Linux中定义了文件属主,文件属组,其他人这三类人的权限。
    对于计算机来说,这三类都是一个标识符。

  2. 文件的权限

通过 ls 命令我们可以看到文件的具体权限信息。

drwxrwxr-x 2 wa wa 2020 Sep 27 15:29 .
drwxrwxr-x 5 wa wa 2020 Sep 227 16:38 …
-rw-rw-r-- 1 wa wa 0 Jun 5 02:29 file

将文件的具体权限可以分成八个内容来看

d	|	rwxrwxr-x| 2	| wa	| wa|	  2020|	 Sep2715:29 |	file
[1]		[2]			[3]	  [4]	  [5]	[6]			[7]			[8]

[1]文件的类型

-  ##空文本	
d  ##目录
l  ##软连接
s  ##socket套接字
b  ##block块设备
c  ##字符设备

[2]文件权限信息
rwx |rwx |r-x
文件权限信息一共有9位,每3位一组,分别表示属主,属组,其他人的权限信息

权限:r w x
在这里插入图片描述
对于文件:
r:可读,可以使用cat等命令查看文件内容
w:可写,可以进行编辑修改,或删除操作
x:可执行,可以在命令提示符下当做命令提交给内核运行

对于目录:
r:可以对此目录执行ls命令,列出内部所有文件
w:可以在此目录下创建文件
x:可以使用cd命令切换进此目录,也可以使用ls -l命令查看内部文件的详细信息
对于目录来说,一般会有执行权限,而对于文件来说,一般默认没有执行权限。
[3]
对文件:文件硬链接个数
对目录:目录中子目录的个数(不是文件)
[4]
文件所属人
[5]
文件所属组
[6]
对文件:文件的大小
对目录:目录中子文件元数据的大小
[7]
文件内容被修改时间
[8]
文件名称
修改文件的所有人和所有组

chown		username	file|dir  修改用户
chown		user.group	file|dir 修改组
chown	-R  user.group	dir

chgrp		group		file|dir
charg	-R	group		dir

在这里插入图片描述
在这里插入图片描述
示例:
修改文件的权限的方式

chmod	<u|g|o><+|-|=><r|w|x>		file|dir

有一种比较方便的修改方法,直接加二进制数字。

|r |w |x
4   2   1
chomd    542   file    ##意思就是 u(r-x) g(r--) o(-x-)

在这里插入图片描述

  1. umask 系统建立时默认保留的权力

       当你创建一个新的文件或目录时,该文件或目录有默认权限。umask的分数指的是该默认值需要减掉的权限,在默认权限的属性上,目录与文件是不一样的,文件最大的权限是666,目录最大权限是777。

  • 临时修改:umask值

     	umask 077          ##临时设定系统预留权限为077
    
  • 永久修改:umask值

		vim /etc/profile 		 ##永久修改每个用户创建文件的umask值(系统配置文件) 
    	vim /etc/bashrc			 ##永久修改bash里创建文件的umask值(shell配置文件)
   	    source /etc/profile  	 ##让更改立即生效
   		source /etc/bashrc

注意:想要永久性的修改umask值,一定要重新读取俩个配置文件后,才能生效。

  1. 特殊权限
  • sticky粘制位
    作用:
           只针对目录生效,当一个目录上有sticky权限时,所有用户在该目录下均可创建文件,但只有文件所有人删除该目录下的文件。
    设定方式:
		   chmod o+t  dir
		   chmod 1xxx  dir(1777)
  • sgid 强制位

作用:
       对文件:只针对二进制可执行文件,当文件上有sgid时,任何人执行此文件产生的进程都属于文件的组
对目录:当目录上有sgid时,任何人在此目录中建立的文件都属于目录的所有组
设定方式:

 		chmod g+s  file|dir
   		chmod 2xxx file|dir
  • suid 冒险位
    作用:
           只针对二进制可执行的文件,当文件上有suid时任何人执行这个文件中的程序产生的进程都属于文件的所有人。
    设定方式:
			chmod u+s  file
   			chmod 4xxx file
  1. 文件访问控制列表 ACL
  • 作用:
           让特定的用户对特定的文件拥有特定的权限
  • acl列表查看
    -rw-rwxr–+ 1 root root 0 Oct 1 11:11 file
  • acl开启
	getfacl	 file   	 ##查看acl开启的文件的权限
	file:file			 ##文件名称
	owner: root 		 ##文件所有者
	group:root			 ##文件所有组
	user ::rw-   		 ##文件所有人的权限
	user:tom:rwx  		 ##指定用户的权限
	group::r--  		 ##文件所有组的权限
	mask::rwx     		 ##能赋予用户的最大权力阈值
	other::r--     	 ##其他人的权限
  • acl列表的管理

    setfacl -m u:username:rwx file ##设定username对file拥有rwx权限
    setfavl -m g:group:rwx file ##设定的group组成员对file拥有的rwx权限

  • mask值

       在权限列表中mask表示能生效的权力值,当用chmod减小开启acl的文件时,mask值会发生变化

		 chmod g-w westos     ##看到减掉的mask值

恢复mask值:

		setfacl -m m:rwx westos   (westos是组)
  • acl默认权限只针对目录设定

     	setfacl -m d:u:student:rwx/mnt/westos
    

注意:
acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限的

猜你喜欢

转载自blog.csdn.net/We_jia/article/details/83003475