14 用戶組和權限管理4

14 用戶組和權限管理4

一、雜項知識整理

1、groups 查看用戶所屬組列表

[user1@localhost ~]$ groups
user3 user1

2、文件屬性:-rw-r–r–. 1 root root 0 8月   3 07:56 cgroup.clone_children

             權限 引用計數 所有者 所屬組 大小 創建時間 文件名

    r:可使用文件查看類工具獲取其內容

    w:可修改其內容

    x:可以把此文件提為一個進程

目錄屬性:r:查看目錄內容,列表,ls

    x:cd,讀文件內容

    w:對文件修改、刪除、創建。單獨有w無法實現,需要配合x

    X:chmod -R a+X 加x權限至目錄而不給文件,若文件本身已經有任一x權限,則此文件能夠全部授權,a-X時,目錄,文件都取消。用數字設置權限不支持X,例如:

[root@localhost user.dir]# chmod -R a+X aaaa/
[root@localhost user.dir]# ll
總用量 4
-rw-r--r--. 1 root root    0 8月   3 08:51 a
-rw-r--r--. 1 root root    0 8月   3 08:51 aa
drwxr-xr-x. 4 root root 4096 8月   3 13:16 aaaa
[root@localhost user.dir]# cd aaaa/
[root@localhost aaaa]# ll
總用量 8
-rw-r--r--. 1 root root    0 8月   3 13:12 a
-rw-r--r--. 1 root root    0 8月   3 13:12 aa
-rw-r--r--. 1 root root    0 8月   3 13:13 aaa
drwxr-xr-x. 2 root root 4096 8月   3 13:14 aaaaaa
-rw-r--r--. 1 root root    0 8月   3 13:16 abc
drwxr-xr-x. 2 root root 4096 8月   3 13:16 abcd
[root@localhost aaaa]# cd ..
[root@localhost user.dir]# chmod -R a+x aaaa/
[root@localhost user.dir]# ll
總用量 4
-rw-r--r--. 1 root root    0 8月   3 08:51 a
-rw-r--r--. 1 root root    0 8月   3 08:51 aa
drwxr-xr-x. 4 root root 4096 8月   3 13:16 aaaa
[root@localhost user.dir]# cd aaaa/
[root@localhost aaaa]# ll
總用量 8
-rwxr-xr-x. 1 root root    0 8月   3 13:12 a
-rwxr-xr-x. 1 root root    0 8月   3 13:12 aa
-rwxr-xr-x. 1 root root    0 8月   3 13:13 aaa
drwxr-xr-x. 2 root root 4096 8月   3 13:14 aaaaaa
-rwxr-xr-x. 1 root root    0 8月   3 13:16 abc
drwxr-xr-x. 2 root root 4096 8月   3 13:16 abcd
[root@localhost aaaa]# cd ..
[root@localhost user.dir]# chmod -R a-X aaaa/
[root@localhost user.dir]# ll
總用量 4
-rw-r--r--. 1 root root    0 8月   3 08:51 a
-rw-r--r--. 1 root root    0 8月   3 08:51 aa
drw-r--r--. 4 root root 4096 8月   3 13:16 aaaa
[root@localhost user.dir]# cd aaaa/
[root@localhost aaaa]# ll
總用量 8
-rw-r--r--. 1 root root    0 8月   3 13:12 a
-rw-r--r--. 1 root root    0 8月   3 13:12 aa
-rw-r--r--. 1 root root    0 8月   3 13:13 aaa
drw-r--r--. 2 root root 4096 8月   3 13:14 aaaaaa
-rw-r--r--. 1 root root    0 8月   3 13:16 abc
drw-r--r--. 2 root root 4096 8月   3 13:16 abcd

3、給文件更改權限的幾種方式:文件權限與文件系統相關

    chmod u=x file   

    chmod ug=x file  不管原本屬主屬組是什么權限,都變為只有x權限

    chmod u+x file

    chmod ug+x file  在原本的基礎上增加x權限

    chmod 777 file   改變為777權限

    chmod +r/x file  所有權限增加r和x

    chmod +w file    只對所有者有效,增加w權限

4、關于umask:

    umask:反掩碼:從最大權限中屏蔽相應的權限位,從而得出默認權限:對于文件:

110 110 110     6 6 6 創建文件最大權限:為了防止文件x權限而為666

001 011 111     1 3 7 如果反掩碼為137,根據屏蔽原理,反掩碼0不屏蔽,1屏蔽,得出結果為:

110 100 000     6 4 0 此結果正確

    因此可以理解為:目錄:默認權限=最大權限-umask

    文件:默認權限=最大權限-umask,如果出現奇數權限,則奇數那一位加1,偶數為不變。

配置文件位于/etc/.bashrc:更改umask值:umask ###暫時更改,更改配置文件永久更改。

5、特殊權限:SUID 、SGID、 Sticky BIT:

