我的朗科运维第五课

author author     2022-08-26     570

关键词:

为了更好地保护系统的安全,linux系统中采用了用户权限管理。

其中用户的权限分为:普通权限、特殊权限、文件的特殊权限、FACL。

    普通权限:

        进程安全上下文:

            1、判断进程的所有者是否为想要操作的属主,如果是,就按照属主的权限进行授权;如果不是,就转到第二条;

            2、判断进程的所有者是否为想要操作的文件的属组中的成员,如果是,就按照属组的权限进行授权;如果不是,就转到第三条;

            3、按照其他用户的权限进行授权;

        权限的构成:

            MODE(Permission):使用权

                r:Readable:可读

                w:Writable:可写

                x:eXecutable:可执行

                相对于目录来说:

                r:可以使用ls命令获得其中所有的文件名的列表;ls -l命令获取目录中详细的属性信息,也不能使用cd命令进入其中,也不能在路径中引用该目录;

                w:可以修改目录中的文件名或文件列表,即:可以在此目录中创建、修改或删除文件名;

                x:可以使用ls -l命令来获取其中的文件的详细属性信息,也可以在路径中引用该目录;也可以使用cd命令来进去其中;x权限是目录的最基本权限,任何目录都必须对任何用户开放x权限,否则,用户就无法进入该目录中;

            文件:

                r:可以查看或获取该文件中存放的数据;

                w:修改文件中存放的数据;

                x:可以将此文件发起运行位进程;

            权限表示三元组:

                ---    000    0

                --x    001    1

                -w-   010    2

                -wx   011    3

                r--     100    4

                r-x     101    5

                rw-    110    6

                rwx    111    7

            注意:只有某个文件的属主才能修改文件的使用权(root除外);

                修改文件的使用权限:

                    chmod --> change mode :chmod - change file mode bits

                        chmod [OPTION]... MODE[,MODE]... FILE...

                            MODE:符号权限标识法;

                            例如:chmod u+w file

                        注意:文件的执行权限;对Linux的文件系统来说,是非常重要的安全的标识;

                                    因为一旦文件具备执行权限,意味着该文件可以被发起执行为进程;

                                    所以默认情况下,文件都不具备执行权限;

                    chmod [option]... OCTAL-MODE FILE....

                            如果使用八进制数字表示法,则每次必须给足所有权限位;如果给的权限位不完整,文件系统会自动补足,自己给的权限会放在右侧,左侧用0来补;

                    chmod [OPTION]... --reference=RFILE FILE...

                        chmod --reference=/PATH/TO/SOMEFILE DES_FILE

                       l例子: chmod --reference=a b

                    选项:

                        -R :将目标目录中的文件及目录和子目录中的文件统一设置为指定的权限标识;

             OWERSHIP:所有权

                    属主:资源掌控的某个特定用户:owner(user),u

                    属组:资源掌控的某些特定用户:group,g

                    其他用户:未曾掌控资源的那些用户;other,o

                   全部用户:all,a

                    chown:可以修改文件的属主和属组;

                        chown [option]... [owner][:[group]] file...

                            chown owner file

                            chown :group file

                            chown owner: file

                            chown owner:group file

                        chown [option]... --reference=RFILE file...

                        -R :将目标目录中的文件及目录和子目录中的文件统一设置为指定的所有权;

                        注意:修改ownership操作只有超级用户(root)可以完成;

                    chgrp:只能修改文件的属组;

                            chgrp -change group owneship

                            chgrp [option]... group file...

                            chgrp [option]... --reference=RFILE FILE...


                install命令:

                    安装:复制文件;为文件赋予执行权限

                    copy files and set attributes

                    单源复制:

                    install [OPTION]... [-T] SOURCE DEST

                    多源复制:

                    install [option]... SOURCE... DIERCTORY

                    install [OPTION]... -t DIRECTORY SOURCE...

                    创建目录:

                    install [OPTION]... -d DIRECTORY...

                    常用选项:

                        -m:指定目标文件的权限,默认为755;

                        -o:设定目标文件的属主:仅root可用

                        -g:设定目标文件的属组:仅root可用

                    注意:install命令不能复制目录,即其源不能为目录;如果其原为目录,则install命令会进入目录,一次复制其中的所有非目录文件到目标位置;

                mktemp命令:

                    一般来讲:临时文件都会创建在/tmp或/var/tmp目录中;无需手动删除,系统会定期自动清除这两个目录中的文件;

                    -d:创建临时目录;、

        特殊权限:SUID、SGID、STICKY

            默认情况下,用户发起执行一个进程,该进程的属主是其发起者:也就是说,该进程是以其发起者的身份运行;

            SUID:用户发起执行一个进程时,该程序文件如果拥有SUID权限的话,那么此程序发起的进程其属主为该程序文件的属主,而不是其发起者;该权限的显示位在文件的属主权限中的执行权限位;如果属主本来就有执行权限,显示为s,否则显示为S;

            SGID:如果某个目录对于一些用户有写权限并且设置了SGID权限时,则所有对此目录有写权限的用户在创建的文件或目录以后,新文件的数组不再是创建用户的基本组,而是继承了该目录的属组;该权限的显示为在文件的属组权限中的执行权限为,如果数组本来就至此那个权限,显示为s;否则显示为S;

           

