玩转Linux必备知识(三)
玩轉Linux必備知識(一)
玩轉Linux必備知識(二)
用戶管理系統
用戶管理基礎
who 查看系統中當前登錄的所有用戶
who am i 查看當前登錄用戶
終端:
:0 代表后臺終端,與人沒有交互的
pts/n n為任意正整數,虛擬終端(圖形化界面中的命令行,遠程登錄使用的命令行均為虛擬終端),哪怕是編號相同的兩個終端,只要不是連續使用的,中間曾經關閉過,就不是同一個終端了
tty1-63 物理終端,本地服務器操作使用物理終端
ttys0-3 物理終端,使用串行通信進行操作的終端用戶信息的存放文件
/etc/passwd
/etc/shadow/etc/passwd 存放系統中所有的用戶的信息,在該文件中,每一行代表一個用戶,包含用戶的一下信息
username:password-reserved:uid:gid:remarks:home-dir:shell
? 密碼:這里是密碼保留位,不保存密碼,沒有意義
uid:用戶編號,系統識別用戶的唯一根據。uid=0 則為超級管理員用戶。uid小于1000的是系統用戶,用來承擔系統中的運行工作。uid>=1000的為普通用戶
gid:用戶組編號,系統唯一識別用戶組的根據。? 注釋:系統管理員給用戶留下的注釋信息,方便后來的管理員理解用戶的作用
用戶家目錄:用戶的個人目錄,保存用戶的個人文件以及配置信息
shell:一種負責人機交互的軟件。可以在系統中/etc/shells文件中查看當前系統所支持的shell種類。RHEL7支持的shell:
/bin/sh 最古老的shell
/bin/bash 目前應用最多的shell
/sbin/nologin 使用戶無法登陸的shell
用戶管理命令
useradd 選項 參數 用戶名 創建對應的用戶
選項:
-u 創建用戶時指定用戶的uid,如果不指定,則默認為上一個用戶的uid+1
-g 創建用戶時將用戶加入gid所指定的用戶組(該用戶組必須已經存在),如果不指定,則默認uid=gid,在創建用戶時,會創建與用戶同名的用戶組。
-s 創建用戶時指定用戶使用的shell,若不指定,默認為/bin/bash
-d 創建用戶時指定用戶的家目錄位置,若不指定,則自動在/home目錄下創建于用戶名相同目錄名的目錄作為家目錄passwd 修改密碼的命令
root用戶使用時:passwd 用戶名 修改指定用戶的密碼(root用戶可以修改系統中任意一個用戶的密碼);普通用戶使用時:passwd 修改自己的密碼(普通用戶只能修改自己的密碼);對于可登錄的用戶來說,密碼是必備的
id 用戶名 查看用戶的信息
usermod 選項 參數 用戶名
-u 修改用戶的uid(一般不使用)
-g 修改用戶的gid
-s 修改用戶使用的shell
-d 修改用戶的家目錄例子:
usermod -g 0 student 將student用戶的用戶組更改為root用戶組(root用戶組gid=0)userdel -r 用戶名 刪除用戶的同時刪除家目錄
? 或者:find / -user 用戶名 -exec rm -rf {} \;
用戶切換命令
su 臨時切換用戶的命令 su 用戶名 臨時切換用戶 su - 用戶名 臨時切換用戶,同時切換家目錄注意:
1、root用戶使用su命令時,無需提供密碼,其他用戶均需提供要切換的用戶的密碼才能切換
2、切換用戶時,如果沒有輸入密碼的步驟,則用戶的遠程權限(遠程文件共享等)不發生切換
3、臨時切換使用完后,可以使用exit命令退出切換。如果不是需要,不要在su命令切換的用戶內再次使用su命令
sudo 臨時獲取root用戶身份執行命令
sudo 要執行的命令
例子:普通用戶下
sudo passwd root
系統中哪些用戶能夠使用sudo命令,在/etc/sudoers文件中進行配置,正常情況下,系統默認設置wheel用戶組的成員全部可以使用sudo命令
用戶組管理命令
? 主組:用戶擁有主組的權限,用戶一般使用主組的身份進行操作,一個用戶只能擁有一個主組
從屬組(附屬組,副組):也同時擁有從屬組的所有權限,用戶擁有的從屬組沒有上限
? 用戶組的信息的存放位置: /etc/group 保存用戶組信息;/etc/gshadow 保存用戶組密碼(從不使用)
/etc/group 文件內容:文件中每一行代表一個用戶組的信息,格式為:用戶組名:密碼:gid:所屬用戶。注意:所屬用戶位置保存的是將該用戶組設置為附屬組的所有用戶的名字
groupadd group-name 創建用戶組
groupadd -g gid group-name 創建用戶組時指定gid
groupmod -g gid group-name 修改用戶組的gid
groupdel group-name 刪除用戶組
與從屬組相關的命令: useradd -G 用戶組名或gid 用戶名 創建用戶時指定從屬組usermod -G 用戶組名或gid 用戶名 重新設置從屬組 usermod -aG 用戶組名或gid 用戶名 添加一個從屬組
權限管理基礎
ls -l path 查看文件詳細信息(包含權限信息)
dr-xr-xr-x.即使用十一位二進制數字表示權限
第一位:表示文件類型
- 普通文件
d 目錄
l 鏈接文件
b 塊設備文件
s 套接字文件
第二位到第四位:表示文件所屬人對于文件的權限
依次為讀(r)寫(w)執行(x)
第五位到第七位:表示文件所屬組對于文件的權限
第八位到第十位:表示系統中除文件所屬人所屬組之外的其他用戶對于文件的權限
第十一位:代表是否具有訪問控制列表(acl)如果沒有,則為‘.’ 如果有,則為‘+’
- 普通文件
對于文件:
讀(r)權限:代表是否能夠查看文件內容
寫(w)權限:代表是否能夠對文件內容進行修改
執行(x)權限:代表是否為一個可執行文件(應用程序)
對于目錄:
讀(r)權限:代表是否能夠查看到目錄中有哪些內容
寫(w)權限:代表是否能夠對目錄中內容進行修改(在目錄中新建文件、修改目錄中內容的信息、對目錄中的文件或目錄進行編輯)
執行(x)權限:代表是否能夠進入目錄
注意:對于目錄來說,讀權限和執行權限是缺一不可的,兩者少一個,則沒有任何意義;寫權限也與執行權限相關。對于目錄來說,執行權限是最基本權限,如果沒有執行權限,其他權限沒有意義
權限管理命令
chown
chown 用戶名:用戶組名 路徑 同時修改所屬人所屬組
chown 用戶名 路徑 僅修改所屬人
chown :用戶組名 路徑 僅修改所屬組chgrp 用戶組名 路徑 修改所屬組
chmod 權限表達式 路徑 修改權限
字母法:
u:代表所屬人
g:代表所屬組
o:代表其他人
a:代表所有人
+:代表添加權限
-:代表移除權限
r:代表讀權限
w:代表寫權限
x:代表執行權限
例子:
u+r 所屬人具有讀權限
o-x 其他人不具備執行權限
a-r 所有人均不具備讀權限
數字法:
r=4
w=2
x=1
每三位用一個數字表示,該數字大小為三位權限的代數和
例子:
rw-r–r– >> 644
354 >> -wxr-xr–
文件的最大權限為:666
目錄的最大權限為:777
文件訪問控制列表(facl)
作用:針對單個用戶的權限進行限制
getfacl path 查看文件的訪問控制列表
setfacl -m user:username:permission-expr path 設置訪問控制列表
例子:
setfacl -m user:student:r– /bin/passwd注意:
1、facl對root用戶及文件所屬人無效
2、facl設置后,會對ls -l 命令查看到的內容產生影響,使顯示不準確,所以說設置facl以后,詳細的權限內容,以facl中顯示的為準;隱藏權限attr 是唯一可以限制root用戶的權限,不推薦使用。
特殊權限
??suid :僅對應用程序設置有效,設置后,無論系統中哪個用戶執行該程序,都會以程序所屬人的身份執行。該權限設置后,會占用所屬人權限的執行權位,并顯示為‘s’。如果所屬人本身沒有執行權,則顯示為‘S’。注意:普通用戶想要執行具有suid設置的程序,必須本身對該程序具有執行權,且程序所有人也對該程序具有執行權
??sgid : 僅對目錄設置有效,對目錄設置后,該目錄中新建的所有內容所屬組及組權限均與該目錄相同
??sbit : 粘滯鍵,僅對目錄設置有效,對目錄設置后,目錄中的子目錄的內容,只有目錄的所屬人以及子目錄的所屬人有權限修改
? 設置特殊權限:
suid=4
sgid=2
sbit=1
? 三種特殊權限占用一位數字,寫在普通權限的前面
例子:chmod 2770 path 對對應的目錄設置sgid
總結
以上是生活随笔為你收集整理的玩转Linux必备知识(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 玩转Linux必备知识(二)
- 下一篇: 玩转Linux必备知识(四)