linux(三)__文件許可權、系統的查找、文本編輯器

来源:http://www.cnblogs.com/xiangkejin/archive/2016/11/23/6091534.html
-Advertisement-
Play Games

1.理解文件許可權及其分配 2.掌握查看文件和目錄的許可權 3.掌握許可權文字表示法和數值表示法 4.學會使用chmod命令設置許可權 5.學會使用chown命令修改屬主和組 文件許可權 查看詳細信息:ls -l fileName(LInux標準)或者ll fileName -rw-r--r-- 分別表示對當 ...


一、文件許可權

1.理解文件許可權及其分配

2.掌握查看文件和目錄的許可權

3.掌握許可權文字表示法和數值表示法

4.學會使用chmod命令設置許可權

5.學會使用chown命令修改屬主和組

 

文件所有者、所在組和其它組

在linux中的每個用戶必需屬於一個組,不能獨立於組外。在linux中每個文件有所有者、所在組、其它組的概念。

(1)所有者

一般為文件的創建者,誰創建了該文件,就是天然的成為該文件的所有者。

用[ls -ahl]命令可以看到文件的所有者

你也可以用[chown 用戶名 文件名]來修改文件的所有者

 

(2)所在組

當某個用戶創建了一個文件後,這個文件的所在組就是該用戶所在的組。

用[ls -ahl]命令可以看到文件的所有組。

你可以通過[chgrp 組名 文件名]來修改文件所在的組

 

(3)其它組

除開文件的所有者和所在組的用戶外,系統的其它用戶都是文件的其它組。

 

(4)改變用戶所在的組

在添加用戶時,可以指定將該用戶添加到哪個組中,同樣的用root的管理許可權可以改變某個用戶所在的組:

 usermod -g 組名 用戶名

你可以用

 usermod -d 目錄名 用戶名 改變該用戶登陸的初始目錄

 

如何在linux中添加組

需要用root用戶來添加,普通用戶無法進行用戶和組的添加

添加組命令:groupadd 組名

 

查看linux中所有組的信息

命令:vi /etc/group

查看命令:cat /etc/group

組名:x:組ID號:

 

創建用戶,並同時指定將該用戶分配到指定組。

命令:useradd -g 組名 用戶名

 

查看linux中所有用戶信息

可編輯查看命令:vi /etc/passwd

查看命令:cat /etc/passwd

 

查看詳細信息:ls -l  fileName(LInux標準)或者ll fileName

-rw-r--r--  分別表示對當前用戶可讀可寫、對當前用戶組只可讀、對其他用戶只可讀。這是預設許可權。

 

使用chmod命令設置許可權

 

用數字表示可以同時處理三組許可權,而使用字元則只能一個一個修改。chmod 777 fileName  可以將所有許可權打開。

使用chown命令修改屬主和組

chown root:root test/

 

SUID:

[xiangkejin@localhost tmp]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd

passwd的擁有者是root,且擁有者許可權裡面本應是x的那一列顯示的是s,這說明這個命令具有SUID許可權

以普通用戶執行這個命令時,當系統生成對應的進程後,這個進程就擁有了/usr/bin/passwd文件擁有者root的許可權,只是藉助,如果改成rwx普通用戶就沒法執行。

 

SGID:

新建用戶:useradd user

創建一個組:groupadd share 

添加用戶到組:

usermod -G share user
這樣做會使你離開其他用戶組,僅僅做為用戶組 share 的成員。

應該加上 -a 選項:
usermod -a -G share user
-a 代表 append, 也就是將自己添加到用戶組 share, 而不必離開原來到用戶組。

更改文件目錄的組:chgrp file  share/

現在賬號user新建一個文件,新建文件的擁有者和用戶組都會是user!重要的是其他用戶都無法訪問這個文件!現在我們的需求是讓屬於同一組中的用戶都能訪問修改這個文件。
所以我們需要給這個目錄加入SGID許可權,之後任意一個用戶創建的文件,文件用戶組都會是這個目錄的用戶組。

chmod 770  share/ 更改許可權設置

 

SBIT:

drwxrwxrwt. 16 root root 4096 11月 22 19:52 tmp

當給一個目錄設置了SBIT許可權,當用戶對目錄擁有wx許可權時,用戶在該目錄創建的文件或目錄,只有自己與root才可以刪除。

 

查看特殊許可權的方法就是普通的ls命令:
 SUID會在所屬用戶許可權本應是x的地方顯示s
 SGID會在所屬用戶組許可權本應是x的地方顯示s
 SBIT在其它用戶許可權本應是x的地方顯示t

 

二、Linux系統的查找

which查找文件、whereis查找指定文件、locate查找、find查找、find查找實例

which只能查找到可執行文件,並且只能在根據用戶環境變數信息到指定路徑下查找。

 查看環境變數設置 env

 vim  /root/.bash_profile修改環境變數

whereis是查找自己的資料庫,數據是提前寫到資料庫中。幫助文檔,配置文件這些。

locate查找:模糊查找,找到所有相關信息。

find查找:查找較慢,查找硬碟。

按時間查找:

#-atime  #-mtime   #-ctime   #-amin   #-mmin   #-cmin

 所以這裡atime,mtime,ctime就是分別對應的“最近一次訪問時間”“最近一次內容修改時間”“最近一次屬性修改時間”,這裡的atime的單位指的是“天”,amin的單位是分鐘  