SUID:對可執行的二進制程序;有此特殊權限的程序,當運行為進程時,進程屬主不是發起者而是二進制程序自己的屬主;例如passwd;

chmod u+/-s FILE   如果本來有執行權限,顯示為s,沒有則為S

SGID:可以對目錄和二進制程序。當對目錄時,當目錄有寫權限時,那么所有用戶在目錄中新建文件或目錄時,新文件屬組不是用戶的基本組而是此目錄的屬組。

chmod g+/-s FILE   如果本來有執行權限,顯示為s,沒有則為S

Sticky BIT:對于屬組或者全局可寫的目錄,組內的所有用戶或系統上的所有用戶在此目錄中都能創建文件或者刪除文件,有sticky權限后,每個用戶能創建新文件,但是能刪除自己的文件。此權限設置在文件上沒有意義。

chmod o+/-t FILE    如果本來有執行權限,顯示為t,沒有則為T:系統的/tmp和/var/tmp默認有。

6、特殊權限的設置方法之二:chmod #### FILE 三個特殊權限自成一位8進制數,即:

    1### sticky權限  2### sgid權限  7### 三個特殊權限都設置。

7、文件特殊屬性:chattr :

    +/-i 有i屬性后不能刪除改名更改等

    +/-a 有a屬性后只能追加內容,不能刪除等

    lsatrr 顯示文件特殊屬性

[root@localhost testdir]# chattr +a  aa
[root@localhost testdir]# lsattr
---------------- ./string.txt
----------I----- ./shelltest
---------------- ./copytest
---------------- ./userinfo
---------------- ./user
---------------- ./lost+found
---------------- ./user.dir
-----a---------- ./aa
-----a---------- ./a
---------------- ./userpasswd
[root@localhost testdir]# chattr +i a
[root@localhost testdir]# chattr +i aa
[root@localhost testdir]# lsattr
---------------- ./string.txt
----------I----- ./shelltest
---------------- ./copytest
---------------- ./userinfo
---------------- ./user
---------------- ./lost+found
---------------- ./user.dir
----ia---------- ./aa
----ia---------- ./a
---------------- ./userpasswd
[root@localhost testdir]# cd aa
[root@localhost aa]# touch aa
touch: 無法創建"aa": 權限不夠

+ :在原有參數設定基礎上,追加參數。
– :在原有參數設定基礎上,移除參數。
= :更新為指定參數設定。
A:文件或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁盤I/O錯誤的發生。
S:硬盤I/O同步選項,功能類似sync。
a:即append,設定該參數后,只能向文件中添加數據,而不能刪除,多用于服務器日志文件安全,只有root才能設定這個屬性。
c:即compresse,設定文件是否經壓縮后再存儲。讀取時需要經過自動解壓操作。
d:即no dump,設定文件不能成為dump程序的備份目標。
i:設定文件不能被刪除、改名、設定鏈接關系,同時不能寫入或新增內容。i參數對于文件 系統的安全設置有很大幫助。
j:即journal,設定此參數使得當通過mount參數:data=ordered 或者 data=writeback 掛 載的文件系統,文件在寫入時會先被記錄(在journal中)。如果filesystem被設定參數為 data=journal,則該參數自動失效。
s:保密性地刪除文件或目錄,即硬盤空間被全部收回。
u:與s相反,當設定為u時,數據內容其實還存在磁盤中,可以用于undeletion。
各參數選項中常用到的是a和i。a選項強制只可添加不可刪除,多用于日志系統的安全設定。

I:系統自動生成的,用于文件夾的哈希樹索引?。


二、命令詳解及事例

1、umask命令:

    -S  顯示umask的反向權限

[root@localhost ~]# umask -S
u=rwx,g=rx,o=rx

更改umask的幾種方法:當前進程有效:    

[root@localhost aaaa]# umask u=rw,g=r,o= 
[root@localhost aaaa]# umask
0137
[root@localhost aaaa]# umask 022
[root@localhost aaaa]# umask
0022

永久有效:配置文件:~/.bashrc或者/etc/bashrc,添加一行umask ###(都沒等于號

if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
       umask 002
    else
       umask 022
    fi

命令:umask -p >> .bashrc 因為umask -p就是顯示umask 022,輸出可調用,相當于寫入文件。

2、chown命令:設置文件的屬主屬組:root才能執行;

    -R 遞歸設置

    –reference=RFILE FILE 將FILE的屬性設置為與RFILE相同 

    chown USER:  FILE  文件屬組屬主都會改變

              :GROUP  只改變屬組

