用户权限管理
    文件目录权限
        访问权限
            可读(read) --》r
            可写(write) --》w
            可执行(excute)  --》x
        归属
            属主
            属组
            其他
    查看文件权限
        ls -al
            常看当前目录下面文件或者文件夹的详细信息,包括文件的权限
        ls -ld
            常看当前目录
        第一列第一个字符
            -
                普通文件
            d
                普通目录
            l
                链接文件
            c
                字符设备文件
            s
                socket
            b
                块设备文件
        第一列第二到第十个字符
            权限控制
              #权限 r 可读 w 可写 x 可执行
   第2-第4个字符  
      表示属主的权限
   第5-第7个字符
      表示属组的权限
   后三个:
       其他人的权限
        第三列
            属主
        第四列
            属组
    操作系统
        进程通信
            管道
            信号
            共享内存
            socket
            消息队列
        进程调度
        文件系统
        内存管理
        网络接口
    执行脚本方式
        [root@mysql-binary ~]# cat test_aa.sh 
        echo "testaa.............."
        echo $a
        echo $b
        [root@mysql-binary ~]# a=1
[root@mysql-binary ~]# b=2
[root@mysql-binary ~]# . test_aa.sh  #使用当前bash去执行test_aa.sh, 会包含当前bash的变量
testaa..............
1
2
        [root@mysql-binary ~]# bash test_aa.sh  #创建一个新的bash环境去执行
testaa..............

[root@mysql-binary ~]# sh test_aa.sh  #创建一个新的sh环境去执行
testaa..............

[root@mysql-binary ~]# ./test_aa.sh  #执行文件本身,没有可执行权限
-bash: ./test_aa.sh: 权限不够
    chmod
        chmod命令
格式1:chmod   [ugoa]  [+-=]  [rwx]  文件或目录...
常用命令选项
-R:递归修改指定目录下所有文件、子目录的权限
        chmod命令
格式2:chmod   nnn  文件或目录...
        [root@mysql-binary ~]# ls -al group_member.sh
-rw-r--r-- 1 root root 317 11月  6 10:48 group_member.sh
[root@mysql-binary ~]# chmod u+x group_member.sh 
[root@mysql-binary ~]# ls -al group_member.sh 
-rwxr--r-- 1 root root 317 11月  6 10:48 group_member.sh
[root@mysql-binary ~]# chmod u-x group_member.sh 
[root@mysql-binary ~]# ls -al group_member.sh 
-rw-r--r-- 1 root root 317 11月  6 10:48 group_member.sh
[root@mysql-binary ~]# chmod u+x group_member.sh 
[root@mysql-binary ~]# ./group_member.sh sanchuang5
sanchuang5,sanchuang11,sanchuang13,sanchuang10,sanchuang12
[sanchuang@mysql-binary ~]$ chmod u+x wenyao -R

[root@mysql-binary ~]# chmod 777 group_member.sh 
[root@mysql-binary ~]# chmod 700 group_member.sh 
[root@mysql-binary ~]# ls -ld group_member.sh 
-rwx------ 1 root root 317 11月  6 10:48 group_member.sh
        修改文件的访问权限
    chown
        chown命令
必须是root
用户和组必须存在
格式:chown  属主   文件
      chown  :属组  文件
      chown  属主:属组  文件
        修改文件的归属权限
        [root@mysql-binary tmp]# chown sanchuang10 sanchuang_log 
[root@mysql-binary tmp]# ls -al sanchuang_log 
-rw-rw-r-- 1 sanchuang10 sanchuang 1116 11月  7 15:14 sanchuang_log
[root@mysql-binary tmp]# chown :sanchuang5 sanchuang_log                                                                                    
[root@mysql-binary tmp]# ls -al sanchuang_log 
-rw-rw-r-- 1 sanchuang10 sanchuang5 1116 11月  7 15:14 sanchuang_log
[root@mysql-binary tmp]# chown sanchuang2:sanchuang sanchuang_log 
[root@mysql-binary tmp]# ls -al sanchuang_log 
-rw-rw-r-- 1 sanchuang2 sanchuang 1116 11月  7 15:14 sanchuang_log
    chgrp
        chgrp命令
格式:chgrp  属组   文件
必须是root或者是文件的所有者
必须是新组的成员
        chmod root和文件所有者
chgrp root和文件所有者(必须是组成员)
chown 只有root
    umask
        规定默认创建文件或者文件夹的权限给多大
        环境设置:/etc/profile

