Linux用戶和權限

一、認知root用戶

1.1??了解什么是root用戶(超級管理員)

root用戶(超級管理員)

無論是Windows、MacOS、Linux均采用多用戶的管理模式進行權限管理。

在Linux系統中,擁有最大權限的賬戶名為:root(超級管理員)

root用戶擁有最大的系統操作權限,而普通用戶在許多地方的權限是受限的。

演示:

使用普通用戶在根目錄下創建文件夾

切換到root用戶后,繼續嘗試

1.2??su和exit命令

su命令就是用于賬戶切換的系統命令,其來源英文單詞:Switch User

語法:? su? ?[-]? ?[用戶名]

????????- 符號是可選的,表示是否在切換用戶后加載環境變量(后續講解),建議帶上

????????參數:用戶名,表示要切換的用戶,用戶名也可以省略,省略表示切換到root


切換用戶后,可以通過exit命令退回上一個用戶,也可以使用快捷鍵:ctrl + d


使用普通用戶,切換到其它用戶需要輸入密碼,如切換到root用戶

使用root用戶切換到其它用戶,無需密碼,可以直接切換

1.3??sudo命令

????????在我們得知root密碼的時候,可以通過su命令切換到root得到最大權限。 但是我們不建議長期使用root用戶,避免帶來系統損壞。

????????我們可以使用sudo命令,為普通的命令授權,臨時以root身份執行。


語法:sudo? 其他命令


????????在其它命令之前,帶上sudo,即可為這一條命令臨時賦予root授權

????????但是并不是所有的用戶,都有權利使用sudo,我們需要為普通用戶配置sudo認證

1.3.1??為普通用戶配置sudo認證

①切換到root用戶,執行visudo命令,會自動通過vi編輯器打開:/etc/sudoers

②在文件的最后添加:

????????其中最后的NOPASSWD:ALL 表示使用sudo命令,無需輸入密碼

③最后通過 wq 保存?

④切換回普通用戶

⑤執行的命令,均以root運行

二、用戶、用戶組管理

2.1??用戶、用戶組介紹

2.2??用戶組管理

創建用戶組:

????????groupadd 用戶組名


刪除用戶組:

????????groupdel 用戶組名

2.3??用戶管理

創建用戶:

????????useradd? [ -g? -d ]? 用戶名

????????選項:-g指定用戶的組,不指定-g,會創建同名組并自動加入,指定-g需要組已經存在,如已存在同名組,必須使用-g

????????選項:-d指定用戶HOME路徑,不指定,HOME目錄默認在:/home/用戶名


刪除用戶:

????????userde? [ -r ]? 用戶名

????????選項:-r,刪除用戶的HOME目錄,不使用-r,刪除用戶時,HOME目錄保留


查看用戶所屬組:

????????id? [ 用戶名 ]

????????參數:用戶名,被查看的用戶,如果不提供則查看自身


修改用戶所屬組:

????????usermod -aG 用戶組 用戶名,將指定用戶加入指定用戶組

2.4? 查看系統用戶/用戶組

①使用getent命令,可以查看當前系統中有哪些用戶

語法: getent passwd

共有7份信息,分別是: 用戶名:密碼(x):用戶ID:組ID:描述信息(無用):HOME目錄:執行終端(默認bash)

②使用getent命令,同樣可以查看當前系統中有哪些用戶組

語法:getent group

包含3份信息,組名稱:組認證(顯示為x):組ID

三、查看權限控制

3.1? ?認知權限信息

通過ls -l 可以以列表形式查看內容,并顯示權限細節

????????序號1,表示文件、文件夾的權限控制信息

????????序號2,表示文件、文件夾所屬用戶

????????序號3,表示文件、文件夾所屬用戶組


解析序號1如下:

3.2??rwx代表什么

????????r表示讀權限

????????w表示寫權限

????????x表示執行權限

四、修改權限控制 - chmod (修改文件/文件夾的權限信息)

我們可以使用chmod命令,修改文件、文件夾的權限信息。

注意,只有文件、文件夾的所屬用戶或root用戶可以修改。

語法 :? chmod? [ -R ]? 權限文件或文件夾

  • 選項-R,設置文件夾和其內部全部內容一樣生效

示例:

  • chmod u=rwx,g=rx,o=x hello.txt ,將文件權限修改為:rwxr-x--x? 。其中:u表示user所屬用戶權限,g表示group組權限,o表示other其它用戶權限

  • chmod -R u=rwx,g=rx,o=x test,將文件夾test以及文件夾內全部內容權限設置為:rwxr-x--x

除此之外,還有快捷寫法:chmod 751 hello.txt,下面來介紹權限的數字序號

4.1??權限的數字序號

