linux基本權限、特殊權限、ARL權限

使用ll (ls -l )查看該目錄的內容列表,如:d rwx r-x r-x ,代表的就是這個目錄或文件的權限。簡單來講,r表示可讀、w表示可寫、x表示可執行。

第一列表示這個文件的類型
d: 表示這個文件爲目錄
-: 表示這個文件爲文件
l: 表示這個文件爲連接文件
b: 表示設備文件裏面的可供存儲的藉口設備
c: 表示設備裏面的串行端口設備
第一組rwx表示文件所有者權限。
第二組rwx表示同用戶組權限,與文件所有者處於同一用戶組擁有的權限。
第三組rwx表示其他人權限,不是文件所有者也不在同意用戶組,則爲其他人。

查看文件的權限

# ls -l install.log

使用 crontab 命令
– 編輯:crontab -e -u 用戶名
– 查看:crontab -l -u 用戶名
– 清除:crontab -r -u 用戶名

# ls -l /etc/passwd

-rw-r–r--. 1 root root 2044 10月 30 19:08 /etc/passwd
權限位 硬連接數 屬主 屬組 大小 最後修改時間 文件/目錄名稱

#  -rw-r--r--表示權限位 

後面9個項分3個分別表示所有者(rw-),所屬組(r–),其他用戶(r–)的權限

以“-”開頭: 文件 例如:-rw-r–r--. 1 root root 2044 10月 30 19:08 /etc/passwd
以“l”開頭: 快捷方式
以“d”開頭: 目錄 例如:drwxr-xr-x. 2 root root 6 10月 30 19:45 /nsd01

使用 chmod 命令 修改權限
– chmod [-R] 歸屬關係±=權限類別 文檔…
[-R] 遞歸賦予權限

# chmod u-x /nsd01    #所屬主去掉x權限下
# chmod g+w /nsd01    #所屬組添加w權限
# chmod o=rwx /nsd01  #其他用戶全都改爲rwx權限

設置文檔歸屬:

使用 chown 命令

– chown [-R] 屬主 文檔…
– chown [-R] :屬組 文檔…
– chown [-R] 屬主:屬組 文檔…

# useradd dc        #添加用戶dc
# mkdir /nsd05      #創建目錄nsd05
# ls -ld /nsd05     #查看目錄的詳細屬性
# groupadd tedu     #創建組tedu
# chown dc:tedu /nsd05  #將dc用戶設置屬主,tedu組爲屬組
# ls -ld /nsd05
# chown student /nsd05   #設置student爲屬主
# chown :root /nsd05/     #設置root爲屬組

5.實例:
實例1.
公司技術部有一臺Linux開發服務器,根據部門內項目組的構成情況,需要建立相應的用戶賬號,並對開發數據相關目錄配置訪問權限。
1.文件夾/tech/nsdhome、/tech/jsdhome,分別歸屬於nsd組、jsd組,禁止其他用戶進入。
2.創建部門公共目錄/public,技術部的所有員工(tech組)對其擁有可讀、可寫、可執行,其他用戶禁止訪問此目錄。

[root@localhost /]# mkdir -p /tech/nsdhome
[root@localhost /]# mkdir -p /tech/jsdhome
[root@localhost /]# mkdir /public
[root@localhost /]# groupadd nsd
[root@localhost /]# groupadd jsd
[root@localhost /]# groupadd tech
[root@localhost /]# useradd -g nsd nsd01
[root@localhost /]# useradd -g nsd nsd02
[root@localhost /]# useradd -g jsd jsd01
[root@localhost /]# useradd -g jsd jsd02
[root@localhost /]# useradd -g tech yg01
[root@localhost /]# useradd yg02
[root@localhost /]# chown :nsd /tech/nsdhome
[root@localhost /]# ls -l /tech/nsdhome
總計 0
[root@localhost /]# ls -ld /tech/nsdhome
    drwxr-xr-x 2 root nsd 4096 07-30 11:36 /tech/nsdhome
[root@localhost /]# chmod o-rx /tech/nsdhome
[root@localhost /]# chown :jsd /tech/jsdhome
[root@localhost /]# ls -ld /tech/jsdhome
    drwxr-xr-x 2 root jsd 4096 07-30 11:36 /tech/jsdhome
[root@localhost /]# chmod o-rx /tech/jsdhome
[root@localhost /]# chown :tech /public
[root@localhost /]# ls -ld /public
    drwxr-xr-x 2 root tech 4096 07-30 11:36 /public
[root@localhost /]# chmod g+w /public
[root@localhost /]# ls -ld /public
    drwxrwxr-x 2 root tech 4096 07-30 11:36 /public