#uid大于199,并且当前用户的group_name和user_name名字相同的时候
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022
fi

id -gn 获取当前用户组名
id -un 获取当前用户名
        在内核级别,文件的初始权限666
在内核级别,文件夹的初始权限777
用umask命令控制默认权限,临时有效

umask为002 则表示新建文件的默认权限为664,新建文件的文件夹权限为775
umask为022 则表示新建文件的默认权限为644,新建文件的文件夹权限为755
        想要修改某个用户的umask,永久修改
在家目录.bashrc下添加umask
/etc/profile , /etc/bashrc 基本上不要更改。
    设置文件或者目录的隐藏属性
        chattr命令: 设置文件的隐藏属性
格式:chattr    [+-=]  [ai]  文件或目录
常用命令选项
-R:递归修改
-a:可以增加文件内容,但不能修改和删除
-i:  锁定保护文件
        [root@mysql-binary pem]# chattr +i hosts  #设置锁定保护文件
[root@mysql-binary pem]# rm -rf hosts
rm: 无法删除"hosts": 不允许的操作
[root@mysql-binary pem]# vim hosts
[root@mysql-binary pem]# mv hosts{,.bak}
mv: 无法将"hosts" 移动至"hosts.bak": 不允许的操作
[root@mysql-binary pem]# ls -al hosts
-rwxr-x--- 1 root root 158 11月  7 16:24 hosts
[root@mysql-binary pem]# lsattr hosts
----i----------- hosts
[root@mysql-binary pem]# chattr -i hosts  #去除锁定
[root@mysql-binary pem]# lsattr hosts 
        
lsattr命令: 查看文件的隐藏属性
格式:lsattr  [Rda]  文件或目录
常用命令选项
-R:递归修改
-d:  查看目录
    粘滞位和set位权限设置
        操作对象  特殊权限  功能
文件  SUID  以文件属主的权限执行文件
      SGID  以文件属组的权限执行文件
文件夹 sticky  文件夹中新建的对象只有root和拥有者可以删除
       SGID  文件夹中新建的对象都属于文件夹的属组

SET位权限
主要用途:
 为可执行(有 x 权限的)文件设置,权限字符为“s”
 其他用户执行该文件时,将拥有属主或属组用户的权限
SET位权限类型:
 SUID:表示对属主用户增加SET位权限
 SGID:表示对属组内的用户增加SET位权限

[root@mysql-binary pem]# ls -ld /pem
drwxr-xr-x 2 root root 47 11月  7 16:49 /pem

让/pem有普通用户创建写入的权限?
1、设置/pem的权限为777
2、设置mkdir suid权限

[root@mysql-binary pem]# chmod u+s /bin/mkdir
[root@mysql-binary pem]# su - sanchuang
上一次登录:六 11月  7 16:56:31 CST 2020pts/11 上
-bash: /tmp/sanchuang_log: 权限不够
[sanchuang@mysql-binary ~]$ cd /prm
-bash: cd: /prm: 没有那个文件或目录
[sanchuang@mysql-binary ~]$ cd /pem
[sanchuang@mysql-binary pem]$ ls
hosts  passwd  shadow
[sanchuang@mysql-binary pem]$ mkdir aa
[sanchuang@mysql-binary pem]$ ls
aa  hosts  passwd  shadow

粘滞位权限(Sticky)
主要用途:
 为公共目录(例如,权限为777的)设置,权限字符为“t”
 用户不能删除该目录中其他用户的文件

应用示例:/tmp、/var/tmp
[sanchuang10@mysql-binary ~]$ touch /tmp/sanchuang10  
[sanchuang@mysql-binary ~]$ touch /tmp/sanchuang
[sanchuang10@mysql-binary ~]$ rm -rf /tmp/sanchuang  #sanchuang10用户不能删除sanchuang用户创建的文件
rm: 无法删除"/tmp/sanchuang/aa": 权限不够

设置SET位、粘滞位权限
使用权限字符
 chmod  ug±s  可执行文件...
 chmod  o±t  目录名...
使用权限数字:
 chmod  mnnn  可执行文件...
 m为4时,对应SUID,2对应SGID,1对应粘滞位,可叠加

[root@mysql-binary pem]# chmod 1777 /pem
[root@mysql-binary pem]# ls -ld /pem
drwxrwxrwt 3 root root 57 11月  7 17:11 /pem
[root@mysql-binary pem]# ls -ld /bin/mkdir
-rwxr-xr-x. 1 root root 79768 8月  20 2019 /bin/mkdir
[root@mysql-binary pem]# chmod 4755 /bin/mkdir
[root@mysql-binary pem]# ls -ld /bin/mkdir
-rwsr-xr-x. 1 root root 79768 8月  20 2019 /bin/mkdir
[root@mysql-binary pem]# chmod 755 /bin/mkdir

