談談linux下文件夾許可權的問題在homezz.com後面的幾個的伺服器的數據轉移過程中,發現很多homezz.com用戶轉移到新的伺服器上的時候,都出現了這樣那樣的錯誤,歸根結底,就是文件夾許可權設置錯誤。舊的主機放得太開,對安全性能控制不嚴格,所以文件許可權太大沒有做限制,新伺服器的安全機制更加嚴格,因此太大的許可權伺服器將會拒絕執行。下面開始講一講linux下的文件許可權。
www.dnjsb.com
linux的文件許可權是linux能有如此安全性能的最大的保障之一,有朋友可能會知道,很多攻擊windows的方法都是通過漏洞獲取到創建用戶的許可權從而達到控制計算機的目的,在linux下,Root帳戶有最大的許可權,可以干任何事情,其他用戶只能擁有自己的文件的所有許可權和該改組成員賦予的文件的許可權,下面開始對文件許可權的一個說明。讀許可權R。簡單的說就是打開文件查看內容的許可權,在web伺服器中,若文件沒有打開許可權,則web伺服器則視為該文件不存在,發送404
file
not
found錯誤,用數字4表示。
www.dnjsb.com
寫許可權W。一個文件若沒有寫的許可權,那麼該文件則無法更改,文件夾若沒有寫許可權,則該文件夾下無法創建新文件,用數字2表示。執行許可權X。程序文件若要執行,必須有執行許可權,否則無法執行。打開一個文件夾也是執行,所以文件夾若沒有執行許可權,則無法被打開。用數字1表示。誰擁有這個許可權
文件所有者
組內用戶
公共用戶可讀=4
0
0
0可寫=2
0
0
0可執行=1
0
0
0實際許可權,縱向相加
0
0
0公共用戶為所有者和組內用戶之外的用戶,比如訪問web時候,linux可能用公共的用戶去讀取文件,這里不妨理解成是訪客所能操作的那個用戶。下面舉例(再次提醒,文件夾和文件不一樣):文件所有用戶可寫:
666
(3類用戶均可讀寫)誰擁有這個許可權
文件所有者
組內用戶
公共用戶可讀=4
4
4
4
www.dnjsb.com
可寫=2
2
2
2可執行=1
0
0
0實際許可權,縱向相加
6
6
6接上面的,假設我們吧文件夾設置成0666會怎麼樣,結果很明顯,因為該文件夾沒有執行許可權,無法被打開,所以設置成0666則無法被訪問到。文件夾只可文件所有者有全部許可權,組內用戶、公共用戶可讀和執行(755)。一般web根目錄文件夾都要這樣設置,才安全。再次提示:文件夾沒有執行許可權,則該用戶無法打開。正常的伺服器,若根目錄許可權也為0777,則會出現500錯誤誰擁有這個許可權
文件所有者
組內用戶
公共用戶可讀=4
4
5
4可寫=2
2
0
0可執行=1
1
1
1實際許可權,縱向相加
7
5
5如果php需要在某文件夾下創建文件,請把該文件的許可權全部設置:即可都可寫和可執行777誰擁有這個許可權
B. 如何開啟root許可權
首先我們在軟體商店下載超級Root大師,然後安裝。
打開軟體,開始一鍵ROOT,點擊開始Root,稍等一會兒即可開啟。
root許可權,系統許可權的一種,也叫根許可權,與SYSTEM許可權可以理解成一個概念,但高於Administrator許可權,root是Linux和unix系統中的超級管理員用戶帳戶,該帳戶擁有整個系統至高無上的權力,所有對象他都可以操作。
獲得root許可權之後就意味著已經獲得了系統的最高許可權,這時候你可以對系統中的任何文件(包括系統文件)執行所有增、刪、改、查的操作。
作為Linux系統管理員,Linux忘記root密碼怎麼辦?或者是在不知道root密碼,想強制更改root密碼。本文章只針對grub方式引導的方式下如何破解Linux的root密碼。
我們知道在不知道root密碼的情況下要通過runlevel運行級別為1扦就是我們通過所說的單用戶模式是進行重置root密碼。
C. Linux文件許可權一:普通許可權(rwx)
一、查看文件的普通許可權
1.ls -l [file | dir],查看一個文件或者目錄內部所有文件的許可權
2.ls -ld dir,查看一個目錄本身的許可權
二、rwx許可權的含義
三、普通許可權的設置
四、修改user或者group
五、
六、命令與雜談
進入需查看子級許可權目錄,ls -lh查看所有許可權 rwx代表著許可權,如圖代表 777 對應三個群體,自己 所在組 其他
而如果需要修改 則進入文件夾 輸入 chmod -R 777 則可把所在文件夾所有文件以遞歸方式進行修改許可權
七、 其他
1.mac可在終端 輸入> ssh [email protected](輸入你遠程伺服器的IP地址可進行遠程操作)
root表示以root用戶進入,如果要使用其他用戶則對應替換即可)
2.然後輸入伺服器密碼
3.成功進入,如我的輸出Welcome to Alibaba Cloud Elastic Compute Service !
遠程式控制制tomcat開關重啟
1.登錄成功後在命令行 cd /user/tomcat/apache-tomcat-7.0.90/bin/ 目錄下
2.啟動tomcat,命令行 sh startup.sh
3.關閉tomcat,命令行 sh shutdown.sh
D. linux里如何把一個文件更改成所有的用戶都有可執行許可權
linux里把一個文件更改成所有的用戶都有可執行許可權可以使用以下命令:
chmod 777 filename
其中chmod可以藉以控制文件如何被他人所調用。
1、chmod語法
chmod [-cfvR] [--help] [--version] mode file...
2、chmod參數說明
mode : 許可權設定字串,格式如下 :
[ugoa...][[+-=][rwxX]...][,...]
(4)linux用戶根文件許可權擴展閱讀
chmod可以用數字來表示許可權如 :
chmod 777 file
語法為:
chmod abc file
其中a,b,c各為一個數字,分別表示User、Group、及Other的許可權。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。
E. Linux文件目錄許可權
Linux中文件目錄的許可權分為三個群組, 擁有者 、 所在群組 、 其他組 ,每個群組可以單獨設置 讀 、 寫 、 執行 三種許可權。
一般用3位數字表示,如:777,644,640等
數字的意義就是讀寫執行三個數字相加得來
解析:
777:所有用戶都有讀、寫、執行許可權
644:只有擁有者有讀寫許可權;而屬組用戶和其他用戶只有讀許可權
640:只有擁有者有讀寫許可權;而屬組用戶只有讀,其他用戶無許可權
修改許可權命令
用符號操作許可權
F. Linux默認的文件及文件夾的許可權分別是多少
在linux中,來一位用戶在創建源文件和目錄時,對其具有的許可權都是一樣的,
在linux系統中任何文件/目錄都有一定的許可權,對於新創建的文件或目錄,也會有默認的訪問許可權。可能是出於安全的考慮,linux系統linux系統新建文件默認沒有執行許可權,其最大許可權為rw-rw-rw-(666),新建目錄的最大許可權為rwx-rwx-rwx(777)。而默認的許可權與umask命令有關。
、umask介紹
umask指定當前用戶在新建文件和目錄時的默認許可權,其值可以通過umask命令得到,其值的含義與chmod 命令是補碼的關系。也可以通過umask -S直接查看默認許可權。
注意:umask -S 顯示的是目錄的默認許可權>
例如:umask 0002
新建文件的許可權為(最大許可權666-002)664,即rw-rw-r--
新建目錄的許可權為最大許可權(777-002)775,即rwxrwxr-x
G. 在linux中怎麼給文件夾賦許可權
在linux中給文件夾賦許可權的步驟如下:
1.首先,咱們用客戶端工具(工具很多,我用的是xshell),用需要建立的文件夾的賬戶登錄系統,例如我現在是用的Root用戶。紅色框框內,寫著root證明,登錄的用戶沒有問題。
H. linux下根目錄「/」許可權問題
linux只有一個根。你可以給你的硬碟進行分區,但是,分區設備一定掛載到linux根目錄下的指定位置,如你所版說的/usr,/var,/home等。如果你要對分區進行操作的話,只能到分區所掛載的目錄中進行操作。所以,不管你對你的硬碟分了多少個區,你總是要將這些分區掛載到根權目錄底下才可以使用。到最後你的linux系統還只有一個根。不能以使用windows的思想來想linux。
I. linux 給所有文件下文件加許可權
1、更改文件用戶組。使用命令chgrp,命令如下。
J. 如何恢復linux系統根分區文件許可權
linux系統如果執行了chmod -R 777 / 後,系統等於癱瘓。
因為su,mount等需要s許可權(4755)的命令無法使用,ssh的key和一些ssh相關的系統文件夾不能是777許可權。那麼,如果使用root用戶改了錯誤的許可權後,怎麼恢復呢?
思路是這樣的:通過裝一個相同的新系統,把系統文件的許可權導出,再導入損壞系統。
我就碰到過一次這樣的情況,系統管理員誤操作,改變了大部分的系統文件許可權,現在把解決過程記錄如下。
1、嘗試使用getfacl導出新系統的文件許可權,再setfacl導入損壞系統;結果失敗。
這樣看似簡單可行,但是getfacl不會導出文件的Special Permissions許可權。無法正確恢復su等命令的許可權。
關於Special Permissions可以看之前的文章:linux常用+經典命令:Special Permissions設置部分
2、寫個程序導出新系統文件許可權再寫個shell導入損壞系統。
以下c程序make之後可以生成.out的可執行文件,使用filename.out /bin >> pe.txt 導出/bin目錄下的文件許可權到pe.txt文件。
#include
#include
int list(const char *name, const struct stat *status, int type)
{
if(type == FTW_NS)
return 0;
printf(「\」%s\」 0%3o\n」, name, status->st_mode & 07777);
return 0;
}
int main(int argc, char *argv[])
{
if(argc == 1)
ftw(「.」, list, 1);
else
ftw(argv[1], list, 2);
exit(0);
}
將pe拷貝到損壞系統,使用如下腳本執行之:filename.sh pe.txt
view plain to clipboardprint?
#!/bin/sh
if [ $# != 1 ]
then
echo Usage : $0 \
exit
fi
PERMFILE=$1
cat $PERMFILE | while read LINE
do
FILE=`echo $LINE | awk '{print $1}'`
PERM=`echo $LINE | awk '{print $2}'`
chmod $PERM $FILE
#echo "chmod $PERM $FILE"
done
echo "change perm finished! "
自己安裝的軟體的許可權仍然是777,可以手動改回來或者重新安裝。
++++++++++++++++++++++++++++++++++++++++++++++++++
http://blog.sina.com.cn/s/blog_764cc7ef0100szui.html
操作系統 RHEL5
如果你在linux上執行了如下操作
chmod -R 777 / 或者 chmod -R 700 /
那麼恭喜你,你的系統即將崩潰,重啟之後,你進不了圖形界面,而且很多服務都起不來
為什麼呢?
因為linux中,系統的有些文件和目錄許可權都是嚴格要求的,比如說/tmp和/root里的一些重要文件的許可權都是至關重要的
一旦文件許可權受到破壞,會直接影響系統的正常啟動及使用。
那麼我們碰到這種情況怎麼辦呢?
1、手動的將各個文件的許可權進行對照還原(假如你很有時間的話)
2、找到一台環境相同的linux機器(最好乾凈一些),並進行下面操作
1> getfacl -R / >systemP.bak 將這個系統中的 / ,以及 / 底下所有的文件及目錄許可權導出到一個文件中
2> 將systemP.bak文件想辦法拷貝到被破壞的機器上
並執行setfacl --restore=systemP.bak
3> 重啟系統
4> 將 passwd命令和 su命令的許可權進行手動恢復
chmod u+s `which passwd`
chmod u+s `which su`
看看是不是完活了
註:可能不能完全還原,但起碼可以進入一個較為完整的圖形界面操作,其他的報錯應該就可以在這個基礎上進行解決了,比如有些服務。這里就不多講了。