從一個小白開始,學習了一段時間Linux,感謝馬哥,對Linux有了個初步的認識,上學時候學到的計算機方面的知識,也在腦袋里復活了,雖然實在算不上滿血復活。 第一篇博客作業:用戶及文件權限管理,Linux下的用戶和文件權限系統,這方面與Windows區別還是比較大的,利用這個機會自己梳理下。
linux的權限系統主要是由用戶、用戶組和權限組成。
用戶就是一個個的登錄并使用linux的用戶。linux內部用UID表示。
用戶組就是用戶的分組。linux內部用GID表示。
權限分為讀、寫、執行三種權限。
1、用戶及用戶組:
1.1用戶:
儲存用戶和組的文件目錄
用戶:UID /etc/passwd
組? :GID /etc/group
Linux中,在儲存用戶和組信息的文件,不會直接將用戶或組密碼儲存在其中,而是在其他文件中儲存,但并不是直接以密碼保存,而是保存加密后的文件,影子口令
用戶:/etc/shadow
組? :/etc/gshadow
儲存用戶信息的文件:/etc/passwd
cuiyuzhe:x:1000:1000:cuiyuzhe:/home/cuiyuzhe:/bin/bash
docker:x:1001:1001::/home/docker:/bin/bash
archlinux:x:1002:1002::/home/archlinux:/bin/bash
通過上面示例可以看到,在/etc/passwd文件中,每個用戶信息作為一行,而每一行分為7段,用 :分隔,分別表示:
用戶名 :密碼占位符 :UID :用戶私有組(基本組)GID :注釋 :用戶家目錄 :默認shell
1.2 用戶組:
用戶組分為(1)基本組,私有組:本組只有該用戶自己,用戶創建文件后,該文件的默認組為該用戶的基本組
(2)附加組,額外組:基本組以外的其他組
在創建一個用戶時,如果未指定用戶私有組和家目錄時,系統默認會為該用戶創建一個以該用戶名為組名的組,作為該用戶的私有組組GID一般與用戶UID相同。且會在/home目錄下為該用戶創建一個與該用戶同名的目錄作為該用戶的家目錄。
1.3 存儲密碼文件
儲存密碼信息文件:/etc/shadow
mysql:!:17301:0:99999:7:::
wangml:!!:17303:0:99999:7:::
各字段的含義:用戶名 :加密后的密碼 :最后一次密碼修改時間 :密碼最短使用時間 :用戶過期時間 :修改密碼警告時間。
1.4 用戶及用戶組管理命令
創建用戶組: groupadd
NAME
groupadd – create a new group
SYNOPSIS
groupadd [options] group
參數:
-g:GID,手動指定ID號
-r:創建系統組:1-499,1-999,
每個進程的執行都代表了所在用戶的身份
修改組命令:groupmod
NAME
groupmod – modify a group definition on the system
SYNOPSIS
groupmod [options] GROUP
-g :GID
-n: new name
刪除組命令:groupdel
創建用戶命令:useradd
NAME
useradd – create a new user or update default new user information
SYNOPSIS
useradd [options] LOGIN
useradd -D
useradd -D [options]
-u:–uid :指定uid號
-g:–gid: 指定基本組ID,此組需要事先存在
-G:–groups:GROUP1,GROUP2,GROUP3 指明用戶所屬的附加組,多個組之間用逗號分隔。
一個用戶可以屬于多個附加組。但是一個用戶只能有一個基本組。
-c:–comment :指明注釋信息
-d:以指定的路徑為用戶的家目錄:創建方式通過復制/etc/skel/并重命名實現的,指定的家目錄如果事先存在。則不會為用戶復制環境配置文件。(一些隱藏文件)
-s:–shell:指明用戶的默認shell SHELL:所有的可用shell別表為/etc/shells
-r:–system:創建系統用戶。
-m:強制為用戶創建主目錄
-M:不為用戶創建主目錄
-f:–inactive :密碼過期后賬號被徹底禁用之前的天數,0,表示立即禁用,-1表示禁用這個功能
-r:–system:創建系統用戶。
-m:強制為用戶創建主目錄
-M:不為用戶創建主目錄
-f:–inactive :密碼過期后賬號被徹底禁用之前的天數,0,表示立即禁用,-1表示禁用這個功能
修改用戶屬性命令:
usermod命令:修改用戶屬性
NAME
usermod – modify a user account
SYNOPSIS
usermod [options] LOGIN
-c:–comment:改注釋
-l:–login:改用戶名
-u:修改UID
-g:–gid :修改用戶所屬的基本組
-G:–groups :修改用戶所屬的附加組,原來的附加組會被覆蓋
-a:–append:與-G一同使用,用于為用戶添加新的附加組
-d:–home :修改用戶的家目錄:用戶原有的配置文件不會轉移到新文件-m配合使用
-m:–move-home:只能與-d選項一同使用,用于將原有的家目錄移動為新的家目錄
-s:–shell:修改用戶的默認shell
-L:–lock :鎖定用戶密碼:即在用戶原來的密碼字符串之前添加一個”!”
-U:–unlock:解鎖用戶密碼
userdel命令:刪除用戶
NAME
userdel – delete a user account and related files
SYNOPSIS
userdel [options] LOGIN
-r :刪除用戶時,一并刪除其家目錄
2、文件權限管理
由于Linux的一切皆文件的基本思想,對于權限的管理更多的則體現在管理文件權限上。為了方便的指派權限,在Linux中定義了文件屬主,文件屬組,其他人這三類人的權限。對于計算機來說,這三類都是一個標識符。
Linux進程有安全上下文,程以其發起者的身份運行,
如果進程的屬主與文件的屬主是否相同:
如果相同則應用屬主權限;
否則,則檢查進程的屬主與文件的屬組是否相同:
如果相同,應用屬組權限:
否則,應用other權限
通過 ls 命令我們可以看到文件的具體權限信息。
[root@localhost /]# ls -l /etc/issue
-rw-r–r–. 1 root root 23 Nov 30? 2016 /etc/issue
文件權限信息一共有9位,每3位一組,分別表示屬主,屬組,其他人的權限信息
rw-r–r– :
左三位:定義user(owner)權限:對應u
中三位:定義group權限:對應g
右三位:定義other權限:對應o
權限:r? w? x
對于文件:
r:read:可讀,可以使用cat等命令查看文件內容
w:wirte:可寫,可以進行編輯修改,或刪除操作
x:excute:可執行,可以在命令提示符下當做命令提交給內核運行
對于目錄:
r:可以對此目錄執行ls命令,列出內部所有文件
w:可以在此目錄下創建文件
x:可以使用cd命令切換進此目錄,也可以使用ls -l命令查看內部文件的詳細信息
對于目錄來說,一般會有執行權限,而對于文件來說,一般默認沒有執行權限。
表示沒有某個權限時,使用 –
在表示文件權限時,也可以使用八進制數字0,1,2,4…表示
0 000 —:無權限
1 001 –x:可執行
2 010 -w-:可寫
4 100 r–:可讀
7 111 rwx:可讀可寫可執行
修改文件權限:chmod MODE 文件
-R:遞歸修改
–reference=文件1 文件2… :將文件2…將文件2…的屬性修改為與文件1相同
修改某類用戶權限時:chmod 用戶類別(u g o a) +(-) MODE,a表示所有用戶,可以省略
我們都知道,在創建一個文件后,系統會默認給文件賦予權限,那么,默認權限是由什么決定的?
umask:遮罩碼,不加參數時表示查看系統默認遮罩碼,加八進制位表示修改遮罩碼
創建文件后默認權限 666-umask
創建目錄后默認權限 777-umask
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/88119