STICKY的功能作用:

            如果为上述类似的目录设置了STICKY权限,则每个用户人就有能够创建和修改文件名,但每个用户只能删除那些属主为其自身的文件名;

            STICKY权限的显示位置:在文件权限的其他用户的执行权限位;如果原来就有至此那个权限,则显示为t;否则,显示T;

            suid sgid sicky

            ---   000  0

            --t   001  1

            -s-   010  2

            -st   011  3

            s--   100  4

            s-t   101  5

            ss-   110  6

            sst   111  7

            

            特殊权限的另一种修改方式:

                将特殊权限对应的八进制数字放置于普通权限八进制数字的前面即可;

                例如:想要给某个目录加上粘滞位:

                chmod 1755 DIRECTORY...

    umask

        权限遮罩码:在创建文件或目录是默认的权限生成标准;

                不考虑特殊权限位

                对于新创建的文件或目录,不遮挡属主的任何权限,遮住了属组的写权限和其他用户的写权限;

                [[email protected] ~]# mkdir test --> rwxr-xr-x

                [[email protected] ~]# mkdir test.txt --> rw-r--r--    

                理解遮罩码:

                    将遮罩码的值变为二进制,凡是有1的位置,其权限在创建文件是,就不设置;

                    默认情况下,文件的遮罩码已经有了一个0111,在此基础之上再次应用umask来遮罩权限

    文件的特殊属性:

        查看文件的特殊属性:

        管理文件的SUID权限:

            lsattr - list file attributes on a Linux second extended file system

            lsattr [ -RVadv ] [ files...  ]

        修改设置文件的特殊属性:

            chattr:change file attributes on a Linux file system

            chattr [ -RVf ] [ -v version ] [ mode ] files...

            mode:会使用+-=的方式来设置;

            整个chattr最关键最核心的设置就是[mode]部分;

            [aAcCdDeijsStTu]都是所需要的属性;

            +:杂原有属性设定的基础上,添加新属性;

            -:杂原有属性设置中移除指定的属性;

            =:不考虑原有的属性设置,直接将文件的属性更新为指定的属性内容;

            a:append,设置这个属性的文件,其内容不能被更改和删除,只能以追加的方式向文件中写数据;多数的服务器日志文件会设置为此属性;

            A:atime,文件的访问时间戳;IO瓶颈,设置A属性,可以使得文件在被访问时不更改文件的访问时间戳,从而可以有效的防止IO瓶颈的发生;

            c:设置文件是否自动压缩后再行存储;

            C:设置文件是否开启“写时复制”属性;

            d:设置文件在使用dump进行备份的时候,不会成为备份目标;

            D:设置文件在文件系统中的异步写操作

            i:设置文件不能被删除、修改、设定链接关系;

            s:设置文件的保密性删除,一旦设置s属性的文件被删除,其对应存储设备中的使用空间会被一并收回;

            u:跟s属性相反,如果这样的文件被删除,则其存储与存储设备中的数据会被保存;

            常用的属性:i和a

            chattr +i FILE

        常用选项:   

            -R:递归的设置指定目录中的所有文件和子目录的属性

为文件赋予额外的权限机制:FACL:File Access Control List,文件访问控制列表

    文件的额外赋权机制:

        在原有的u,g,o权限位之外,让普通用户能够控制权限赋予另外的用户和组的一种赋权机制;

        一般在Centos或RHEL7版本以后的发行版中,才逐渐成熟;

        与FACL有关的命令:

        getfacl: get file access control lists

            getfacl [-aceEsRLPtpndvh] file ...

                user: USERNAME:MODE

                group:GROUPNAME:MODE

                other::MODE 

            getfacl [-aceEsRLPtpndvh] -

        setfacl: set file access control lists

            setfacl [{-m|-x} acl_spec]  file ...

            acl_spec: acl_specification, 指定的访问控制列表

                u:USERNAME:MODE

                g:GROUPNAME:MODE

                    MODE:一般使用符号权限标识法;

                为用户赋予额外权限:

                    setfacl -m u:USERNAME:MODE FILE...

                为组赋予额外权限:

                    setfacl -m g:GROUPNAME:MODE FILE...

                撤销为用户赋予的额外权限:

                    setfacl -x u:USERNAME

                撤销为组赋予的额外权限:

                    setfacl -x g:GROUPNAME

            注意:如果设置了FACL之后在修改目标文件的使用权限,那么FACL中设置的条目就可能收到影响而导致与要求不符;因此,如果真的需要设置FACL,就要在已经确定目标文件的使用权限以后再行设置;

