網站首頁 編程語言 正文
文件/目錄的權限和歸屬
Linux基于用戶身份對資源訪問進行控制
用戶賬號
超級用戶(root):唯一的,擁有最高權限
普通用戶:由管理員或root用戶創建的用戶,一些高危命令和其他命令會受限制,只有在自己的家目錄中才能擁有最高權限。
程序用戶:安裝Linux系統和部分程時,會添加一些特定的低權限用戶賬號,不允許登錄,一般為程序專用用戶,一般用于跑程序,主要是為了程序或系統的正常運行。
賬號組
基本組(私有組):一個用戶只有一個,創建用戶時就會自動產生的組。創建用戶時必須要有一個基本組存在。
在/etc/passwd文件中第4字段記錄的即為該用戶的基本組 GID 號
附加組(共有組):額外添加上的組。除了基本組外都可以認為是附加組。
UID和GID
UID(User IDentity,用戶標識號)
每個用戶唯一的,不可重復(可與GID重復,不相干)
GID(Group IDentify,組標識號)
每個組唯一的,不可重復(可與UID重復,不相干)
root 用戶賬號的 UID和GID號固定值為 0
普通用戶賬號的UID和GID號 默認為Centos5,6:500~60000 , Centos7:1000~60000
程序用戶賬號的UID和GID 號默認為Centos5,6:1~499 , Centos7:1~999
用戶帳號文件/etc/passwd
保存用戶名稱、宿主目錄、登錄Shell等基本用戶
? ?文件位置:/etc/passwd
? ? 每一行對應一個用戶的賬號記錄
wc -l /etc/passwd ? ?##查看共有多少行,即為有多少個用戶
vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
?
字段1:用戶賬號的名稱
字段2:用戶登錄占位符“x"
字段3:用戶賬號的UID號
字段4:所屬基本組賬號的GID號
字段5:用戶全名
字段6:宿主目錄
字段7:登錄Shell信息(/bin/bash為可登錄系統,/sbin/nologin和/bin/false為禁止用戶登錄系統)
用戶密碼文件/etc/shadow
?
保存用戶的密碼、賬號有效期等信息
vim /etc/shadow
root:$6$XWR77lK1U96ipaJD$QEktIly7bQRX95aRMPloP5FqFrosxX8xJvEigYJBl9IBcjUFH3JCh54ELKy9TuWh1m9f3Vx9VibDGaJXwhrwp0::0:99999:7:::?
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
adm:*:17110:0:99999:7:::
lp:*:17110:0:99999:7:::
sync:*:17110:0:99999:7:::
shutdown:*:17110:0:99999:7:::
字段1:用戶賬號的名稱
字段2:使用MD5加密的密碼字串信息,當為“*”或“!!”時表示用戶不能登錄到系統。若該字段內容為空,則該用戶無需密碼即可登錄系統
字段3:上次修改密碼時間,表示從1970年01月01日算起到最近一次修改密碼時間間隔的天數
字段4:密碼的最短有效天數,表示本次修改密碼后,必須經過多少天才能修改密碼。默認值為0,表示不限制。
字段5:密碼的最長有效天數,本次修改密碼后,經過該天數以后必須再次修改密碼。默認值為99999,表示不進行限制。
字段6:提前多少天警告用戶密碼即將過期,默認值為7天
字段7:在密碼過期之后多少天禁用此用戶
字段8:賬號失效時間,此字段指定了用戶作廢的天數(從1970年01月01日起計算),默認值為空,表示賬號永久可用
字段9:保留字段(未使用)
添加用戶賬號useradd或者adduser
useradd命令
useradd [選項]。。。用戶名
在/etc/passwd和/etc/shadow 文件末尾增加該用戶賬號的記錄。
若未指明宿主目錄,則在/home目錄下自動創建一個目錄
-u:指定用戶的UID號,要求該UID號未被其他用戶使用,若不指定則在上一個用戶的UID號上自增1
-d:指定用戶的宿主目錄位置(當與-M一起使用時不生效)。只能用絕對路徑指定目錄,且不需要事先創建。(不能指定已存在目錄)
-e:指定用戶的賬戶失效時間,可使用YYYY-MM-DD的日期格式
-g:指定用戶的基本組名(或使用GID號),對應的組名必須存在
-G:指定用戶的附加組名(或使用GID號),對應組名必須存在
-M:不建立宿主目錄
-s:指定用戶的登錄Shell,(比如/bin/bash為可登錄,/sbin/nologin和/bin/false為禁止登錄。)
?
?
?
設置/更改用戶口令passwd(密碼)
passwd命令
root用戶可以指定用戶名作為參數,對指定用戶進行修改密碼。
普通用戶只能更改自己的密碼
passwd ?[選項]... 用戶名
-d:清空指定用戶密碼
-l:鎖定用戶賬戶,鎖定的用戶無法登錄
-S:查看用戶是否被鎖定
-u:解鎖用戶賬戶(-f 空用戶強制操作)
?
修改用戶賬號的屬性usermod
?usermod命令
usermod [選項]... 用戶名
##常用
-l:修改賬號名稱
-L:鎖定用戶
-U:解鎖用戶-u、-d、-e、-g、-G、-s
與useradd命令中的含義相同
?
刪除用用戶userdel
userdel [-r] 用戶名
-r:會連同對應的宿主目錄一并刪除。
用戶賬號的初始配置文件
文件來源
useradd命令添加一個現代用戶賬號后會自動在該用戶的宿主目錄中撞見一些初始配置文件。
這些文件來自于賬號 ,這些文件基本都是隱藏文件。
.bashrc
/etc/bashrc 對所有用戶生效
PATH變量中用于設置可執行程序的默認搜索路徑
PATH的生效原理:
組賬號文件
與用戶賬號文件相類似
? ? ?/etc/group:保存組賬號基本信息
? ? ?/etc/gshadow:保存組賬號的密碼信息
字段1:組長號的名稱
字段2:占位符”x“
字段3:組賬號的GID號
字段4:組賬號的用戶成員
增加組groupadd命令
groupadd [-g GID] 組賬號名 ? ? ?##添加組賬號指定GID號
groupaddd 組賬號名 ? ? ? ? ? ? ?##添加組賬號,不指定GID
添加刪除組成員gpasswd
gpasswd命令
? ?設置組賬號密碼(極少用)、添加/刪除組成員
gpasswd [選項] ... 組賬號名
-a:添加一個成員到組內
-d:從組內刪除一個成員
-M:定義組成員列表,以逗號隔開(直接覆蓋原組內成員)
刪除組賬號groupdel
查詢賬號信息
groups [組名]
id [用戶名]
finger [用戶名]:默認無此命令,需要rpm安裝
w、who、users:查詢當前正在登錄系統的用戶信息
w:可查看cup負載情況
文件/目錄的權限和歸屬
訪問權限
讀取 r:允許查看文件內容,顯示目錄列表
寫入 w:允許修改文件內容,允許在目錄中新建、移動、刪除文件或子目錄
可執行 x:允許允許程序、切換目錄
s權限可使用戶獲得一定的管理員權限
歸屬(所有權)
屬主(用戶):擁有該文件或目錄的用戶賬號(ls-l 第三字段)
屬組(組用戶):擁有該文件或目錄的組賬號(ls -l第四字段)
查看文件/目錄的權限? ls-l
?
權限項
字符表示
數字表示(八進制)讀 4 寫 2 執行 1
權限分配
設置文件和目錄的權限chmod
chmod命令
chmod [ugoa] [+-=] [rwxx] 文件或目錄
u、g、o、a 分別表示屬主(u)、屬組(g)、其他用戶(o)、所有用戶(a)
+ 、- 、=分別表示增加、去除、設置權限
r、w、x分別表示讀、寫、運行權限chmod nnn 文件或目錄
nnn代表三位八進制數(讀、寫、執行)chmod 777 目錄/ -R(運行到底)
-R:遞歸修改指定目錄下所有子項的權限
設置文件和目錄的歸屬chown
chown命令
-R:遞歸修改指定目錄下所有子項的權限chown 屬主 文件或目錄
chown :屬組 文件或目錄
chown 屬組:屬組 文件或目錄
chown 用戶名.組名 同樣可同時更改-R:遞歸修改指定目錄下所有子項的權限
chgrp 組名 文件名 ?可直接更改文件的組名
設置目錄和文件的默認權限umask
umask作用
? ?控制新建的文件或目錄的權限
Linux普通文件的最大默認權限為 6(rw)
目錄的最大默認權限為7(rwx)
umask默認值為022
普通文件 666
??
所以一般文件的權限為644,文件一般不可執行所以執行位一般為0
普通目錄 777
umask默認 022
一般目錄的默認權限為755
? ? ? umask ? nnn(權限數)
?
目錄:最大權限777 減去 umask 后三位 得出 當前創建,目錄的默認權限
文件:由于文件默認權限為偶數,666減去umask后是奇數,則需加上1變成偶數。由此得出當前創建文件的默認權限。
目錄下所有子項的權限
? ? ? ? ?chgrp 組名 文件名 ?可直接更改文件的組名
設置目錄和文件的默認權限umask
umask作用
? ? ? ? ?控制新建的文件或目錄的權限
Linux普通文件的最大默認權限為 6(rw)
目錄的最大默認權限為7(rwx)
umask默認值為022
普通文件 666 - 022
?
所以一般文件的權限為644,文件一般不可執行所以執行位一般為0
普通目錄 777
umask默認 022
一般目錄的默認權限為 755
? ? ?? ? umask ? nnn(權限數)
目錄:最大權限777 減去 umask 后三位 得出 當前創建,目錄的默認權限
文件:由于文件默認權限為偶數,666減去umask后是奇數,則需加上1變成偶數。由此得出當前創建文件的默認權限。
?
原文鏈接:https://blog.csdn.net/weixin_71438279/article/details/125688236
- 上一篇:python日志管理loguru模塊實操
- 下一篇:Linux安裝及管理程序
相關推薦
- 2023-01-18 一文帶你了解Qt中槽的使用_C 語言
- 2022-07-09 Python?操作?Excel?之?openpyxl?模塊_python
- 2021-11-27 Linux開機自啟動服務兩種方式介紹_Linux
- 2023-03-20 c#中Invoke與BeginInvoke的用法及說明_C#教程
- 2022-07-06 YOLOv5目標檢測之anchor設定_python
- 2022-11-24 Python模板的使用詳細講解_python
- 2022-10-28 keepalived對nginx進行高可用搭建及原理詳解_nginx
- 2022-06-15 go語言context包功能及操作使用詳解_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支