[root@localhost /]# chmod o-rx /public
[root@localhost /]# ls -ld /public
    drwxrwx--- 2 root tech 4096 07-30 11:36 /public
[root@localhost /]# ls -ld /tech/nsdhome
    drwxr-x--- 2 root nsd 4096 07-30 11:36 /tech/nsdhome
[root@localhost /]# ls -ld /tech/jsdhome
    drwxr-x--- 2 root jsd 4096 07-30 11:36 /tech/jsdhome

實例2.
以root用戶新建/nsddir/目錄,在此目錄下新建readme.txt文件,並進一步完成下列操作
1)使用戶zhangsan能夠在此目錄下創建子目錄 切換用戶 su - zhangsan

 [root@dqs ~]# mkdir /nsddir      #創建/nsddir目錄
 [root@dqs ~]# touch  /nsddir/readme.txt   #在/nsddir目錄下創建readme.txt文件
 [zhangsan@dqs ~]$ mkdir /nsddir/zhangsan     #切換到用戶zhangsan下創建目錄及子目錄 提示以下信息,沒有權限不能創建
 mkdir: cannot create directory ‘/nsddir/zhangsan’: Permission denied
    chmod o+w  /nsddir/

2)使用戶zhangsan不能夠在此目錄下創建子目錄
    chmod o-w  /nsddir/

3)使用戶zhangsan能夠修改readme.txt文件
    chmod o+w  /nsddir/readme.txt

4)調整此目錄的權限,使所有用戶都不能進入此目錄
   chmod u-x,g-x,o-x  /nsddir/

5)爲此目錄及其下所有文檔設置權限 rwxr-x---
   chmod -R  u=rwx,g=rx,o=---  /nsddir/

特殊權限(附加權限):

Set UID
附加在屬主的 x 位上
– 屬主的權限標識會變爲 s (在附加之前有x權限的前提下),若附加之前沒有x權限再附加,則變爲S
– 適用於可執行文件,Set UID可以讓使用者具有文件屬主的身份及部分權限(傳遞所有者身份)

Set GID
附加在屬組的 x 位上
– 屬組的權限標識會變爲 s(在附加之前有x權限的前提下),若附加之前沒有x權限再附加,則變爲S
– 適用於可執行文件,功能與Set UID類似(傳遞所屬組身份)

Sticky Bit
附加在其他人的 x 位上
– 其他人的權限標識會變爲 t
– 適用於開放 w 權限的目錄,可以阻止用戶濫用 w 寫入
權限

$ chmod u+s testfile # 爲 testfile 文件加上 SUID 權限。
$ chmod g+s testdir # 爲 testdir 目錄加上 SGID 權限。
$ chmod o+t testdir # 爲 testdir 目錄加上 SBIT 權限。

ACL策略:

getfacl文件查看ACL策略
setfacl[選項] u:用戶名:權限 文件
setfacl[選項] g:組名:權限 文件

-m定義一條ACL策略
-x刪除指定的ACL策略
-b清除所有已設置的ACL策略
-R遞歸設置
-d爲目錄設置默認權限

ACL權限設置:

創建賬戶:mike john kaka
創建文件:/data/file1.txt
·mike對文件有讀寫權限,john只有讀權限。其他用戶沒有任何權限
·kaka具有與john相同權限
·創建lily,lily對file1.txt具有讀執行權限,其他用戶沒有任何權限

```powershell
# tune2fs -l /dev/sda2 | grep acl
    Default mount options:    user_xattr acl
# tune2fs -l /dev/sda1 | grep acl
    Default mount options:    user_xattr acl
# ls -ld /data/
    drwxrwxrwx 3 root root 4096 12-09 16:21 /data/
# rm -rf /data/
# mkdir /data
# getfacl /data/
    getfacl: Removing leading ‘/from absolute path names
        # file: data
        # owner: root
        # group: root
        user::rwx
        group::r-x
        other::r-x

# ls -ld /data/
    drwxr-xr-x 2 root root 4096 12-09 16:27 /data/
# setfacl -m u:mike:rwx /data/
# ls -ld /data/
    drwxrwxr-x+ 2 root root 4096 12-09 16:27 /data/
# getfacl /data/
    getfacl: Removing leading ‘/from absolute path names
        # file: data
        # owner: root
        # group: root
        user::rwx
        user:mike:rwx
        group::r-x
        mask::rwx
        other::r-x

# setfacl -m u:john:r-- /data/
# setfacl -m u:kaka:r-- /data/
# setfacl -m u:lily:r-x /data/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章