<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • linux用戶權限管理命令(普通用戶切換root用戶)


    Ubuntu 是一個多用戶系統,我們可以給不同的使用者創建不同的用戶賬號,每個用戶使用各自的賬號登陸,使用用戶賬號的目的一是方便系統管理員管理,控制不同用戶對系統的訪問權限,另一方面是為用戶提供安全性保護。

    我們前面在安裝 Ubuntu 系統的時候被要求創建一個賬戶,當我們創建好賬號以后,系統會在目錄/home 下以該用戶名創建一個文件夾,所有與該用戶有關的文件都會被存儲在這個文件文件夾中。同樣的,創建其它用戶賬號的時候也會在目錄/home 下生成一個文件夾來存儲該用戶的文件,下圖就是“zuozhongkai”這個賬戶的文件夾。Linux用戶權限管理及用戶權限管理命令操作

    用戶賬號根目錄

    裝系統的時候創建的用戶其權限比后面創建的用戶大一點,但是沒有 root 用戶權限大,Ubuntu 下用戶類型分為以下 3 類:

    ● 初次創建的用戶,此用戶可以完成比普通用戶更多的功能。

    ● root 用戶,系統管理員,系統中的玉皇大帝,擁有至高無上的權利。

    ● 普通用戶,安裝完操作系統以后被創建的用戶。

    以上三種用戶,每個用戶都有一個 ID 號,稱為 UID,操作系統通過 UID 來識別是哪個用戶,用戶相關信息可以在文件/etc/passwd 中查看到,如圖所示:Linux用戶權限管理及用戶權限管理命令操作

    password文件內容

    從配置文件 passwd 中可以看到,每個用戶名后面都有兩個數字,比如用戶“zuozhongkai”后面“1000:1000”,第一個數字是用戶的 ID,另一個是用戶的 GID,也就是用戶組 ID。Ubunut里面每個用戶都屬于一個用戶組里面,用戶組就是一組有相同屬性的用戶集合。

    在使用Windows 的時候我們很少接觸到用戶權限,最多就是打開某個軟件出問題的時候會選擇以“管理員身份”打開。Ubuntu 下我們會常跟用戶權限打交道,權限就是用戶對于系統資源的使用限制情況,root 用戶擁有最大的權限,可以為所欲為,裝系統的時候創建的用戶擁有root 用戶的部分權限,其它普通用戶的權限最低。對于我們做嵌入式開發的人一般不關注用戶的權限問題,因為嵌入式基本是單用戶,做嵌入式開發重點關注的是文件的權限問題。

    對于一個文件通常有三種權限:讀(r)、寫(w)和執行(x),使用命令“ls -l”可以查看某個目錄下所有文件的權限信息,如圖所示:Linux用戶權限管理及用戶權限管理命令操作

    文件權限信息

    在圖中我們以文件test.c 為例講解,文件 test.c 文件信息如下:

    -rw-rw-r-- 1 zuozhongkai zuozhongkai 0 12 月 25 20:44 test.c
    

    其中“-rw-rw-r–”表示文件權限與用戶和用戶組之間的關系,第一位表示文件類型。剩下的 9 位以 3 位為一組,分別表示文件擁有者的權限,文件擁有者所在用戶組的權限以及其它用戶權限。后面的“zuozhongkai zuozhongkai”分別代表文件擁有者(用戶)和該用戶所在的用戶組,因此文件 test.c 的權限情況如下:

    ①、文件 test.c 的擁有者是用戶 zuozhongkai,其對文件 tesst.c 的權限是“rw-”,也就是對該文件擁有讀和寫兩種權限。

    ②、用戶 zuozhongkai 所在的用戶組也叫做 zuozhongkai,其組內用戶對于文件 test.c 的權限是“rw-”,也是擁有讀和寫這兩種權限。

    ③、其它用戶對于文件 test.c 的權限是“r–”,也就是只讀權限。

    對于文件,可讀權限表示可以打開查看文件內容,可寫權限表示可以對文件進行修改,可執行權限就是可以運行此文件(如果是軟件的話)。對于文件夾,擁有可讀權限才可以使用命令ls查看文件夾中的內容,擁有可執行權限才能進入到文件夾內部。

    如果某個用戶對某個文件不具有相應的權限的話就不能進行相應的操作,比如根目錄“/”下的文件只有root 用戶才有權限進行修改,如果以普通用戶去修改的話就會提示沒有權限。比如我們要在根目錄“/” 創建一個文件 mytest,使用命令“touch mytest”,結果如圖所示:Linux用戶權限管理及用戶權限管理命令操作

    創建文件

    在圖中,我以用戶“zuozhongkai”在根目錄“/”創建文件 mytest,結果提示我無法創建“mytest”,因為權限不夠,因為只有 root 用戶才能在根目錄“/”下創建文件。我們可以使用命令“sudo”命令暫時切換到 root 用戶,這樣就可以在根目錄“/”下創建文件 mytest 了,如圖所示:Linux用戶權限管理及用戶權限管理命令操作

    使用sudo命令創建文件

    在圖中我們使用命令“sduo”以后就可以在根目錄“/”創建文件 mytest,在進行其它的操作的時候,遇到提示權限不夠的時候都可以使用 sudo 命令暫時以 root 用戶身份去執行。上面我們講了,文件的權限有三種:讀(r)、寫(w)和執行(x),除了用 r、w 和 x 表示以外,我們也可以使用二進制數表示,三種權限就可以使用 3 位二進制數來表示,一種權限對應一個二進制位,如果該位為 1 就表示具備此權限,如果該位為 0 就表示沒不具備此權限,如表所示:Linux用戶權限管理及用戶權限管理命令操作

    文件權限數字表示方法

    如果做過單片機開發的話,就會發現和單片機里面的寄存器位一樣,將三種權限 r、w 和x進行不同的組合,即可得到不同的二進制數和八進制數,3 位權限可以組出 8 種不同的權限組合,如表所示:Linux用戶權限管理及用戶權限管理命令操作

    文件所有權限組合

    中權限所對應的八進制數字就是每個權限對應的位相加,比如權限 rwx 就是4+2+1=7。前面的文件 test.c 其權限為“rw-rw-r–”,因此其十進制表示就是:664。

    表中權限所對應的八進制數字就是每個權限對應的位相加,比如權限 rwx 就是

    4+2+1=7。前面的文件 test.c 其權限為“rw-rw-r–”,因此其十進制表示就是:664。

    另外我們也開始使用 a、u、g 和 o 表示文件的歸屬關系,用=、+和-表示文件權限的變化,如表所示:Linux用戶權限管理及用戶權限管理命令操作

    權限修改字母表示方式

    對于文件 test.c,我們想要修改其歸屬用戶(zuozhongkai)對其擁有可執行權限,那么就可以使用:u+x。如果希望設置歸屬用戶及其所在的用戶組都對其擁有可執行權限就可以使用:gu+x。

    我們也可以使用 Shell 來操作文件的權限管理,主要用到“chmod”和“chown”這兩個命令,我們一個一個來看。

    1、權限修改命令 chmod

    命令“chmod”用于修改文件或者文件夾的權限,權限可以使用前面講的數字表示也可以使用字母表示,命令格式如下:

     chmod [參數] [文件名/目錄名] 
    

    主要參數如下:

    -c 效果類似“-v”參數,但僅回顯更改的部分。

    -f 不顯示錯誤信息。

    -R 遞歸處理,指定目錄下的所有文件及其子文件目錄一起處理。

    -v 顯示指令的執行過程。

    我們先來學習以下如何使用命令“chmod”修改一個文件的權限,在用戶根目錄下創建一個文件 test,然后查看其默認權限,操作如圖所示:Linux用戶權限管理及用戶權限管理命令操作

    創建文件test

    在圖中我們創建了一個文件:test,這個文件的默認權限為“rw-rw-r–”,我們將其權限改為“rwxrw-rw”,對應數字就是 766,操作如下:Linux用戶權限管理及用戶權限管理命令操作

    修改權限

    在圖中,我們修改文件 test 的權限為 766,修改完成以后的 test 文件權限為“rwxrw-rw-”,和我們設置的一樣,說明權限修改成功。

    上面我們是通過數字來修改權限的,我們接下來使用字母來修改權限,操作如圖所示:Linux用戶權限管理及用戶權限管理命令操作

    使用字母修改文件權限

    上面兩個例子都是修改文件的權限,接下來我們修改文件夾的權限,新建一個 test 文件夾,在文件夾 test 里面創建 a.c、b.c 和 c.c 三個文件,如圖所示:Linux用戶權限管理及用戶權限管理命令操作

    test文件夾

    在圖中 test 文件夾下的文件 a.c、b.c 和 c.c 的權限均為“rw-rw-r–”,我們將 test 文件夾下的所有文件權限都改為“rwxrwxrwx”,也就是數字 777,操作如圖所示:Linux用戶權限管理及用戶權限管理命令操作

    遞歸修改文件夾權限

    2、文件歸屬者修改命令 chown

    命令 chown 用來修改某個文件或者目錄的歸屬者用戶或者用戶組,命令格式如下:

     chown [參數] [用戶名.<組名>] [文件名/目錄] 
    

    其中[用戶名.<組名>]表示要將文件或者目錄改為哪一個用戶或者用戶組,用戶名和組名用 “.”隔開,其中用戶名和組名中的任何一個都可以省略,命令主要參數如下:

    -c 效果同-v 類似,但僅回報更改的部分。

    -f 不顯示錯誤信息。

    -h 只對符號連接的文件做修改,不改動其它任何相關的文件。

    -R 遞歸處理,將指定的目錄下的所有文件和子目錄一起處理。

    -v 顯示處理過程。

    在用戶根目錄下創建一個 test 文件,查看其文件夾所屬用戶和用戶組,如圖所示:Linux用戶權限管理及用戶權限管理命令操作

    test文件信息查詢

    從圖中可以看出,文件 test 的歸屬用戶為zuozhongkai,所屬的用戶組為 zuozhongkai,將文件 test 歸屬用戶改為 root 用戶,所屬的用戶組也改為 root,操作如圖所示:Linux用戶權限管理及用戶權限管理命令操作

    修改文件歸屬用戶和歸屬用戶組

    命令 shown 同樣也可以遞歸處理來修改文件夾的歸屬用戶和用戶組,用法和命令 chown 一樣,這里就不演示了。

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费