在任何時候,用戶操作計算機無非就是發起進程,因此,進程是用戶操作計算機的代理,所以進程在運行時,一定是以發起它的用戶的身份在運行,那麼進程所能訪問的權限就決定於發起它的用戶的權限和要訪問文件的權限。
權限:
文件:
r: 可使用查看工具查看其內容;
w:可編輯其內容;[若僅有w,且目錄無w,則不能刪除文件]
x: 可將此文件向內核提請啓動爲進程;
目錄:
r: 可以使用ls命令列出其內部所有文件或子目錄的相關信息;
w: 在此目錄內創建或刪除文件;
x: 可以cd進此目錄,可以使用ls -l查看其內部所有文件或子目錄的相關詳細信息;
用戶有兩類:
1:管理員:root,UID爲0
2:普通用戶:UID爲1-65535[2^16]
系統用戶:1-499
僅用於運行某些服務類進程而存在;一般不用於登錄系統;
普通用戶:500+
交互式登錄
組有兩類:
管理員組:root,GID爲0
普通組:GID爲1-65535
系統組:1-499
普通組:500+
組的類別:一個用戶可同時屬於多個組;當一個用戶有多屬組時,且他去訪問一個文件需要看文件的屬組的權限時,用戶的多個屬組中只要有一個屬組不匹配,則無法訪問文件,即拒絕優先
私有組:創建用戶是如果沒有爲其指定其所屬組,系統會自動爲其穿件一個與用戶名相同的組
基本組:用戶的默認組
附加組、額外組:默認組之外的其他組
ls -l
-rw-r--r-- 1 root root 0 Mar 27 04:05 /etc/root.test
每三位一組,分別對應於屬主、屬組、其它類別用戶對此文件的訪問權限;
用戶啓動某進程訪問某文件資源時,權限匹配機制:
1、首先查看此進程的屬主,與被訪問的文件的屬是否是同一個用戶;
如果是:則以被訪問的文件的屬主的身份來訪問它;從而應用權限爲屬主的權限;
如果不是:
2、查看此進程的屬主,是否屬於被訪問的文件的屬組;
如果是:則以被訪問的文件的屬組的身份來訪問它;從而應用的權限爲屬組的權限;
否則:則應用的是其它類別的權限;
管理用戶和組:useradd, passwd, userdel, usermod, groupadd, gpasswd, groupdel, groupmod
useradd:
useradd [options] LOGIN
-u UID:指定UID
-g GID:若用 -g 組名 也可以指明基本組的GID;GID對應的組需要事先存在;
-G GID:指定附加組
-r:系統用戶(沒有家目錄)
-c 'COMMENT':指明註釋信息
-d /path/to/somedir: 指明家目錄;
-s /bin/SHELL: 指明默認使用的shell;
useradd -r -s /sbin/nologin 用戶名
添加系統用戶xx且不允許登陸
/etc/passwd
lx:x:500:500::/home/lx:/bin/bash centos:x:501:501::/home/centos:/bin/bash mageia:x:1100:1100::/home/linux:/bin/bash lx2:x:1101:2016::/home/lx2:/bin/bash user1:x:1102:1102::/home/user1:/bin/bash
登錄名 | 密碼 | UID | GID | 註釋 | 家目錄 | 用戶默認shell |
注意:創建用戶時如果沒有指定基本組,則useradd會自動爲其添加一個與當前用戶同名的組;且其GID一般同UID;
passwd修改密碼:
用法:
passwd:不加任何選項時表示修改自己的密碼;
passwd USERNAME: 修改指定用戶的密碼;只有管理員root有此權限;
你是普通用戶的話,修改自己的密碼,直接用passwd就可以了,會讓你先輸入自己的舊密碼,再輸入兩遍新密碼
-d 刪除密碼。本參數僅有系統管理者才能使用。
-f 強制執行。
-k 設置只有在密碼過期失效後,方能更新。
-l 鎖住密碼。
-s 列出密碼的相關信息。本參數僅有系統管理者才能使用。
-u 解開已上鎖的帳號。
--stdin password需要從標準輸入通過管道設置new password
[centos@localhost ~]$ passwd Changing password for user centos. Changing password for centos. (current) UNIX password: New password: Retype new password: passwd: all authentication tokens updated successfully.
usermod:修改用戶屬性
userdel:刪除用戶
userdel [-r] LOGIN
-r: 刪除用戶的同時,刪除其家目錄;不用-r時不會刪除家目錄
groupadd: 添加組
groupadd [options] group
不指定GID時,爲/etc/group中的最後一個GID加1
-g GID: 指明要使用的GID;
-r :添加系統組
/etc/group
lx:x:500: centos:x:501: mageia:x:1100: abc:x:2016: distro:x:2015: user1:x:1102:
組名 | 密碼 | GID | 以這個爲附加組的用戶表 用,隔開 |
gpasswd:爲組添加密碼
groupdel:刪除組
groupmod: 修改組屬性
-g GID:修改GID
-n NEW_NAME: 修改組名;