• Linux下的权限管理


    Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。

    Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。

    Linux下权限的粒度有

    拥有者 、群组 、其它组 三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组,

    如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。

    在装Linux下的oracle我们就会进行这种设置,因为这样更安全。我们会创建一个oracle账号,然后让他属于一个组给他丢过去

    其实你会发现我们Linux下进程都能细分得厉害,而且还告诉你了。windows下你可能看到的就是Administrator或者system在用,然后进程ID和CPU使用情况

    mysql     4171  0.0  5.2 1209972 98288 ?       Sl   Jun27  23:46 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock

    我在mac os下使用mkdir函数,你必须指定权限,而且不是755,而是mkdir(tmp,0755) 是我想去仔细了解这个问题的原因

    更改权限我们要给定权限,我们使用chmod命令,如果你使用过Linux服务器,相信你一定用过。因为图形界面你是无法设置权限的,其实图形界面也是Linux下插件,是附加品

    chmod [可选项](具体请man)

    u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。[+-=]

    + 表示增加权限,- 表示取消权限,= 表示唯一设定权限。[rwxX]

    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

    设置当前目录下的所有档案与子目录皆设为任何人可读写

    chmod -R a+rw *

    -R表示递归,和rm -r一样的

    我们常用的是用数字区修改

    我们规定 数字 4 、2 和 1表示读、写、执行权限,即 r=4,w=2,x=1

    如果这一位要都有就加起来,其实很好理解,其实一个长度为3的二进制数

    [root@BobHuang opt]# ls -l

    total 12

    drwxr-xr-x 5 root root 4096 Jun 27 14:52 blog

    drwxr-xr-x 3 root root 4096 Jun  9 09:16 HexGame

    drwxr-xr-x 5 root root 4096 Jul 22 20:19 www

    你能算出这个权限是什么数字吗,就是731,非常简单

    表示所有者可读可写可执行,同组用户可读可执行,其他用户可执行,这个文件是root组下root拥有的

    这个比较简单,那么第一位代表什么呢,也就是这个dr

    这个叫做Linxu附加权限。包括 SET位权限(suid,sgid)和粘滞位权限(sticky)。

    SUID相关说明:

      1. 启动为进程之后,其进程的属主为原程序文件的属主;
      2. 只能作用在二进制程序上,不能作用在脚本上,且设置在目录上无意义 ;
      3. 执行suid权限的程序时,此用户将继承此程序的所有者权限;  

    SGID相关说明:

    作用在二进制程序上时:执行sgid权限的程序时,此用户将继承此程序的所属组权限作用于目录上时:此文件夹下所有用户新建文件都自动继承此目录的用户组

    粘滞位权限:

    粘滞位权限即sticky。一般用于为目录设置特殊的附加权限,当目录被设置了粘滞位权限后,即便用户对该目录有写的权限,也不能删除该目录中其他用户的文件数据。设置了粘滞位权限的目录,是用ls查看其属性时,其他用户权限处的x将变为t。

    suid 的八进制数字是4

    sgid 的代表数字是 2

    sticky 位代表数字是1

    但是不需要就不设置了,不是很安全。但是Linux运维肯定会用到这些东西吧,因为你往往有很多用户,而且有些程序是要所有用户都要可以用的,但是有些东西又要分权限

  • 相关阅读:
    spring mvc ajax请求
    spring mvc 返回页面数据
    spring mvc 参数传递的三种方式
    spring mvc 注解示例
    spring mvc handler的三种方式
    MyBatis 一级、二级缓存
    MyBatis 调用存储过程
    MyBatis动态SQL与模糊查询
    spring mvc 注解入门示例
    MyBatis 一对多关联查询
  • 原文地址:https://www.cnblogs.com/BobHuang/p/11318829.html
Copyright © 2020-2023  润新知