????????權限可以用3位數字來代表,第一位數字表示用戶權限,第二位表示用戶組權限,第三位表示其它用戶權限。 數字的細節如下:r記為4,w記為2,x記為1,可以有:

  • 0:無任何權限,?? ?即 ---

  • 1:僅有x權限,?? ?即 --x

  • 2:僅有w權限?? ?即 -w-

  • 3:有w和x權限?? ?即 -wx

  • 4:僅有r權限?? ?即 r--

  • 5:有r和x權限?? ?即 r-x

  • 6:有r和w權限?? ?即 rw-

  • 7:有全部權限?? ?即 rwx

所以751表示: rwx(7) r-x(5) --x(1)


?案例:

將hello.txt的權限修改為: r-x--xr-x,數字序號為:chmod 515 hello.txt

將hello.txt的權限修改為: -wx-w-rw-,數字序號為: chmod 326 hello.txt

序號123代表的權限是: --x-w--wx


五、修改權限控制 - chown? (修改文件/文件夾的所屬用戶和用戶組)

使用chown命令,可以修改文件、文件夾的所屬用戶和用戶組

普通用戶無法修改所屬為其它用戶或組,所以此命令只適用于root用戶執行

語法:chown [-R] [用戶][:][用戶組] 文件或文件夾

  • 選項 [-R] ,同chmod,對文件夾內全部內容應用相同規則

  • 選項 [用戶] ,修改所屬用戶

  • 選項[用戶組],修改所屬用戶組

  • [ : ] 用于分隔用戶和用戶組

示例:

  • chown root hello.txt,將hello.txt所屬用戶修改為root

  • chown :root hello.txt,將hello.txt所屬用戶組修改為root

  • chown root:itheima hello.txt,將hello.txt所屬用戶修改為root,用戶組修改為itheima

  • chown -R root test,將文件夾test的所屬用戶修改為root并對文件夾內全部內容應用同樣規則

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/212057.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212057.shtml
英文地址,請注明出處:http://en.pswp.cn/news/212057.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java9及之后關于類加載器的新特性

為了保證兼容性,JDK9沒有從根本上改變三層類加載器的架構和雙親委派模型,但為了模塊化系統的順利運行,仍然發生了一些值得被注意的變動。 一、變動1 由于引入了模塊化概念,所以不同的類加載器回去加載屬于不同模塊的類 啟動類加…

Nginx負載均衡實戰

🎵負載均衡組件 ngx_http_upstream_module https://nginx.org/en/docs/http/ngx_http_upstream_module.html upstream模塊允許Nginx定義一組或多組節點服務器組,使用時可以通過多種方式去定義服務器組 樣例: upstream backend {server back…

從零開發短視頻電商 在AWS SageMaker已創建的模型列表中進行部署

1.導航到 SageMaker 控制臺。 2.在 SageMaker 控制臺的左側導航欄中,選擇 “模型” 選項。 3.在模型列表中,找到您要部署的模型。選擇該模型。 4.點擊 “創建端點” 選項或者點擊 “創建端點配置” 選項都可以進行部署。 選擇創建端點進去后還是會進行…

k8s中部署基于nfs的StorageClass

部署nfs服務 1.1 創建基礎鏡像(選做) 如果以docker的形式部署nfs server, 參考此步驟, 若否, 該步驟可忽略。 mkdir /data/nfs -p chmod 755 /data/nfs# NFS默認端口: 111、2049、20048 docker run -d \ --privileged \ --name nfs_server \ -p 111:111/tcp \ -p 111:111/ud…

[CTFshow 紅包挑戰] 刷題記錄

文章目錄 紅包挑戰7紅包挑戰8紅包挑戰9 紅包挑戰7 考點&#xff1a;xdebug拓展 源碼 <?php highlight_file(__FILE__); error_reporting(2);extract($_GET); ini_set($name,$value);system("ls ".filter($_GET[1])."" );function filter($cmd){$cmd s…

1832_org-mode的注釋處理

Grey # :OPTIONS ^:nil org-mode的注釋處理 關于這部分其實比較簡單&#xff0c;在我現在的使用訴求上來說要求不多。但是我覺得如果考慮以后把文學式編程作為一種開發的主要體驗的話&#xff0c;掌握這樣的操作很有必要。因為我可以控制部分信息的輸出。 自然&#xff0c;控…

LeetCode-數組-重疊、合并、覆蓋問題-中等難度

435. 無重疊區間 我認為區間類的題型&#xff0c;大多數考驗的是思維能力&#xff0c;以及編碼能力&#xff0c;該類題型本身并無什么算法可言&#xff0c;主要是思維邏輯&#xff0c;比如本題實際上你只需要能夠總結出重疊與不重疊的含義&#xff0c;再加上一點編碼技巧&#…

go-zero開發入門-API服務開發示例

