Linux权限

Linux权限

对人操作

  • Linux下可以同时存在多个用户
  • Linux是一个多用户操作系统

root:只有一个,具有Linux下的最高权限(一般不受权限约束)

普通用户:可以有多个,要受权限的约束

root < --切换-- > 普通用户,就是在切换我当前的权限!

如何进行权限切换:1. su - (切换成root) 2. su username (切换成你要的用户)

[hmy@VM-8-15-centos ~]$ su -
Password:                 //输入root用户的密码
Last login: Tue Nov 28 11:26:05 CST 2023 from 171.105.241.39 on pts/1
Last failed login: Fri Dec  1 16:18:42 CST 2023 from 74.94.234.151 on ssh:notty
There were 783 failed login attempts since the last successful login.
[root@VM-8-15-centos ~]# whoami
root

对角色和文件操作

权限的核心 = 人 + 事物属性

改文件

认识一下Linux下文件的权限

  1. Linux权限_第1张图片
  2. Linux权限_第2张图片
    other不会被记录上去
  3. Linux权限_第3张图片
    共9位,三个字符为一组分别代表owner(拥有者)、group(所属组)、other的权限。
    权限为:r(读)、w(写)、x(执行)。 -表示没有该权限
[hmy@VM-8-15-centos langlang]$ chmod u-rw yxl.txt //拥有者减去rw权限
[hmy@VM-8-15-centos langlang]$ chmod u+r yxl.txt  //拥有者加上r权限
[hmy@VM-8-15-centos langlang]$ chmod u+rw,u-x yxl.txt  //拥有者加上rw权限,减去x权限
//如果要对group操作将u换成g,对other操作将u换成o
[hmy@VM-8-15-centos langlang]$ chmod u+rw,g-x,o+x yxl.txt  //同时对拥有者、所属组、other操作
[hmy@VM-8-15-centos langlang]$ chmod a-rwx yxl.txt  //减去所有人对文件的所有权限
[hmy@VM-8-15-centos langlang]$ chmod 777 yxl.txt  //减去所有人对文件的所有权限 7->111 对应rwx

root不受以上权限的约束,还可以更改其权限

改人

chown、chgrp,更改拥有者或所属组需要提升权限

  1. 通过root修改文件的拥有者和所属组:

    Lroot@VM-O-3-centos lesson4]# chown xjh myfile.txt //root用户下更改拥有者
    Lroot@VM-0-3-centos lesson4]# chgrp xjh myfile.txt //root用户下更改所属组
    
  2. 通过普通用户修改文件的拥有者和所属组:

    sudo:执行后续命令,以root权限级别来执行

    如果用户想执行sudo,提升权限,需要该用户在信任列表里面,才可以执行sudo,添加用户到信任列表是需要root身份的!

    [hmy@VM-8-15-centos langlang]$ sudo chmod whb yxl.txt //普通用户下更改拥有者
    [hmy@VM-8-15-centos langlang]$ sudo chmod whb:whb yxl.txt //普通用户下更改拥有者和所属组
    

常见权限问题

  1. 目录权限

    查看目录下面的文件列表:r

    在目录下创建文件或目录:w

    进入目录:x

    注意:删除一个文件需要的是该文件所在目录的w权限,与文件权限无关

  2. umask 权限掩码

    为何我们创建一个目录或者文件,默认权限是你所看到的目录(775)、文件(664)?

    1. 目录起始权限是从777,普通文件起始权限是从666

    2. 最终权限 = 起始权限 & (~umask)

      [hmy@VM-8-15-centos ~]$ umask
      0002
      

      我们只取后三位。所以775=777&(~002),

      664=666&(~002)

    我们可以自己设置umask

    [hmy@VM-8-15-centos ~]$ umask 0777
    [hmy@VM-8-15-centos ~]$ umask
    0777
    
  3. 粘滞位

大家所有用户都在一个共同的路径下,对该目录具有读写执行权限

  1. 当多个用户共享一个目录,需要在该目录下,进行读写,创建删除文件
  2. 但是自己不但可以删除自己的文件,也可以删除别人的文件。

为了解决这种情况,就有了粘滞位。(自己可以删除自己的文件,但是不能删除别人的文件)

[root@VM-8-15-centos ~]# chmod +t mytemp
[root@VM-8-15-centos ~]# ll
drwxrwxrwt 2 root root4096 Jul 2015:07 mytemp
//other的x权限变成了t,这个t就叫做粘滞位权限

注意:

  • 粘滞位只能给目录设置
  • 一般是谁设置,谁才能取消(root不受影响)

entos ~]# ll
drwxrwxrwt 2 root root4096 Jul 2015:07 mytemp
//other的x权限变成了t,这个t就叫做粘滞位权限


注意:

- 粘滞位只能给目录设置
- 一般是谁设置,谁才能取消(root不受影响)

你可能感兴趣的:(linux)