目录
一、 linux下的用户
1. linux是一个多用户系统,linux允许使用者在linux系统上通过规划不同类型,不同层级的用户,并公平地分配系统资源与工作环境。不仅如此,和windows不同的是,linux允许不同的用户同时登陆主机,同时使用主机的资源,因此linux被称为是多用户系统。
2. linux以“用户与用户组”的概念,建立用户与文件权限之间的联系,保证系统能够充分考虑每个用户的隐私保护,很大程度上保证了linux作为多用户系统的可行性。
二、 root用户
· root用户在linux计算机中拥有全部权限。
· 在linux中执行涉及到系统的命令一般都需要root权限,尤其是影响系统文件的命令。
· 由于root权限如此强大,所以建议只有必要时才使用,而不是直接以 root用户身份登录,这样 可以避免重要系统文件意外受损。
· 使用root用户创建新的用户,并授予必要的权限,在日常工作中使用对应的普通用户进行工 作。
三、用户组
· 在linux中可以创建用户组来管理用户
· 根据功能分类,可以分为:管理员组和普通用户组
· 按类别分类,可以分为:基本组和附加组,一个用户只能有一个基本组,但可以偶遇多个附加组
·按组本身的类别分类:公共组和私有组。私有组只有一个用户,且组名和用户名一致;公共组会有多个用户.
四、Linux普通权限
linux的权限组成
·linux下权限可以分为三类:User权限(u),Group权限(g),Other权限(o)
·User权限表示文件所有者;
·Group权限表示文件所有者所在的组
·Other表示所有其他用户
linux的权限分类
· linux将权限分为Read(读),Write(写),Execute(执行)三个不同的基本类别
·Read都权限表示:
·针对目录,有读(r)权限就代表对此目录有列表功能,就是可以执行ls命令进行查看,另外还有cp的功能。针对文件,有读(r)权限就代表对此文件有阅读的功能,可以通过cat命令查看文件内容。
·Write写权限表示:
·针对目录,有写(w)权限就代表着在此目录下创建文件和目录,可以通过touch,mkdir等命令创建文件和目录,另外还可以删除此目录下的文件。针对文件,有写(w)权限就代表着对此文件可以写入新的内容和修改文件内容。
·Execute执行权限表示:
·针对目录,有执行(x)权限就代表能进入此目录,利用cd等命令进入此目录 针对文件,有执行(x)权限就代表可以执行此文件。
五、linux的文件与文件夹权限
·在linux中,可以使用umask查看当前用户的默认权限,创建文件、目录时会遵循该权限
·在文件夹权限和文件权限的不同,会导致在使用命令操作文件时,有所不同。
文件权限
·对于文件而言
· - r 表示文件的内容可以被读取
· -w 表示这个文件的内容可以被修改。(w只授予文件修改的权限,如果要删除/重命名,则需要有目录的w权限)
· -x 代表文件可以被执行,一般情况下,.sh文件需要有这个权限。
文件夹权限
·对于文件夹而言
· - r 表示可以查看此文件夹的文件名列表
· - w 表示可以对此文件夹下的文件进行删除/重命名/移动
· - x 表示可以将此文件夹作为working dir ,或者说表示可以cd到这个文件夹中
修改文件权限
· chmod
修改文件的属主
·chown命令可以修改文件的属主
六、linux中的特殊权限
SUID
·suid时Set UID的简称,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限
SUID的使用需要满足以下四点
1.SUID只对二进制文件有效
2.调用者对该文件有执行权
3.在执行过程中,调用者会暂时活得该文件的所有者权限
4.该权限只在执行过程中有效
SGID
·SGID是Set GID 的简称,它出现在文件所属组权限的执行位上面,它对普通二进制文件和目录都有效。
·SGID作用于文件上时,在执行该文件时,用户获得该属组的权限;
·SGID作用于目录上时,在该目录下创建的文件,都将属于这个目录所属的组。
SBIT
·SBIT即Sticky Bit ,它出现在其它用户权限的执行位上,它只能用来修饰一个目录。
·当某一个目录拥有SBIT权限时,则任何一个能够在这个目录下创建文件的用户,该用户在这个目录下所创建的文件,只有该用户和root可以删除,其他用户均不可以。
如何设置SUID , SGID ,SBIT
数字方式
·SUID ,SGID ,SBIT有自己对应的权限数字
· SUID -> 4
· SGID ->2
· SBIT ->1
· 设定权限只需要将对应的权限数字相加即可
·在设置权限时,需要将特殊权限数字放在最前面,如果原文件权限为755,
需要添加SUID权限时,就执行命令 chmod 4755 filename
命令方式
· chmod u+s testfile # 为 testfile 文件加上SUID权限。
·chmod g+s testfile # 为 testfile 文件加上SGID权限。
·chmod o+s testfile # 为 testfile 文件加上SBID权限。