Linux的基礎知識之用戶、組合權限(一)

Linux的基礎知識之用戶、組合權限(一) 

權限

權限:定義文件被某一個標識符所擁有。Linux中文件權限共有10位,其含義分別表示如下


對於文件

R:表示可讀,可以參看文件內容;

W:表示可寫,可以編輯或者刪除該文件;

X:表示可執行

對於目錄

R:表示可讀,可以列出該目錄內所有的文件;

W:表示可寫,可以在該目錄創建文件;

X:可以使用cd切換進子目錄,也可以使用ls -l 查看內部文件的詳細信息,所以目錄默認有可執行權限。

進程的安全上下文(secure context)。用戶操作計算機時便啓動了一個進程,進程是用戶操作計算機的代理,進程啓動時按照對應用戶的身份運行,所以進程也是有屬主屬組的。
權限管理
chown:改變文件屬主(只有管理員可以改變)
chown USERNAME file,...
-R: 遞歸修改目錄及其內部文件的屬主;
--reference=DIRECTORY/SOMEFILES  FILENAMES:引用參考,將FILENAMES的屬性修改成和DIRECTORY/SOMEFILES一樣的屬性;
chown USERNAME:GROUPNAME  file,...,同時修改文件的屬主屬組;
chown USERNAME.GROUPNAME  file,...,同時修改文件的屬主屬組;(":"和“.”是一樣的)
chown :GROUPNAME  file,...,只修改文件的屬組;
chgrp:改變文件屬組(只有管理員可以改變)
chgrp USERNAME file,...
-R: 遞歸修改目錄及其內部文件的屬組;
--reference=DIRECTORY/SOMEFILES  FILENAMES:引用參考,將FILENAMES的屬性修改成和DIRECTORY/SOMEFILES一樣的屬性;
chmod:修改文件的權限
修改三類用戶的權限:chmod MODE file,...
-R:遞歸修改
--reference=DIRECTORY/SOMEFILES  FILENAMES:參考照修改
例子: chmod 750 FILENAME
修改某類或者某些類權限:u,g,o,a
chmod 用戶類別=MODE file,..
例子:chomd u=rwx file,... ; chomd u=r-x file; chmod g=r,o=rw  file 或者 chmod go=r  file
修改某個用戶的某位或某些位權限:u,g,o,a
chmod 用戶類別=MODE file,..
例子: chmod u-x file name; chmod u+wx,g-x file name;chmod a+x file name
umask:查看用戶的遮罩碼,也可以使用umask設定默認的umask
root用戶的遮罩碼爲0022,其創建的文件默認的權限爲666-022=644,Linux創建的文件默認不可執行;創建的目錄默認的權限爲777-022=755;普通用戶的遮罩碼爲0002,其創建的文件默認的權限爲666-002=664;創建的目錄默認權限爲777-002=775;若果文件的計算結果又可執行權限,系統會自動將其權限加1。

用戶

用戶:系統上一個標識符。

每個用戶都有一個UID,在/etc/passwd中存儲了每一個用戶的相關信息,相當於一個用戶數據庫,每個用戶登錄時使用的shell也是在該文件中定義的,而用戶的密碼保存在/etc/shadow文件中(影子口令)。【查看passwd的man文檔,whatis passwd ;  man 5 passwd】。

用戶類別

管理員:管理員的UID是0

普通用戶:UID範圍從1~65535

系統用戶:UID從1~499,運行後臺進程的用戶,如ftp、rsync、mail等,該類用戶不能夠登錄系統。

一般用戶:UID從500~65535。

/etc/passwd文件中各個字段的含義:(man 5 passwd)

account:登錄名

passwd:密碼或者密碼佔位符

UID:用戶ID

GID:用戶基本組ID

GECOS:用戶的註釋信息

HOME Directory:用戶家目錄

shell:用戶登錄時使用的shell,/etc/shells保存系統中所有可以使用的shell。

/etc/shadow文件中各個字段的含義:(man 5 shadow)

login name:登錄名;

passwd:加密後的密碼,格式:$加密算法$標識$加密後的密碼,密碼位顯示"!!"或者"*"表示對應的用戶是被鎖定的,不允許登錄;

date of last password change:上一次修改密碼時的日期;

minimum password age:密碼最短使用期限,0表示不設限定;

