Linux权限

1. 认识Linux下用户的分类

  • root: 超级用户(在windows上的以管理员身份运行,相比较下,Linux的root比windows的root权限高一点)
  • 普通用户:我们新建的用户。(adduser)

root基本不受权限的约束,普通用户是受权限约束的。
Linux下所有的用户都有账号和密码,建议root和普通用户的密码不要一样,这样便于区分。

  • 切换用户
    susu -
  • 将一句指令暂时进行提权(提升至root权限)
    sudo
    目前我们用adduser新建的用户,没有办法执行sudo,因为系统不信任该用户,除非未来将普通用户添加到系统的信任白名单中。

2. 什么叫做权限

即你能否做某件事。

  1. 权限认证的是身份、角色

  2. 权限也和事物的“属性”有关(比如书本不具备踢足球的属性)
    文件属性:可读、可写、可执行

    在这里插入图片描述

    1. 第一个字母
      上述两行的第一个字母是区分文件类型的:

      • -:普通文件:文本、可执行程序、库

      • d:目录文件

      • b:块设备文件:磁盘文件

      • c:字符设备文件:键盘、显示器文件等

      • p:管道文件:用来进行通信的

      • l:软链接(类似Windows的快捷方式 )

      • s:套接口文件

      Linux系统中文件名后缀没有直接的意义(当然不代表没有用):
      在Linux系统中,文件的类型是看第一个字母的,但是别的情况不一定,比如说:一个.c文件,可以被gcc编译,但是把它后缀改成.txt文件时,就无法编译通过,原因是gcc是一款编译器(软件),Linux系统不看后缀,但是gcc要看后缀的。所以说看不看后缀,取决于软件、用户要不要看。

    2. 文件权限属性

      • r:可读
      • w:可写
      • x:可执行
      • -:对应的权限位置没有权限

      上图中,每3个字母为一组看,前三个是拥有者,中间三个是所属组,最后三个是其他人。
      每三个字母为一组,第一个字母的位置是读权限,第二个字母的位置是写权限,第三个字母的位置是执行权限。这三个位置的含义是固定的(读、写、执行)。

    3. 身份、角色

      拥有者:文件由拥有者创建的
      所属组:希望组内协同,但不想让其他人读写,就可将组员划入所属组
      其他人:除了拥有者和所属组以外,都是其他人
      在进行身份认证的时候,只能认证一个身份,比如某用户既是onwer(r–),又是grope(rw-),此时他只能读不能写,只能认证一个身份:owner。

    4. 但是root不受身份的约束,就算root的身份是其他人,不允许读写,它也能读写。

3. 见一见没有权限会有什么现象(少量实验)

Permission denied

4. 权限的修改问题

只有在root下或者提权的时候才能用下面的指令改。

  1. chmod :修改权限属性

    • chmod u+w,g+w,o-rwx test.txt

    • 对于一个角色,可以用3个二进制数表示权限,比如111,可读可写可执行
      3个二进制可以用一个八进制数表示,所以三个角色就是三个八进制数字。
      chmod 000 test.txt 全无权限
      chmod 777 test.txt 全有权限

  2. chown:修改拥有者

  3. chgrp:修改所属组
    chown AQL:AQL test.txt 一次把拥有者和所属组都改了

5. 其他问题(3个问题)

  1. 创建普通文件的权限是664(rw-rw-r–),目录文件的权限是775(rwxrwxr-x) ,为什么是这样呢?
    权限掩码umask(002):凡是在umask中出现的权限,不会在最终的文件权限中出现。
    Linux默认给普通文件的起始权限是666,目录文件的起始权限是777,在通过umask后,就变成了664和775。
    原默认:110 110 110
    umask:000 000 010
    通过后:110 110 100
    它的算法是:最终权限 = 起始权限&(~umask)

  2. 目录也是文件,它的读、写、执行是什么?
    读权限:能否能读目录内的文件的内容。
    写权限:能否在目录内创建、更改、删除文件。
    可执行权限:是否允许用户进入对应的用户。

  3. 一个文件能否被删除,并不由文件本身决定,而是由它所处的位置决定
    每个用户自己的家目录(如home/AQL),别的用户是不能rwx的。
    在共享的目录下(非家目录),用户A写了个文件,并把权限设置成660,那么用户B就不能r/w它,但是此时用户B可以删除它。
    为了避免这么情况,有一个新的权限位:粘滞位。
    chmod o+t dir 此时other的可执行权限位会从-变成t(粘滞位)。
    粘滞位:大家可以在此目录中进行各自的文件的增删查改,但是只允许文件拥有者和root删除这个文件,其他用户不允许删除。t是一种特殊的x权限!

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值