Browse Source

update::linux札记补充"特殊权限管理"

tujidelv 7 years ago
parent
commit
dbcee6c4e2

+ 56 - 5
source/_posts/os-linux-basic.md

@@ -787,9 +787,16 @@ dpt:debian,ubuntu
 	Authorization(授权)
 	Audition(审计)
 Linux安全上下文:
-	进程的执行是以进程发起者的身份运行,进程对文件的访问权限,取决于发起此进程的用户的权限
+    前提:文件有属主和属组,进程也有属主和属组。
+	进程的执行是以进程发起者的身份运行,进程对文件的访问权限,取决于发起此进程的用户的权限。
+        (1)任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否拥有执行权限;
+        (2)启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组;
+        (3)进程访问文件时的权限,取决于进程的发起者。
+            (a)进程的发起者,同文件的属主,则应用文件属主权限;
+            (b)进程的发起者,属于文件的属组,则应用文件属组权限;
+            (c)否则应用文件"其他"权限。
 ```
-- 用户类别:Username/UID
+- ***用户类别:Username/UID***
     ```
     管理员
     普通用户
@@ -817,7 +824,7 @@ Linux安全上下文:
     				directory:用户的家目录
     				shell:用户的默认shell,登录时默认shell程序
     ```
-- 组:Groupname/GID,将多个用户和某一类权限建立关联关系
+- ***组:Groupname/GID,将多个用户和某一类权限建立关联关系***
     ```
     组类别1:
     	管理员组
@@ -845,7 +852,7 @@ Linux安全上下文:
     	私有组:组名同用户名,且只包含一个用户
     	公共组:组内包含了多个用户
     ```
-- 认证信息:通过比对事先存储的与登录时提供的信息是否一致
+- ***认证信息:通过比对事先存储的与登录时提供的信息是否一致***
     ```
     password: 
     	/etc/shadow:用户密码及其相关属性
@@ -880,7 +887,7 @@ Linux安全上下文:
     		密码加密时为了避免多个用户密码相同时密码一样,真正在计算之时加salt,添加随机数。而且不是以16进制数字保存的,而是以文本编码以后存放的(任何文本字符)
     ```
     ![抱歉,图片休息了](os-linux-basic/os-linux-basic-002.png)
-- 权限管理
+- ***权限管理***
     ```
     文件的权限主要针对3类对象进行定义:
     	owner:属主,u
@@ -902,6 +909,50 @@ Linux安全上下文:
     	DIR:777-umask
     ```
     ![抱歉,图片休息了](os-linux-basic/os-linux-basic-003.png)
+    
+- ***Linux文件系统上的特殊权限***
+    ```
+    SUID:
+        (1)任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否拥有执行权限;
+        (2)启动为进程之后,其进程的属主为原程序文件的属主。
+
+        权限设定:
+            chmod u+s FILE...
+            chmod u-s FILE...
+    SGID:
+        (1)默认情况下,用户创建文件时,其属组为此用户所属的基本组;
+        (2)一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组。
+
+        权限设定:
+            chmod g+s DIR...
+            chmod g-s DIR...
+    STICKY:
+        (1)对于一个多人可写的目录,即便对别人的文件没有写权限也可以删除它,
+        (2)如果设置了sticky,则每个用户仅能删除自己的文件。
+    
+        权限设定:
+            chmod o+t DIR...
+            chmod o-t DIR...
+    ----------------------------------------
+    3个特殊权限[SUID SGID STICKY]组合在一起当作一个特殊权限,也映射为一个8进制数字
+        chmod 1777 /tmp/a.txt   拥有rwx的同时,拥有STICKY权限
+        chmod 3777 /tmp/a.txt   拥有rwx的同时,拥有SGID,STICKY权限
+        chmod 4777 /tmp/a.txt   拥有rwx的同时,拥有SUID权限
+    ----------------------------------------
+    几个权限位映射:
+        SUID:owner,占据属主的执行权限位
+            s:属主拥有x权限
+            S:属主没有x权限
+        SUID:group,占据属组的执行权限位
+            s:属主拥有x权限
+            S:属主没有x权限
+        SUID:other,占据其他的执行权限位
+            s:其他拥有x权限
+            S:其他没有x权限
+    ```
+    ![抱歉,图片休息了](os-linux-basic/os-linux-basic-004.png)
+    ![抱歉,图片休息了](os-linux-basic/os-linux-basic-005.png)
+    ![抱歉,图片休息了](os-linux-basic/os-linux-basic-006.png)
 
 ### bash的配置文件
 

BIN
source/_posts/os-linux-basic/os-linux-basic-004.png


BIN
source/_posts/os-linux-basic/os-linux-basic-005.png


BIN
source/_posts/os-linux-basic/os-linux-basic-006.png