【Centos7筆記七】用戶及文件權限管理

1.useradd命令用於創建新的用戶,格式爲:“useradd [選項]  用戶名”
參數	作用
-d	指定用戶的家目錄(默認爲/home/username)
-e	帳號有效截至日期,格式:YYYY-MM-DD.
-u	指定該用戶的默認UID
-g	指定一個初始的用戶基本組(必須已存在)
-G	指定一個或多個擴展用戶組
-N	不創建與用戶同名的基本用戶組
-s	指定該用戶的默認Shell
[root@linuxprobe ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin linuxprobe
[root@linuxprobe ~]# id linuxprobe  //show the info of user
uid=8888(linuxprobe) gid=8888(linuxprobe) groups=8888(linuxprobe)
2.groupadd命令用於創建羣組,格式爲:"groupadd [選項] 羣組名"

3.usermod命令用於修改用戶的屬性,格式爲“usermod [選項] 用戶名”
參數	作用
-c	填寫帳號的備註信息
-d -m	-m與-d連用,可重新指定用戶的家目錄並自動把舊的數據轉移過去。
-e	帳戶到期時間,格式“YYYY-MM-DD”
-g	變更所屬用戶組
-G	變更擴展用戶組
-L	鎖定用戶禁止其登陸系統
-U	解鎖用戶,允許其登陸系統
-s	變更默認終端
-u	修改用戶的UID
4.passwd命令用於修改用戶的密碼,格式爲:“passwd [選項] [用戶名]”
參數	作用
-l	鎖定用戶禁止其登陸
-u	解除鎖定,允許用戶登陸。
--stdin	允許從標準輸入修改用戶密碼,如(echo "NewPassWord" | passwd --stdin Username)
-d	使帳號無密碼
-e	強制用戶下次登陸時修改密碼
-S	顯示用戶的密碼狀態
5.userdel命令用於刪除用戶,格式爲:“userdel [選項] 用戶名”
參數	作用
-f	強制刪除用戶,家目錄與其相關文件
-r	同時刪除用戶,家目錄與其相關文件

6.文件的特殊權限:
SUID:讓執行者臨時擁有屬主的權限(僅對擁有執行權限的二進制程序有效)
SGID功能一:讓執行者臨時擁有屬組的權限(對擁有執行權限的二進制程序設置)
SGID功能二:在該目錄中創建的文件自動繼承此目錄的用戶組(只可以對目錄設置):
[root@linuxprobe ~]# cd /tmp
[root@linuxprobe tmp]# mkdir testdir
[root@linuxprobe tmp]# ls -ald testdir/
drwxr-xr-x. 2 root root 6 Feb 11 11:50 testdir/
[root@linuxprobe tmp]# chmod -Rf 777 testdir/
[root@linuxprobe tmp]# chmod -Rf g+s testdir/
[root@linuxprobe tmp]# ls -ald testdir/
drwxrwsrwx. 2 root root 6 Feb 11 11:50 testdir/

SBIT(Sticky Bit):只可管理自己的數據而不能刪除他人文件(僅對目錄有效)
    效果是不讓其他人刪除自己的文件,換句話說就是文件只能被所有者執行刪除操作

7.chmod命令用於修改文件或目錄的權限,格式爲:"chmod [參數] 權限 文件或目錄名稱"

8.chown命令用於修改文件或目錄的所屬主與所屬組,格式爲:“chown [參數] 所屬主:所屬組 文件或目錄名稱”
9.文件的隱藏屬性
9.1 chattr命令用於設置文件的隱藏權限,格式爲:“chattr [參數] 文件”
    將某個隱藏功能添加到文件上面,則使用+參數,如果想要將某個隱藏功能移出文件,則使用-參數
參數	作用
i	將無法對文件進行修改,若對目錄設置後則僅能修改子文件而不能新建或刪除。
a	僅允許補充(追加)內容.無法覆蓋/刪除(Append Only)。
S	文件內容變更後立即同步到硬盤(sync)。
s	徹底從硬盤中刪除,不可恢復(用0填充原文件所在硬盤區域)。
A	不再修改這個文件的最後訪問時間(atime)。
b	不再修改文件或目錄的存取時間。
D	檢查壓縮文件中的錯誤。
d	當使用dump命令備份時忽略本文件/目錄。
c	默認將文件或目錄進行壓縮。
u	當刪除此文件後依然保留其在硬盤中的數據,方便日後恢復。
t	讓文件系統支持尾部合併(tail-merging)。
X	可以直接訪問壓縮文件的內容。

9.2 lsattr命令用於顯示文件的隱藏權限,格式爲:“lsattr [參數] 文件”

10.文件訪問控制列表:如果對某個目錄設置了訪問控制策略,那麼子文件則繼承其訪問策略,而若對文件設置了訪問控制策略則不再繼承上級目錄的控制策略。
設置指定的特定用戶或用戶組對某個文件的操作權限
10.1 setfacl命令用於增加或者修改ACL規則,格式爲:"setfacl [參數] 文件名稱"
    對於目錄文件需要使用遞歸-R參數,對普通文件需要使用-m參數,而如果想要刪除某個文件的訪問控制策略的話可以使用-b參數
[root@linuxprobe ~]# setfacl -Rm u:leo:rwx /root   // add rwx to user leo
[root@localhost tmp]# setfacl -Rm g:leo:r-x /tmp  //設置用戶組leo的權限

10.2 getfacl命令用於顯示文件的ACL規則,格式爲:"getfacl 文件名稱"

11. su and sudo
su命令與用戶名之間有一個減號(-),這意味着完全的切換到新的用戶,即把環境變量信息也變更爲新的用戶,而不保留原始的用戶信息,這個是推薦必加的參數,一定要記下哦~另外當超級用戶切換到普通用戶時是不需要密碼驗證的,而普通用戶切換成超級用戶身份就需要密碼驗證後才能成功了,這是一個必要的安全檢查
[root@linuxprobe ~]# su - linuxprobe
Last login: Wed Jan 4 01:17:25 EST 2017 on pts/0

總結來說sudo的特色功能有:

1:限制用戶執行指定的命令。

2:記錄用戶執行的每一條命令。

3:配置文件(/etc/sudoers)提供集中的管理用戶、權限與主機等參數。

4:驗證過密碼後5分鐘(默認值)內無須再讓用戶驗證密碼,更加的方便。

sudo服務用於給普通用戶提供額外權利來完成原本超級用戶才能完成的任務,格式爲:“sudo [參數] 命令名稱”。

參數	作用
-h	列出幫助信息。
-l	列出當前用戶可執行的命令。
-u 用戶名或UID值	以指定的用戶身份執行命令。
-k	清空安全時間,下次執行sudo時需要再次密碼驗證。
-b	在後臺執行指定的命令。
-p	更改詢問密碼的提示語。
只用超級用戶纔可以使用visudo命令編輯sudo程序的配置文件(/etc/sudoers)
root ALL=(ALL) ALL 說明如下:
誰可以使用超級用戶身份     允許使用sudo命令的主機=(以誰的身份執行命令)     可執行命令的列表

如果需要讓某個用戶只能使用超級用戶的身份執行指定的命令,切記一定要寫上的是該命令的絕對路徑,否則系統會識別不出來哦,因此我們可以先用whereis命令找出命令所對應的保存路徑,然後將剛剛配置文件中第99行的用戶權限參數修改成對應的路徑即可:
leo ALL=(ALL) /bin/cat
添加NOPASSWD參數來使得用戶執行sudo命令時不再需要密碼驗證啦:
leo ALL=NOPASSWD: /usr/sbin/poweroff

















發佈了65 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章