如果跟的是具體數字 find / -atime 10  表示在第十天被訪問的文件(/表示從根目錄開始查找),表示區間加上+-

          #find  /tmp  –atime  +5           //表示查找在五天前訪問過的文件

          #find  /tmp  -atime  -5            //表示查找在五天內訪問過的文件

 

根據文件名查找

    #  -name       //根據文件名查找(精確查找)

    #  -iname       //根據文件名查找,但是不區分大小寫 

根據文件類型來查找文件:

  -type            f     // 普通文件

                      d     //目錄文件

                      l     //鏈接文件

                      b     //塊設備文件

                      c     //字元設備文件

                      p     //管道文件

                      s     //socket文件

文件大小查找:

find / -size +1000k  查找大於1M的文件

通配符匹配文件名:

find / -name '*pass*'   只要包含pass關鍵字

查找特殊許可權的文件:

    -perm

          #find  /tmp  -perm  755           //查找在/tmp目錄下許可權是755的文件

          #find  /tmp  -perm  +222          //表示只要有一類用戶(屬主,屬組,其他)的匹配寫許可權就行

          #find  /tmp  -perm  -222          //表示必須所有類別用戶都滿足有寫許可權

 

三、文本編輯器

普通模式:這種模式下鍵盤上的字元都代表著特殊操作

 跳至指定的行

「ctrl」+「g」列出游標所在行的行號。

「#G」:例如,「15G」,表示移動游標至文章的第15行行首。

 回撤上一次操作

「u」:如果您誤執行一個命令,可以馬上按下「u」,回到上一個操作。按多次"u"可以執行多次回覆

 [ctrl+r]:對使用u命令撤銷的操作進行恢復

 複製

「yw」:將游標所在之處到字尾的字元複製到緩衝區中。

「#yw」:複製#個字到緩衝區

「yy」:複製游標所在行到緩衝區。

「#yy」:例如,「6yy」表示拷貝從游標所在的該行"往下數"6行文字。

「p」:將緩衝區內的字元貼到游標所在位置。註意:所有與"y"有關的複製命令都必須與"p"配合才能完成複製與粘貼功能。

刪除

「x」:每按一次,刪除游標所在位置的"後面"一個字元。

「#x」:例如,「6x」表示刪除游標所在位置的"後面"6個字元。

「X」:大寫的X,每按一次,刪除游標所在位置的"前面"一個字元。

「#X」:例如,「20X」表示刪除游標所在位置的"前面"20個字元。

「dd」:刪除游標所在行。

「#dd」:從游標所在行開始刪除#行

插入模式:在普通模式按i鍵進入插入模式,按Esc退出到普通模式

命令模式:在普通模式按:鍵進入插入模式,按Esc退出到普通模式 

     q!強制退出

     wq保存退出

列出行號

「set nu」:輸入「set nu」後,會在文件中的每一行前面列出行號

跳到文件中的某一行

「#」:「#」號表示一個數字,在冒號後輸入一個數字,再按回車鍵就會跳到該行了,如輸入數字15,再回車,就會跳到文章的第15行。

vi支持同時打開多個文件:

vi file1 file2 file3

 


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

-Advertisement-
Play Games
更多相關文章
  • 1.SELECT DISTINCT 語句 關鍵詞DISTINCT用於返回唯一不同的值。 語法: SELECT DISTINCT 列名稱 FROM 表名稱 2.SELECT INTO語句 SELECT INTO語句從一個表中選取數據,然後把數據插入另一個表中。 SELECT INTO語句常用於創建表的 ...
  • 1. 【事件起因】 今天在做項目的時候,發現提供給客戶端的介面時間很慢,達到了2秒多,我第一時間,抓了介面,看了運行的sql,發現就是 2個sql慢,分別占了1秒多。 一個sql是 鏈接了5個表同時使用了 2個 order by和 1個limit的分頁 sql。 一個sql是上一個sql的count ...
  • 原文地址 1)、id列數字越大越先執行,如果說數字一樣大,那麼就從上往下依次執行,id列為null的就表是這是一個結果集,不需要使用它來進行查詢。 2)、select_type列常見的有: A:simple:表示不需要union操作或者不包含子查詢的簡單select查詢。有連接查詢時,外層的查詢為s ...
  • 測試方法 為了對Ignite做一個基本瞭解,做了一個性能測試,測試方法也比較簡單主要是針對client模式,因為這種方法和使用redis的方式特別像。測試方法很簡單主要是下麵幾點: 不作參數優化 ,預設配置進行測試 在一臺linux伺服器上部署Ignite服務端,然後自己的筆記本作客戶端 按1,10 ...
  • 裝好ubuntu系統後的第一見事就是替換自帶的更新源,原因是系統自帶的源有些在中國訪問不了,可以訪問的速度又特別慢。幸好國內的一些公司和大學提供了速度不錯的更新源。下麵介紹如何使用更快的更新源 裝好ubuntu系統後的第一見事就是替換自帶的更新源,原因是系統自帶的源有些在中國訪問不了,可以訪問的速度 ...
  • Linux 6.5(oracle 11.2.0.4) 1、解析主機、配置網路等 /etc/hosts /etc/sysconfig/network /etc/init.d/NetworkManager stop chkconfig NetworkManager off iptables F serv ...
  • 我們一個SQL Server伺服器在執行YourSQLDBa的作業YourSQLDba_FullBackups_And_Maintenance時遇到了錯誤: Exec YourSQLDba.Maint.ShowHistoryErrors @JobNo = 1227 yMaint.IntegrityT... ...
  • 基於Ubuntu14.04系統的nvidia tesla K40驅動和cuda 7.5安裝筆記 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...