linux权限管理详解相关推荐

  1. linux权限管理详解,linux权限管理详解-Go语言中文社区

    普通权限 -rw-r–r--. 1 root root 0 Feb 14 23:33 test 第1位标识文件类型: -:普通文件 b:块设备 c:字符设备 d:目录 l:符号链接 s:套接字文件 p ...

  2. Linux账号和权限管理详解(超详细示例操作)!

    Linux账号和权限管理详解 一.用户账号和组账号概述 1.1 Linux基于用户身份对资源访问进行控制 1.2 用户账号 1.3 组账号 二.用户账号文件 2.1 用户账号文件 /etc/passw ...

  3. Linux用户管理详解大结局(下)

    Linux用户管理详解(下) 我们已经可以通过创建不同的用户来防止其他人使用自己的账号,之后每个账户对应一个单独的用户密码,构成了一个基本的用户管理思路.为了方便管理还可以使用组来设置相同属性的用户. ...

  4. kubernetes(k8s)之rbac权限管理详解

    kubernetes(k8s)之rbac权限管理详解 RBAC简介 RBAC(Role-Based Access Control) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 ...

  5. linux权限数字详解

    linux权限数字详解 1.常用linux文件权限: 444 r–r--r– 600 rw------- 644 rw-r–r-- 666 rw-rw-rw- 700 rwx------ 744 rw ...

  6. Shiro权限管理详解(授权和注解开发)【面试点】

    Shiro权限管理详解 1. 权限管理 1.1什么是权限管理 1.2用户身份认证 1.2.1 概念 1.2.2 用户名密码身份认证流程 1.2.3 关键对象 1.3 授权 1.3.1 概念 1.3.2 ...

  7. Linux DAC 权限管理详解

    文章目录 1. 背景简介 2. 主体(subject) 2.1 用户 2.2 进程 2.2.1 凭证(credentials) 2.2.2 uid/suid/euid/fsuid 2.2.3 初始ui ...

  8. Linux—目录文件属性和权限管理详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   Linux中了解用户和用户组概念后,我们就需要对文件目录进行赋权操作,以便于文件访问权限的管控,这就涉及到文件的属性,那用户和用 ...

  9. linux系统日志管理详解

    了解 日志文件记录了时间,地点,人物,事件四大信息,故系统出现故障时,可以查询日志文件. 系统的日志文件默认都集中放置到/var/log/目录内,其中又以message记录的信息最多. 日志文件的重要 ...

最新文章

  1. 调剂女人身材的十种食物
  2. c语言return 11,二级C语言教程章节测试11.对函数的进一步讨论
  3. boost::rethrow_exception相关的测试程序
  4. VTK:几何对象之Pyramid
  5. 自主生态再进一步,龙芯中科完成.NET3.1-LoongArch64平台研发
  6. scp构造端口_指定端口号的scp
  7. 如何直观的看出主题模型学习结果的好坏
  8. WebRequest msdn整理
  9. Masonry 控件详解
  10. python多进程间通信
  11. FPS游戏自动枪械识别+压枪(以PUBG为例)
  12. 分享李刚javaweb跟webservice视频教程
  13. [深度学习] Python人脸识别库face_recognition使用教程
  14. Androidx和Android support库共存问题解决
  15. react全家桶介绍
  16. qt的cross comple相关
  17. 微信小程序开发案例2---省市区信息选择
  18. web界面配置视频 华为ac_华为AC控制器管理AP配置
  19. Calibre for Mac v5.29.0电子书阅读管理工具
  20. HTML中的单选按钮实现男女性别选择

热门文章

  1. 微信小程序搜索,搜索历史,清除搜索历史,以及点击搜索历史实现搜索功能
  2. 星星之火OIer:对拍
  3. excel筛选时保留下面某些行不被筛选
  4. IDEA报错:不支持发行版本
  5. pat 乙级 1094
  6. python快递费用计算_Python实现快递查询
  7. python 爬取腾讯漫画
  8. 没有 XXX 的手册页条目
  9. 这是我见过最通俗易懂的MES与ERP介绍文章,带你剖析工业4.0!
  10. c语言中大写字母A转小写,C语言 | 大写字母A转换为小写a