接口定義 定義 API 接口文件 接口文件 add.api 的內容如下&#xff1a; syntax "v1"info (title: "API 接口文件示例"desc: "演示如何編寫 API 接口文件"author: "一見"date: "2023年12月07日"version: "…

Spring Boot 優雅地處理重復請求

前 言 對于一些用戶請求&#xff0c;在某些情況下是可能重復發送的&#xff0c;如果是查詢類操作并無大礙&#xff0c;但其中有些是涉及寫入操作的&#xff0c;一旦重復了&#xff0c;可能會導致很嚴重的后果&#xff0c;例如交易的接口如果重復請求可能會重復下單。 重復的場…

Verilog基礎:$random系統函數的使用

相關閱讀 Verilog基礎?編輯https://blog.csdn.net/weixin_45791458/category_12263729.html $random系統函數語法的BNF范式如下所示&#xff0c;有關BNF范式相關內容&#xff0c;可以瀏覽以往文章Verilog基礎&#xff1a;巴科斯范式(BNF)。 $random系統函數在每次調用時返回一…

【IDEA】IntelliJ IDEA中進行Git版本控制

本篇文章主要記錄一下自己在IntelliJ IDEA上使用git的操作&#xff0c;一個新項目如何使用git進行版本控制。文章使用的IDEA版本 IntelliJ IDEA Community Edition 2023.3&#xff0c;遠程倉庫為https://gitee.com/ 1.配置Git&#xff08;File>Settings&#xff09; 2.去Git…

[gRPC實現go調用go]

1什么是RPC RPC&#xff1a;Remote Procedure Call&#xff0c;遠程過程調用。簡單來說就是兩個進程之間的數據交互。正常服務端的接口服務是提供給用戶端(在Web開發中就是瀏覽器)或者自身調用的&#xff0c;也就是本地過程調用。和本地過程調用相對的就是&#xff1a;假如兩個…

深度優先遍歷(DFS)

時間復雜度與深搜一致&#xff1b;

STM32 定時器總結

縮寫 ARR: Auto-Reload Register&#xff08;保存定時器的計數范圍&#xff09; PSC: Prescaler register&#xff08;預分頻器寄存器&#xff0c;根據設置的分頻因子N&#xff0c;計數N個定時器時鐘脈沖后&#xff0c;產生一個CNT計數&#xff0c;以此實現分頻功能&#xff0…

LeetCode 2048. 下一個更大的數值平衡數

一、題目 1、題目描述 如果整數 x 滿足&#xff1a;對于每個數位 d &#xff0c;這個數位 恰好 在 x 中出現 d 次。那么整數 x 就是一個 數值平衡數 。 給你一個整數 n &#xff0c;請你返回 嚴格大于 n 的 最小數值平衡數。 0 < n < 1e6 2、接口描述 public:int nextB…

Android渲染-AHardwareBuffer

本文主要從應用的角度介紹android的native層AHardwareBuffer創建紋理以及保存渲染數據。 HardwareBuffer 要介紹native層的AHardwareBuffer&#xff0c;就需要先從Java層的HardwareBuffer說起。Android官方對于HardwareBuffer介紹如下&#xff1a; HardwareBuffer wraps a na…

HttpURLConnection OOM問題記錄

使用HttpURLConnection 上傳大文件&#xff0c;會出現內存溢出問題&#xff1a; 觀察HttpURLConnection 源碼&#xff1a; Overridepublic synchronized OutputStream getOutputStream() throws IOException {connecting true;SocketPermission p URLtoSocketPermission(th…

【接口分享】熱門好用的API,含免費次數

語音驗證碼短信&#xff1a;撥打電話告知用戶驗證碼&#xff0c;實現信息驗證。短信驗證碼&#xff1a;可用于登錄、注冊、找回密碼、支付認證等等應用場景。支持三大運營商&#xff0c;3秒可達&#xff0c;99.99&#xff05;到達率&#xff0c;支持大容量高并發。通知短信&…

基于SSM的點餐系統的設計與實現

末尾獲取源碼 開發語言&#xff1a;Java Java開發工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 數據庫&#xff1a;MySQL5.7和Navicat管理工具結合 服務器&#xff1a;Tomcat8.5 開發軟件&#xff1a;IDEA / Eclipse 是否Maven項目&#xff1a;是 目錄…

mysql設置為密碼登錄

要設置Ubuntu上的MySQL需要密碼登錄&#xff0c;你可以使用以下步驟&#xff1a; 打開終端。 輸入以下命令登錄到 MySQL 服務器&#xff1a; sudo mysql -u root -p按Enter后&#xff0c;系統會要求輸入密碼。如果是第一次登錄&#xff0c;你可能需要直接按Enter鍵&#xff08…