Linux系統中管理文件和目錄權限的詳細說明,部署服務器遇到文件權限的問題,就想著記錄一下

Linux 文件權限基礎

在Linux中,每個文件和目錄都關聯著三個類別的權限:

  1. 所有者(Owner):通常是創建文件或目錄的用戶。
  2. 組(Group):與文件或目錄關聯的用戶組。組成員共享文件的組權限。
  3. 其他用戶(Others):不屬于文件所有者和組的所有其他用戶。

權限類型分為三種:

  • 讀取(Read, r:允許查看文件內容或列出目錄內容。
  • 寫入(Write, w:允許修改文件內容或在目錄中創建、刪除文件。
  • 執行(Execute, x:允許執行文件(如果是腳本或二進制文件),或者進入目錄。

文件權限表示法

權限表示為十個字符的字符串(例如:-rwxr-xr--),其結構如下:

  1. 文件類型:第一個字符表示文件類型。-表示普通文件,d表示目錄,l表示符號鏈接等。
  2. 所有者權限:接下來的三個字符表示所有者權限。
  3. 組權限:接下來的三個字符表示組權限。
  4. 其他用戶權限:最后三個字符表示其他用戶權限。

例子:-rwxr-xr--

  • -:普通文件
  • rwx:所有者具有讀、寫、執行權限
  • r-x:組具有讀和執行權限
  • r--:其他用戶具有讀取權限

查看文件權限

使用ls -l命令查看文件或目錄的詳細信息,包括權限:

ls -l filename

輸出示例:

-rwxr-xr-- 1 user group 1234 Jun 24 14:33 filename

修改文件權限 (chmod)

chmod命令用于更改文件或目錄的權限,可以使用符號模式或八進制模式。

符號模式(Symbolic Mode)

符號模式通過使用u(所有者)、g(組)、o(其他用戶)和a(所有用戶)以及+(添加)、-(移除)和=(設置)來修改權限。

例子:

chmod u+rwx,g+rx,o-r filename
  • u+rwx:為所有者添加讀、寫、執行權限。
  • g+rx:為組添加讀和執行權限。
  • o-r:移除其他用戶的讀取權限。

更多例子:

  • 只允許所有者讀寫,其他用戶不能訪問:

    chmod 600 filename
    
  • 允許所有用戶讀寫,禁止執行:

    chmod 666 filename
    
八進制模式(Octal Mode)

八進制模式使用數字表示權限,每個權限類型通過三位八進制數字表示:

  • 讀(r)= 4
  • 寫(w)= 2
  • 執行(x)= 1

這些值相加確定具體權限。

例子:

chmod 755 filename
  • 7(所有者):讀(4)+ 寫(2)+ 執行(1)= 7
  • 5(組):讀(4)+ 執行(1)= 5
  • 5(其他用戶):讀(4)+ 執行(1)= 5

修改文件所有者 (chown)

chown命令用于更改文件或目錄的所有者和/或組:

chown user:group filename
  • user:新的所有者用戶。
  • group:新的組名。

只改變所有者:

chown user filename

只改變組:

chown :group filename

遞歸地改變目錄及其所有子文件和子目錄的所有者:

chown -R user:group directoryname

修改文件組 (chgrp)

chgrp命令用于改變文件或目錄的組:

chgrp group filename

遞歸地改變目錄及其所有子文件和子目錄的組:

chgrp -R group directoryname

特殊權限位

Linux支持三種特殊權限:SUID、SGID和粘滯位。

  1. SUID(Set User ID)

    • 設置SUID位的文件在執行時,進程將以文件所有者的權限運行。
    • 適用于可執行文件。
    chmod u+s filename
    
  2. SGID(Set Group ID)

    • 設置SGID位的文件在執行時,進程將以文件組的權限運行。
    • 對于目錄,SGID確保目錄中新創建的文件和子目錄繼承目錄的組。
    chmod g+s filename
    
  3. 粘滯位(Sticky Bit)

    • 設置粘滯位的目錄,只有文件所有者、目錄所有者或超級用戶才能刪除或重命名其中的文件。
    chmod +t directoryname
    

例子

假設有一個名為example.txt的文件,我們希望:

  • 所有者具有讀、寫、執行權限。
  • 組成員具有讀和執行權限。
  • 其他用戶沒有任何權限。

可以這樣設置:

chmod 750 example.txt

或者使用符號模式:

chmod u=rwx,g=rx,o= example.txt

總結

通過熟練使用這些命令,你可以在Linux系統中有效地管理文件和目錄的權限。這對于保護系統安全,控制訪問權限,以及確保不同用戶和進程的隔離至關重要。這些概念和命令的使用,可以幫助你在實際操作中更好地管理和維護系統。

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

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

相關文章

【linux】socket通信代碼解析

目錄 一、Linux中Socket編程的基本步驟 1.1 創建Socket 1.2 綁定Socket 2.3 監聽Socket(僅服務器端) 2.4 接受連接(僅服務器端) 2.5 連接Socket(僅客戶端) 2.6 發送和接收數據 2.7. 關閉Socket 二、Linux中Socket編程具體實現 2.1 TCP服務器 2.2 TCP客戶端 2…

生成隨機函數f3,利用f3生成f18(python)

一、題目 給定一個完全隨機函數f3。能夠完全隨機產生1~3之間任意一個自然數。現在要構造一個f18,讓其能隨機產生1~18之間任意一個自然數,要求寫出f18的函數,另外要測試是否符合預期,f18要用f3 二、代碼 歡迎大家給我更優解&…

mac 安裝mysql啟動報錯 ERROR!The server quit without update PID file

發現問題: mac安裝mysql初次啟動報錯: 一般出現這種問題,大多是文件夾權限,或者以前安裝mysql卸載不干凈導致。首先需要先確定問題出在哪?根據提示我們可以打開mysql的啟動目錄,查看啟動日志。 問題解決&a…

項目如何整合sentinel

1、添加依賴 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifact…

2.x86游戲實戰-跨進程讀取血量

免責聲明&#xff1a;內容僅供學習參考&#xff0c;請合法利用知識&#xff0c;禁止進行違法犯罪活動&#xff01; 本次游戲沒法給 內容參考于&#xff1a;微塵網絡安全 接下來會寫C/C代碼&#xff0c;C/C代碼不是很難&#xff0c;然后為了快速掌握逆向這個技能&#xff0c;我…

python--pickle函數的用法(超詳細)

pickle是Python中的一個標準庫&#xff0c;它提供了一種簡單的方法來序列化和反序列化Python對象&#xff0c;以便可以將它們保存到文件或通過網絡傳輸。pickle模塊可以將Python對象轉換為一種可以存儲或傳輸的格式&#xff0c;然后可以通過pickle模塊將其恢復為原始對象。 下…

不用再找了,這是大模型實踐最全的總結

隨著ChatGPT的迅速出圈&#xff0c;加速了大模型時代的變革。對于以Transformer、MOE結構為代表的大模型來說&#xff0c;傳統的單機單卡訓練模式肯定不能滿足上千&#xff08;萬&#xff09;億級參數的模型訓練&#xff0c;這時候我們就需要解決內存墻和通信墻等一系列問題&am…

對于mysql 故障的定位和排查

故障表現 他的執行時間超過規定的限制&#xff08;比如1000ms&#xff09;CPU使用率高大量業務失敗&#xff0c;數據連接異常執行sql越來越慢&#xff0c;失敗越來越多 解決方案 定位 應急 故障恢復 定位 查詢慢sql的日志查看mysql 的performance schena&#xff08;里面…

flask-socket的實踐

1.長連接和短連接的由來 1&#xff09;TCP在真正的讀寫操作之前&#xff0c;server與client之間必須建立一個連接&#xff0c; 當讀寫操作完成后&#xff0c;雙方不再需要這個連接時它們可以釋放這個連接&#xff0c; 連接的建立通過三次握手&#xff0c;釋放則需要四次握手…

用Roofline模型去分析pytorch和Triton算子

用Roofline模型去分析pytorch和Triton算子 1.參考鏈接2.測試環境3.安裝相關依賴4.鎖頻5.獲取理論算力6.創建測試腳本7.運行測試程序生成Roofline圖8.NVIDIA Nsight Compute生成Roofline9.效果圖A.nn.LinearB.Triton實現 本文演示了如何用Roofline模型去分析pytorch和Triton算子…

如何快速判斷IP被墻

IP被墻是指IP部分地區或者運營商無法被正常進行訪問的一個情況。 被墻的原因有很多種不一一列舉&#xff0c;由于被墻的時間短的為按周按月計算&#xff0c;時間長的則為按年計算&#xff0c;所以一般這種情況下只能選擇更換IP。 檢查辦法&#xff1a; 第一&#xff0c;確認IP…

【銀河麒麟】unzip程序卡住,處理機制詳解,附代碼

1.服務器環境以及配置 【機型】 處理器&#xff1a; HUAWEI,Kunpeng 920 內存&#xff1a; 400G 【內核版本】 4.19.90-23.18.v2101.ky10.aarch64 【OS鏡像版本】 銀河麒麟高級服務器操作系統V10-SP1-0711-arm 【第三方軟件】 docker 2.問題現象描述 一臺k8s服務器…

netconf_h3c_ac

# -*- coding:utf-8 -*- import xmltodict from ncclient import managerip=ACip地址, m=manager.connect(host=ip,port=830,username=賬號,password=密碼,hostkey_verify=False,device_params={name: h3c},allow_agent=False,look_for_keys=False,timeout=30)data_xml = <…

el-dropdown問題

問題&#xff1a;用element組件中的el-dropdown組件之后&#xff0c;發現隨便點擊屏幕任何地方控制臺都會報錯&#xff0c;之前使用的element的級聯查詢 &#xff0c;在加入這個組件之后點擊空白地方下拉面板沒辦法收回去。 element-ui.common.js?ccbf:2432 Uncaught TypeErr…

水上實用救生工具_救生拉桿_鼎躍安全

每年&#xff0c;由于水上事故而失去生命的人數不勝數&#xff0c;水上安全問題也成為公眾關注的焦點。如何在關鍵時刻實施有效的救援&#xff0c;成為保障生命的重要課題。作為水上救援的重要工具&#xff0c;救生拉桿在緊急情況下發揮了無可替代的作用。 救生拉桿&#xff0c…

springboot 緩存框架Cache整合redis組成二級緩存

springboot 緩存框架Cache整合redis組成二級緩存 項目性能優化的解決方案除開硬件外的方案無非就是優化sql&#xff0c;減少sql 的執行時間&#xff0c;合理運用緩存讓同樣的請求和數據庫之間的連接盡量減少&#xff0c;內存的處理速度肯定比直接查詢數據庫來的要快一些。今天就…

CDP問卷的常見問題

CDP問卷的常見問題可以歸納如下&#xff1a; 哪些企業會收到CDP邀請&#xff1f; 企業會收到來自投資和/或采購機構的邀請&#xff0c;以填寫CDP問卷并披露相應的環境管理信息。 未收到邀請的企業可否填報&#xff1f; 未收到邀請的企業可以選擇自行填報。他們需發送申請自愿…

多線程(基礎)

前言&#x1f440;~ 上一章我們介紹了什么是進程&#xff0c;對于進程就了解那么多即可&#xff0c;我們作為java程序員更關注線程&#xff0c;線程內容比較多&#xff0c;所以我們要分好幾部分才能講完 目錄 進程的缺點 多線程&#xff08;重要&#xff09; 進程和線程的區…

鴻蒙開發Ability Kit(程序框架服務):【FA模型切換Stage模型指導】 module的切換

module的切換 從FA模型切換到Stage模型時&#xff0c;開發者需要將config.json文件module標簽下的配置遷移到module.json5配置文件module標簽下&#xff0c;具體差異見下列表格。 表1 FA模型module標簽與Stage模型module標簽差異對比 FA標簽標簽說明對應的Stage標簽差異說明…

隨想錄 Day 72 拓撲排序、最短路徑 樸素dijkstra

隨想錄 Day 72 拓撲排序、最短路徑 樸素dijkstra 117. 軟件構建 117. 軟件構建 時間限制&#xff1a;1.000S 空間限制&#xff1a;256MB 題目描述 某個大型軟件項目的構建系統擁有 N 個文件&#xff0c;文件編號從 0 到 N - 1&#xff0c;在這些文件中&#xff0c;某些文件依…