linux關於文件的那些事兒

来源:http://www.cnblogs.com/dagege/archive/2016/10/13/5956116.html
-Advertisement-
Play Games

一個文件的許可權對於系統的安全來說是很重要的,linux是一個支持多任務多用戶的系統,我們都不希望一些自己的文件被別人看到或者修改! 對於一個文件的許可權我們可以用 ls -l 命令來查看,例如: 出來的結果可以看到分成了7個部分 第一部分[-rw-r--r--]代表的是文件的類型和文件的許可權 這裡又可 ...


一個文件的許可權對於系統的安全來說是很重要的,linux是一個支持多任務多用戶的系統,我們都不希望一些自己的文件被別人看到或者修改!

對於一個文件的許可權我們可以用 ls -l 命令來查看,例如:

[root@localhost /]# touch 1.php  #創建一個1.php文件 這裡使用的root賬戶
[root@localhost /]# ls -l 1.php  
-rw-r--r-- 1 root root 0 10月 13 13:16 1.php

出來的結果可以看到分成了7個部分

第一部分[-rw-r--r--]代表的是文件的類型和文件的許可權

這裡又可以分為四個部分[-][rw-][r--][r--]

           1    2      3     4

1、[-]代表這是一個文件:

[-] 文件

[d] 目錄

[l] 鏈接

[b] 可存取硬體設備

[c] 串型埠設備

2、[rw-]代表的是文件擁有者(user)許可權

3、[r--]代表的是組(group)許可權

4、[r--]代表的是其他用戶(other)許可權

[r] 可讀

[w] 可寫

[x] 可執行

[-] 空

拿文件擁有者的許可權[rw-]來說 就是擁有了可讀寫許可權但是沒有課執行許可權

第二部分[1] 鏈接

與鏈接文件有關

第三部分[root] 文件擁有者

這裡的文件擁有者為root,因為我們使用root賬戶來創建的該文件

第四部分[root] 組

代表了文件所屬的組,這裡為root組,組裡的所有用戶對該文件都擁有給定的許可權

第五部分[0] 文件的大小

第六部分[10月 13 13:16 ] 最後修改日期

第七部分[1.php] 文件的名稱

 

修改文件的許可權

使用chmod命令可以修改文件的許可權,上面提到文件的許可權有三種分別是user,group,other

我們現在給1.php文件加上other的寫入許可權:

[root@localhost /]# chmod o+w 1.php   #[u=user g=group o=other a=all ][w=寫入許可權 r=讀許可權 x=執行許可權][+是添加許可權 -是刪除許可權]這裡後面也可以加目錄,這樣就是直接給目錄加上了許可權
[root@localhost /]# ls -l 1.php 
-rw-r--rw- 1 root root 0 10月 13 16:00 1.php

 

可以看到寫入的許可權已經加上了,這裡提一下文件的許可權只有文件的擁有者和root可以修改!

 

修改文件的擁有者

使用chown命令,文件的擁有者必須為系統中存在的用戶

現在將文件的擁有者改為cooleyes(存在),和dagege(不存在)試試:

[root@localhost /]# chown cooleyes 1.php
[root@localhost /]# ls -l 1.php 
-rw-r--rw- 1 cooleyes root 0 10月 13 16:00 1.php
[root@localhost /]# chown dagege 1.php 
chown: 無效的用戶: "dagege"

 

當我們將文件的擁有者改為cooleyes時命令生效並且成功了,而當我我們將擁有者改為一個系統不存在的用戶dagege時系統提示我們沒有這個用戶

這裡提示一下root賬戶可以修改任何文件的許可權,擁有者,組,但是普通用戶只能將文件的擁有者改成自己所在組的用戶。

 

修改文件的所屬組

使用chgrp命令,文件的所屬組也必須是系統中存在的組

現在將文件的所屬組改為cooleyes(存在),和dagege(不存在)試試:

[root@localhost /]# chgrp cooleyes 1.php 
[root@localhost /]# ls -l 1.php 
-rw-r--rw- 1 cooleyes cooleyes 0 10月 13 16:00 1.php
[root@localhost /]# chgrp dagege 1.php
chgrp: 無效的組:"dagege"

可見chgrp命令和chown命令操作都需要系統存在所需的用戶和組,普通用戶只能將文件的所屬組修改為自己所在的組(用戶可以同時存在多個組中)

 

最後說幾句

還有一點 chown命令可以同時修改文件的用戶和組

比如現在將文件的擁有者和所屬組還原:

[root@localhost /]# chown root:root 1.php  #用戶和組用分號隔開
[root@localhost /]# ls -l 1.php 
-rw-r--rw- 1 root root 0 10月 13 16:00 1.php

感覺很實用呢! chmod chgrp chown這三個命令的作用可不止真麽簡單 man chmod可以讓我們查看到更多的作用,這裡就因為實在太多這裡就不舉例了!

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • who
    查看當前系統中當前登錄的帳戶 如果在tty7里 ,那麼 不會識別root,需要在tty1里登錄 ,就可以在任何終端里執行 查看到root用戶 ...
  • daemon(守護進程) 與 service(服務) daemon 的主要分類 stand_alone :此daemon可以 自行單獨啟動服務 super daemon :一個特殊的 daemon 來統一管理 super daemon 的處理模式有2中: multi_threaded(多線程) si ...
  • 以k3日誌為例: 在k3的資料庫伺服器進行如下操作: 1、在k3的資料庫伺服器導出日誌數據到本地D:/K3LOG下(腳本自動化執行) 2、設置腳本定時任務每天拷貝D:/K3LOG下的文件到D:/K3LOG_BAK EOF set filename=D:\test\del.log echo (%dat ...
  • 版權聲明: 本文作者為—陳鑫 本文的所有內容均來陳鑫總結,未經本人許可,禁止私自轉發及使用。 QQ: 499741233 E-mail: [email protected] 版權聲明: 本文作者為—陳鑫 本文的所有內容均來陳鑫總結,未經本人許可,禁止私自轉發及使用。 QQ: 499741233 E-m ...
  • 將變數的值當作數值處理而不是字元串,shell支持6種算術運算符:加 , 減 ,乘 ,除 , 取餘 , 括弧 ,每種算術運算符的兩邊都要有空格 ...
  • 從標準輸入讀入一行內容並以空格為分隔符賦值給變數,如果輸入的內容過多,則把剩下的所有內容都賦值給最後一個變數 ...
  • chmod修改目錄或文件的訪問許可權 訪問許可權:一個文件或文件夾的訪問許可權有三種 讀 寫 執行讀:用數字 4 表示寫:用數字 2 表示執行: 用數字 1 表示 用戶類型: 一個文件可以被三種類型的用戶訪問1. 此文件的主人也即創建此文件的人(屬主)2. 與屬主同組的用戶3. 其他組的用戶 linux中 ...
  • df 查看當前系統中文件系統的使用情況 預設選項查看當前系統的所有文件系統 列出所有的信息 列出文件系統類型 human readable,用合適的單位表示大小 mount 將設備添加掛載點,文件系統類型就是 輸出的Type列,設備名就是Filesystem,掛在點就是目標掛在點,將出現在Mount ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...