• <meter id="tmgru"></meter>

    <dl id="tmgru"></dl>
      1. <dl id="tmgru"><legend id="tmgru"></legend></dl>
        1. <code id="tmgru"></code>

          <var id="tmgru"><u id="tmgru"></u></var>

          <dl id="tmgru"><legend id="tmgru"></legend></dl>
          計算機學習網-【computerpx】

          招生咨詢電話與微信:15225191462(周老師)
          計算機學習網,我命由我不由天,學IT技術,做更好的自己

          首頁 > 電腦教程/ 正文

          兩個容易被忽視的linux安全權限配置問題

          2013-10-30 17:09:07 www.pb939.com

            我們都知道linux是一個多任務多用戶的操作系統,linux對各種權限有著很細致的管理。如果對linux權限管理不了解,建議移步《鳥哥的linux私房菜》 了解。

          本文談兩個很容易被忽視,又偶爾會突然蹦出來,給我們配置服務器造成困擾的權限管理問題。
          1、太寬的權限
              有些服務對權限的要求會是一個區間,小了不行,大了也不行。如果這個文件被賦予的權限不夠,那么肯定不能使用;但是,如果這個文件被賦予的權限太多了,同樣不能正常使用。
          舉例:
              問題現象: test帳號使用key無法登錄某ssh服務器, 而同機器下的test2帳號卻可以登錄。
              查看文件權限:
          test@client:~$ls-l ~/.ssh/
          -rw------- 1testtest  1675 2010-03-25 15:15 id_rsa
          查看了客戶端及服務器端的.ssh目錄下的公鑰與私鑰權限, 可以看出, 并沒有問題。
          私鑰必須是600權限, 而公鑰至少是644或者更嚴格的權限, 這都符合, 但依然無法登錄。
          test@server:~$ls-la ~ |grep-w .ssh
          drwxr-xr-x  2test test 4.0K 12-23 16:59 .ssh
          查看了服務器端的.ssh目錄權限, 是755, 也是沒問題的, ssh服務器要求在使用key登錄時.ssh目錄的權限必須是其他用戶不可寫。
          一開始實在想不明為啥test2帳號使用key可以登錄,test帳號使用key無法登錄, ssh_config和sshd_config。
          在檢查了多遍后確實沒有問題, 最后在服務器端對比兩個帳號的不同時, 發現了可疑的地方。
          $ls-l/home/
          drwxrwxrwx   3testtest4096 2009-12-31 17:31test
          drwxr-xr-x   6 test2 test2 4096 2010-03-23 15:59 test2
          兩個帳號的home目錄權限不同, test帳號是777, test2帳號是755, 會不會是這里不同導致的? 在服務器端把test目錄修改成755后, 解決問題。
          原因解釋:
          ssh服務器的key方式登錄對權限要求嚴格。對于客戶端: 私鑰必須為600權限或者更嚴格權限(400), 一旦其他用戶可讀, 私鑰就不起作用(如640), 表現為系統認為不存在私鑰。
          對于服務器端: 要求必須公鑰其他用戶不可寫, 一旦其他用戶可寫(如660), 就無法用key登錄, 表現為:Permission denied (publickey)。
          同時要求.ssh目錄其他用戶不可寫,一旦其他用戶可寫(如770), 就無法使用key登錄, 表現為:Permission denied (publickey)。
          不僅.ssh目錄,更上層的目錄的權限同樣會有影響。
          home中用戶目錄的可寫,表示其他用戶對.ssh子目錄也有改寫的權限(刪除或重命令),也就導致ssh判斷.ssh為其他用戶可寫, 拒絕使用key登錄。
          2、悄悄啟動的selinux。
              如果你配置某項服務,但是不論怎么定義配置文件,有些端口始終不能打開,或者文件無法訪問到,那么這時你要小心是selinux在搗鬼。
              舉例:
              問題現象: 配置apache上的目錄可以訪問,卻始終提示你沒有權限。
              apache上的配置:
          Alias /hello.html   /web/hello.html
          <Directory /web>
          Order deny,allow
          Allow from all
          </Directory>
              怎么查都沒有問題,文件權限也對,這時可以考慮查一下selinux的權限。
          # ls -Z /web/
          -rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 hello.html
             原來/web目錄不能被apache內建的用戶訪問。
             原因解釋:
             默認情況下,selinux限制了apache可以訪問的目錄,默認僅能在/var/www/下面讀寫文件。這也難怪,我們只配置apache和文件權限沒有任何作用了。
             要想實現對/web/目錄下的文件讀取,必須修改selinux的配置。
             其實不止是文件權限,包括服務可以使用的端口、消息接口等,selinux都有默認限制。如果你配置服務遇到莫名其妙的問題,看一下selinux吧。
             如何修改selinux配置也可以參考《鳥哥的linux私房菜》 ,這里不再贅述。

          Tags:it技術培訓學校,it教育培訓學校,it軟件職業培訓,it培訓網絡培訓,高端it培訓班,中專生it培訓 site:zhidao.

          鄭州北大青鳥計算機專業學校
          鄭州北大青鳥計算機專業學校介紹
          鄭州北大青鳥計算機專業學校專業設置
          鄭州北大青鳥計算機專業學校招生要求
          鄭州北大青鳥計算機專業學校校園活動
          鄭州北大青鳥計算機專業學校就業保障
          搜索
          計算機培訓學校,就來計算機學習網咨詢
          計算機培訓學校,就來計算機學習網咨詢
          熱門標簽
          計算機培訓學校,就來計算機學習網咨詢
          計算機培訓學校,就來計算機學習網咨詢
          計算機培訓學校,就來計算機學習網咨詢
          • QQ交談
          开心五月色播