我的朗科运维第四课

用户和组的管理    所采用的认证为Cisco开发的AAA认证体系:        Authetication:认证,核实身份是否正确;        Authorization:授权,对已经核实身份 查看详情

我的朗科运维第八课

shell编程之执行结构case分支选择结构:    case词in[模式[|模式]...)命令;;]...esac    case变量引用in            模式1)   查看详情

我的朗科运维第一课

初学linux系统,得先知道命令格式:COMMANDOPTIONSARGUMENIS[PARAMETERS]必须得先学会以下这些命令:type    查看命令是属于内部命令还是外部命令help    查看内部命令的帮助man    查看外部命令... 查看详情

我的朗科运维第六课

文本处理三剑客    grep系:grep、egrep、fgrep,文本搜索工具,居于“PATTERN”对于给定的文本进行模糊搜索。    sed:treamEDitor,流编辑器,行编辑器,文本编辑工具;    awk:gawk--GNUawd,... 查看详情

运维第五单元

第五单元 一用户概念 用户就是系统使用者的身份在系统中用户存储为若干字符串+若干个系统配置文件用户的存在是为了安全组的存在是为了共享用户信息涉及到的系统配置文件:/etc/passwd:      存... 查看详情

运维第六单元

一文件权限 1文件属性的查看 ls -l filenamels -ld directory将用户身份切换到普通用户(例:student),此时要在/mnt下建立一个文件则会被拒绝没有权限,用ls-ld/mnt/查看目录属性,则出现:drwxr-xr-x.2rootroot6may132014... 查看详情

网络运维第1章

OSI七层网络参考模型应用层-------------服务于最终用户计算机的一个接口表示层------------数据的表示,加密,安全等会话层------------建立会话,管理断开会话传输层-----------定义数据传输的协议,端口。以及流量控制和差验校错网... 查看详情

第五课进程管理

unix_c_05.txt================第五课进程管理================一、基本概念------------1.进程与程序~~~~~~~~~~~~~1)进程就是运行中的程序。一个运行着的程序,可能有多个进程。进程在操作系统中执行特定的任务。2)程序是存储在磁盘上,包含... 查看详情

自学运维第二篇:rsync同步配置步骤

rsync服务器配置步骤:1、vi/etc/rsyncd.conf#Rsyncserver#createdbylijianfeng18:262017-9-24#rsyncd.confstart#uid=rsyncgid=rsyncusechroot=nomaxconnections=2000timeout=600pidfile=/var/run/rsyncd.pidlockfile=/var/ru 查看详情

第五课:创建downloadable系统应用

目录2.2.3创建DownLoadable系统应用2.2.3.1DownLoadable概述2.2.3.2创建DownLoadable工程(zynq7000)2.2.3.3创建DownLoadable工程(P2020) 查看详情

ios第五课——gestureandtableview

这一次我们要学习Gesture、TableView、AlertView三种技术。一、Gesture在iOS中,可以使用系统内置的手势识别(GestureRecognizer),也可以创建自己的手势。GestureRecognizer将低级别的转换到高级别的执行行为,然后绑定到view的对象,所以... 查看详情

程序的执行流程和开发工具介绍-第五课

查看详情

7.5-uc-第五课:进程管理

================第五课 进程管理================一、基本概念------------1.进程与程序~~~~~~~~~~~~~1)进程就是运行中的程序。一个运行着的程序,  可能有多个进程。进程在操作系统中执行特定的任务。2)程序是存储在磁盘上,&nb... 查看详情

vba学习第五课

Subshishi()DimrngAsRangeForEachrngInRange("b2:b20")Ifrng.Offset(0,-1)="男"Thenrng="先生"Else:rng="女士"EndIfNextEndSub  Subshishi()DimiAsIntegerFori=1ToRange("a65536").End(xlUp).RowIfSheet1.Range("d"&i 查看详情

第五课:流与其他

首先参考自:http://blog.csdn.net/hguisu/article/details/7418161一.文件输入输出字节流/**文件名:fileInputStreamTest.java*功能:读取文件并显示到控制台*/packageIOTest;importjava.io.*;publicclassfileInputStreamTestpub 查看详情

重学java基础第五课:博客的重要性

   查看详情

重学java基础第五课:博客的重要性

   查看详情

运维第一单元练习题

<<<第一单元练习题>>>1.用student用户登陆系统图形界面 650)this.width=650;"src="https://s2.51cto.com/wyfs02/M01/8F/68/wKiom1jc71DCPQ-oAAAwjgfW5kc793.png-wh_500x0-wm_3-wmp_4-s_2614519741.png"title="S 查看详情