maximum password age:密碼最長使用期限;

password warning period:密碼快要過期之前多少天開始提醒用戶;

password inactivity period:用戶被禁用前所經歷的天數;

account expiration date:賬號禁用時間;

reserved field:保留字段;

添加用戶

useradd :添加用戶(adduser,useradd的一個鏈接),useradd USERNAME

 -u 指定用戶的ID; -g 設置用戶的基本組;-G 設置用戶的附加組;-c指定用戶註釋信息;-d 指定用戶的家目錄;-s 指定shell的路徑(出現在/etc/shells中出現的shell);-m和-k 創建用戶的家目錄,並將目錄/etc/skel下面的默認文件複製到新的目錄下;-M 添加用戶的時候不創建家目錄;-r 添加一個系統用戶(系統用戶是沒有家目錄的);

文件/etc/login.defs中存放默認的用戶配置信息。

注意:用戶的默認屬性存在文件:/etc/default/useradd中

userdel:刪除用戶, 默認不刪除用戶的家目錄,可以使用 -r 選項刪除信息;

id:查看用戶的屬性信息;

finger:查看用戶賬號屬性信息;

usermod:修改用戶賬號屬性信息,和useradd的參數幾乎相同;

usermod -d Directory -m  USERNAME   修改用戶的家目錄;usermod  -l LoginName  修改用戶的登錄名;

chsh:修改shell;

chfn:修改用戶指紋,修改用戶的註釋信息;

密碼管理

passwd  [USERNAME] PASSWORD

--stdin,可以從標準輸入中讀取數據;-l, 鎖定用戶;-u,解鎖用戶;

pkck:檢測用戶賬號的完整性

chage:改變用戶密碼過期信息

:權限的集合,用於指派權限,是一個邏輯概念,本質也是一個標識符。用戶不能通過組名登錄計算機。

每個組都有一個GID,在/etc/group中存儲了每一個組的相關信息,相當於組數據庫。每個組也需要密碼,存放在/etc/gshadow文件中。

組類別

管理組:管理員的GID是0

普通組:GID範圍從1~65535

系統用戶:GID從1~499,運行後臺進程的用戶,如ftp、rsync、mail等,該類用戶不能夠登錄系統。

一般用戶:GID從500~65535。

組類別:(另外一個角度劃分)

基本組:用戶的默認組

私有組:創建一個用戶的時,若沒有指定用戶所述組,則系統自動爲該用戶創建一個與用戶名同名的組,該組稱爲私有組。

附加組:用戶基本組之外的所有組都是附加組。

/etc/group文件中各個字段的含義:(man 5 shadow)

group name:組名;

passwd:密碼佔位符;

GID:組ID

user_list:以該組爲附加組的用戶列表;

date of last password change:上一次修改密碼時的日期;

minimum password age:密碼最短使用期限,0表示不設限定;

maximum password age:密碼最長使用期限;

password warning period:密碼快要過期之前多少天開始提醒用戶;

password inactivity period:用戶被禁用前所經歷的天數;

account expiration date:賬號禁用時間;

reserved field:保留字段;

添加組

添加組:groupadd GROUPNAME

-g 指定組號;-r 指定該組爲系統組;

刪除組:groupdel

修改組:groupmod

-g 修改gid;-n修改組名;

修改組密碼:gpasswd  GROUPNAME

登錄到一個新組:newgrp,切換用戶所在的組,如從基本組切換到附加組中。

用戶的登錄

Bash的配置文件

按照全局和局部性分類:

全局配置文件:/etc/profile, /etc/profile.d/*.sh,  /etc/bashrc

個人配置文件:~/bash_profile, ~/bashrc

按照作用分類:

profile類的文件:①用於設定環境變量;②用戶登錄時運行命令或者腳本;

bashrc類文件:  ①用於設定本地變量;②定義命令別名;

Shell的類型

登錄式Shell:

包括:①正常通過某終端登錄的Shell ②使用su -l USERNAME su - USERNAME 切換過去的shell

讀取配置順序:/etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->~/.bashrc-->/etc/bashrc;

非登錄式Shell:

包括:①直接使用su  USERNAME切換用戶;②圖形終端下打開的命令窗口;③自動執行的shell腳本;

讀取配置順序:~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh,不讀取/etc/profile和~/.bash_profile;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章