Linux命令(shell)從入門到精通學習筆記之1:檔案安全與許可權

來源:互聯網
上載者:User


1.ls -l 命令:最前面的一位表示檔案類型:
d   目錄。
l   符號連結(指向另一個檔案)。
s   通訊端檔案。
b   塊裝置檔案。
c   字元裝置檔案。
p   具名管道檔案。
- 普通檔案,或者更準確地說,不屬於以上幾種類型的檔案。
 後面的連續九位,表示檔案的讀寫權限:
r w x:檔案屬主許可權 這是前面三位
r -  x:同組使用者權限 這是中間三位
r -  x:其他使用者權限 這是最後三位2. 新建立檔案(夾)的許可權目錄: 可以看到,新建立的目錄 myshell 的許可權是:rwx r-x r-x, 即:onwer 使用者具有 read、write、execute 許可權,group 和其他使用者具有 read、execute許可權。 檔案:可以看到,新建立的檔案 myfile 的許可權是:rw- r-- r--。檔案在新建立的狀態下,不會被賦予執行的許可權,這是出於安全性的考慮。 檔案許可權修改: # chmod 777 myfile    // 為所有使用者賦予了該檔案的所有許可權。# chmod a-x myfile    // 回收所有使用者的執行許可權(注意 a-x,-x 前面沒有空格)。 # chmod u+x,go-w myfile // 賦予檔案屬主執行許可權,同時回收其他使用者的寫入權限 3. chmod 命令兩種模式:符號模式和絕對模式符號模式:# u: 檔案屬主# g: 同組使用者# o: 其他使用者# a: 所有使用者 + 增加許可權- 回收許可權 如:chmod a-x myfile   // 剝奪所有使用者的檔案執行許可權chmod og-w myfilechmod g+w myfilechmod u+x myfilechmod go+x myfchmod u+x,o-w myfile 絕對模式:004  可讀002 可寫001 可執行000 沒有許可權 chmod 750 myfile對檔案myfile增加許可權:7 = 4 + 2 + 1 (屬主可讀、寫、執行)5 = 4 + 1 (同組使用者可讀、執行)0 = 0 (其他使用者沒有任何許可權) 如果對一個目錄執行:chmod 740 *表示對該目錄下的所有檔案賦予740許可權,但以後新增的目錄,許可權仍是預設的 rw-  r-- r-- 4. 目錄的許可權對目錄而言,意味著:讀許可權:可以列出該目錄中的檔案寫入權限:可以在該目錄中建立或刪除檔案執行許可權:可以搜尋或進入該目錄 目錄的許可權將會覆蓋該目錄中檔案的許可權。例如,如果目錄 docs 具有如下的許可權:而其中的檔案 pay 的許可權為:那麼 admin 組的使用者將無法編輯該檔案,因為它所屬的目錄不具有這樣的許可權。該檔案對任何使用者都可讀,但由於它所在的目錄並未給 admin 組的使用者賦予執行許可權,所以該組的使用者都將無法訪問該目錄,他們將會得到“訪問受限”的錯誤訊息。 5.suid 和 guid(瞭解)suid 意味著如果某個使用者對屬於自己的 shell 指令碼設定了這種許可權,那麼其他使用者在執行這一指令碼時也會具有其屬主的相應許可權。如檔案 myfile 具有 741 的許可權,要對其設定suid,只需在其許可權數字前加 4 (guid 是加 2,兩個都設定就是 4+2=6),
  6. /etc/passwd 檔案該檔案中列出了系統合法的使用者相關資訊。 7. chown 和 chgrpchown:檔案的所有者和管理員能用這一命令改變檔案的所有權,改變之後,原來的所有者,就不能回收他的許可權了,如果真要回收,必須求助與管理員。如:將 myfile 的所有者,從root變更為使用者 zhy (zhy 必須是在 /etc/passwd 中合法的)。 chgrp:改變檔案所屬的組。如:將 myfile 所屬的組,從 root 改成了 zhy 組。 (# groups查看當前登入使用者所在的組內所有的成員。 # id查看當前登入使用者的資訊 # whoami查看系統當前是被哪個使用者登入的。 # groups zhy查看zhy使用者所在的組,以及組內成員。 使用者組的特性在系統管理中為系統管理員提供了極大的方便,但安全性也是值得關注的,如某個使用者下有對系統管理有最重要的內容,最好讓使用者擁有獨立的使用者組,或者是把使用者下的檔案的使用權限設定為完全私人;另外root使用者組一般不要輕易把普通使用者加入進去。) 8.umask命令一個使用者登入到系統之後,他所建立的檔案有一個預設的許可權,這個許可權可以由管理員配置,也可以由使用者登入之後用 umask 命令自己配置,這種配置在退出該 shell 或使用另外的 umask 命令之前一直有效。 一般來說, umask 命令是在 /etc/profile 檔案中設定的,每個使用者在登入時都會引用這個檔案,所以如果希望改變所有使用者的 umask ,可以在該檔案中加入相應的條目。如果希望永久性地設定自己的 umask 值,那麼就把它放在自己 $home 目錄下的 .profile或 .bash_profile 檔案中。 umask 值與權位: 通過:# umask命令查看當前 umask 值(後三位):可以看到,當前 umaks 值為022,通過上面的表,就可以知道,umask 對應的檔案許可權是 644,目錄許可權是 755。如果沒有上面的表,還有另外一種計算方法:777:  rwx rwx rwx022: --- -w- -w-取上面兩行中沒有匹配的位就是目錄的許可權:rwx r-x r-x換成值就是:755(目錄許可權)再將上面算出的結果(rwx r-x r-x)中為 x 的位換成 - ,就是檔案的許可權:rw- r-- r--換成值就是:644(檔案許可權) 如果希望改變系統的 umask 值,可以這樣:# umask 007例:可以看到,檔案的許可權確實被改變了。 9. 符號連結是一個指向檔案的指標,在我理解就是 window 下的捷徑:
 .profile 就是 /usr/local/menus/sales.profile 的捷徑了,這樣很方便,比如我們有多個使用者,比如 50 個,可以為他們分別建立一個.profile 檔案,都指向這同一個 sales.profile 檔案,以後我們修改一個 sales.profile 就可以了,不用對每個使用者的 .profile 做修改。 建立符號連結的命令格式:# ln [-s] source_path target_pathsource_path 是要指向的檔案target_path 就是指標(捷徑)例:# ln -s /usr/opt/monitor/regstar/reg.log /var/adm/logs/monitor.log 在新安裝的系統上,通常要進行這樣的操作,在/var 目錄中建立一個指向/tmp目錄的連結,因為有些應用程式認為存在 /var/tmp 目錄(然而它實際上並不存在),有些應用程式在該目錄中儲存一些臨時檔案。為了使所有的臨時檔案都放在一個地方,可以使用 ln 命令在 /var目錄下建立一個指向 /tmp 目錄的連結:# ln -s /tmp /var/tmp
 以後,如果有應用程式試圖將一些臨時檔案放在 /var/tmp 下,實際上它是被存放在了 /tmp 目錄下了,因為 /var/tmp 只是一個符號連結而已。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.