root@localhost ~]# chown user1: aaa.txt 
[root@localhost ~]# ll
總用量 20
-rw-r--r--. 1 root  root    46 7月  29 15:15 aaaaa.txt
-rwxr-xr--. 1 user1 user1   39 7月  29 15:14 aaa.txt
-rw-r--r--. 1 root  root    54 7月  29 15:16 abc.txt
-rw-------. 1 root  root  1373 7月  19 05:02 anaconda-ks.cfg
drwxr-xr-x. 3 root  root    21 7月  28 21:25 mypython
-rw-r--r--. 1 root  root   319 8月   1 13:57 vimrc
[root@localhost ~]# chown :user2  aaa.txt 
[root@localhost ~]# ll
總用量 20
-rw-r--r--. 1 root  root    46 7月  29 15:15 aaaaa.txt
-rwxr-xr--. 1 user1 user2   39 7月  29 15:14 aaa.txt
-rw-r--r--. 1 root  root    54 7月  29 15:16 abc.txt
-rw-------. 1 root  root  1373 7月  19 05:02 anaconda-ks.cfg
drwxr-xr-x. 3 root  root    21 7月  28 21:25 mypython
-rw-r--r--. 1 root  root   319 8月   1 13:57 vimrc

3、groupmems命令:更改和查看組成員:

    -g 更改指定組,root權限,即要改其他組時加-g GROUPNAME

[root@localhost ~]# groupmems -g user2 -a user5
[root@localhost ~]# groupmems -g user2 -l
user5

    -a 指定用戶加入組

    -d 從組中刪除用戶

    -p 從組中清除所有成員

    -l 顯示組成員列表 

[root@localhost ~]# groupmems -l
gentoo 
[root@localhost ~]# groupmems -p 
[root@localhost ~]# groupmems -l
[root@localhost ~]# groupmems -a user3
[root@localhost ~]# groupmems -l
user3 
[root@localhost ~]# groupmems -d user3
[root@localhost ~]# groupmems -l

4、chgrp命令:設置文件的屬組信息,root權限;

    -R 遞歸設置

    -reference=RFILE FILE 將文件的屬組設置為與RFILE相同

root@localhost aaaa]# chgrp bin a
[root@localhost aaaa]# ll
總用量 8
-rw-r--r--. 1 root bin     0 8月   3 13:12 a
-rw-r--r--. 1 root root    0 8月   3 13:12 aa

三、課后作業及練習

見作業篇

原創文章,作者:SilencePavilion,如若轉載,請注明出處:http://www.www58058.com/27993

(0)
SilencePavilionSilencePavilion
上一篇 2016-08-04
下一篇 2016-08-04

相關推薦

  • bash的重定向

    一、簡介         bash的數據流重定向(redirect)是將程序的執結果重新定向到另一文件或者設備?;蛘甙岩晃募囟ㄏ蚪o一程序作為數據來源。默認情況下,命令的執行結果顯示在屏幕上。文件系統中,分為:標準輸入,標準輸出,錯誤輸出。 二、用法   &n…

    Linux干貨 2015-08-11
  • 計算機的組成及其功能。

    一、計算機的組成及其功能。 計算機,是現代一種用于高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數據的現代化智能電子設備。 1、運算器(Arithmetical and Logical Unit):計算機中執行各種算術和邏輯運算操作的部件。運算器的基本操作包括加、減、乘、除四則運算,與…

    Linux干貨 2016-10-30
  • sed的詳細用法

    sed(Stream EDitor)是一款流編輯器,用來對文本進行過濾與替換操作。其原理是:通過文件或管道讀取文件內容,但是sed默認并不直接修改源文件,而是一次僅讀取文件的一行至模式空間(pattern space)根據sed指令進行編輯并輸出結果后清除模式空間,即所有的操作都是在模式空間中進行的。 語法格式 sed [option]…&nb…

    Linux干貨 2016-11-14
  • MySQL/MariaDB基礎性知識及DDL操作詳解

    前言 MySQL/MariaDB是一個開放源碼的小型關聯式數據庫管理系統,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL/MariaDB作為網站數據庫。 基礎架構 MySQL核心組件 連接池:認證、線程重用、連接數限制、內存檢查、緩存 SQL接口:DDL, DML, 關系型數據庫的基本抽…

    Linux干貨 2015-05-07
  • mysql-proxy 讀寫分離

    1. 簡介     mysql-proxy 是官方為此的一個測試,項目, 可以完成讀寫分離。但是項目目前還不是很成熟,這里僅作測試。  2. mysql-proxy安裝部署 # wget http://downloads.mysql.com/archives/get/file/mysql-…

    Linux干貨 2015-12-21
  • rsyslog應用舉例

    rsyslog+mysql+loganalyzer 1、yum install mariadb-server php-gd rsyslog-mysql ##連接到mysql需要的驅動程序,用來保存信息 2、登錄數據庫并給rsyslog賦權,設置密碼,重讀授權表 3、以rsyslog用戶身份登錄數據庫,此時創建Syslog庫,注意此處數據庫名稱要與rsyslo…

    Linux干貨 2016-10-23
欧美性久久久久