2016年6月23日 星期四

Windows使用command line變更權限及刪除檔案

1. 開啟cmd.exe。
2. 在command line輸入takeown /F Path&FileName /R /A。
3. 在command line輸入icacls Path&FileName /T /C /grant:r Administrator:F。
4. 在command line輸入del Path&FileName /S /Q。



在command line輸入TAKEOWN /?可看到如下說明:

TAKEOWN [/S system [/U username [/P [password]]]]
        /F filename [/A] [/R [/D prompt]]
描述:
    這個工具可以讓系統管理員恢復之前被拒絕重新指派檔案擁有權。
參數清單:
    /S           system            指定要連線的遠端系統。
    /U           [domain\]user 指定執行命令的使用者內容。
    /P           [password]      指定使用者密碼。如果省略,會出現密碼輸入要求。
    /F           filename          指定檔案名稱或目錄名稱模式。萬用字元 "*" 可以用來指定模式。允許sharename\filename。
    /A                                  將擁有權給予系統管理員,而非目前的使用者。
    /R                                  遞迴搜尋: 指示工具在指定的目錄和所有子目錄中的檔案操作。
    /D           prompt            當目前的使用者沒有目錄 "list folder" 使用權時,所使用的預設回答。在子目錄遞迴操作時將發生此情況。要取得擁有權,有效值為 "Y",要略過則是 "N"。
    /?                                   顯示這個說明訊息。
    注意: 1) 如果沒有指定 /A,檔案擁有權將給予目前登入的使用者。
             2) 不支援混合使用 "?" 和 "*"。
             3) 要壓抑確認提示,請用 /D。
範例:
    TAKEOWN /?
    TAKEOWN /F lostfile
    TAKEOWN /F \\system\share\lostfile /A
    TAKEOWN /F directory /R /D N
    TAKEOWN /F directory /R /A
    TAKEOWN /F *
    TAKEOWN /F C:\Windows\System32\acme.exe
    TAKEOWN /F %windir%\*.txt
    TAKEOWN /S system /F MyShare\Acme*.doc
    TAKEOWN /S system /U user /F MyShare\foo.dll
    TAKEOWN /S system /U domain\user /P password /F share\filename
    TAKEOWN /S system /U user /P password /F Doc\Report.doc /A
    TAKEOWN /S system /U user /P password /F Myshare\*
    TAKEOWN /S system /U user /P password /F Home\Logon /R
    TAKEOWN /S system /U user /P password /F Myshare\directory /R /A



在command line輸入ICACLS/?可看到如下說明:

ICACLS name /save aclfile [/T] [/C] [/L] [/Q]
    將符合名稱之檔案與資料夾的 DACL 儲存至 aclfile,以供稍後與/restore 搭配使用。請注意,這不會儲存 SACL、擁有者或完整性標籤。
ICACLS directory [/substitute SidOld SidNew [...]] /restore aclfile
                 [/C] [/L] [/Q]
    將儲存的 DACL 套用到目錄中的檔案。
ICACLS name /setowner user [/T] [/C] [/L] [/Q]
    變更所有相符名稱的擁有者。此選項不會強制變更擁有權; 如果要強制變更擁有權,請使用 takeown.exe 公用程式。
ICACLS name /findsid Sid [/T] [/C] [/L] [/Q]
    尋找內含明確提及 Sid 之 ACL 的所有相符名稱。
ICACLS name /verify [/T] [/C] [/L] [/Q]
    尋找含有未使用標準格式的 ACL 或長度與 ACE 計數不一致的所有檔案。
ICACLS name /reset [/T] [/C] [/L] [/Q]
    針對所有符合的檔案,使用預設繼承的 ACL 取代 ACL。
ICACLS name [/grant[:r] Sid:perm[...]]
       [/deny Sid:perm [...]]
       [/remove[:g|:d]] Sid[...]] [/T] [/C] [/L] [/Q]
       [/setintegritylevel Level:policy[...]]
    /grant[:r] Sid:perm 授與指定的使用者存取權限。若加上 :r,該權限便會取代先前授與的明確權限。若不加上 :r,則會將權限加入先前授與的任何明確權限。
    /deny Sid:perm 明確拒絕指定的使用者存取權限。對指定的權限新增明確拒絕的ACE,並將任何明確授與中的相同權限移除。
    /remove[:[g|d]] Sid 會移除 ACL 中 Sid 的所有符合項目。若加上 :g,會將授與該 Sid 之權限的所有符合項目移除。若加上 :d,則會將拒絕該 Sid 之權限的所有符合項目移除。
    /setintegritylevel [(CI)(OI)]Level 明確地新增完整性 ACE 至所有符合的檔案。可指定下列層級的其中一個:
            L[ow]
            M[edium]
            H[igh]
        完整性 ACE 的繼承選項具有高於層級的優先性,且只會套用到目錄。
    /inheritance:e|d|r
        e - 啟用繼承
        d - 停用繼承並複製 ACE
        r - 移除所有繼承的 ACE
注意:
    Sid 的格式可以是數字或好記的名稱。如果指定使用數字格式,請在 SID 的開頭加上 *。
    /T 指示要在 name 指定之目錄下的所有相符檔案/目錄上執行此操作。
    /C 指示不論發生任何檔案錯誤,都繼續執行此操作。仍會顯示錯誤訊息。
    /L 指示此操作會在符號連結 (而非其目標) 上執行。
    /Q 指示 icacls 應隱藏成功訊息。
    ICACLS 保留 ACE 項目的標準順序:
            明確拒絕
            明確授與
            繼承拒絕
            繼承授與
    perm 是權限遮罩,可使用下列其中一種格式來指定:
        一連串簡單權限:
                N - 不允許存取
                F - 完整存取權
                M - 修改存取權
                RX - 讀取和執行存取權
                R - 唯讀存取權
                W - 唯寫存取權
                D - 刪除存取權
        在括號中以逗號分隔特定權限的清單:
                DE - 刪除
                RC - 讀取控制
                WDAC - 寫入 DAC
                WO - 寫入擁有者
                S - 同步
                AS - 存取系統安全性
                MA - 允許的最大值
                GR - 一般讀取
                GW - 一般寫入
                GE - 一般執行
                GA - 一般所有權限
                RD - 讀取資料/列出目錄
                WD - 寫入資料/新增檔案
                AD - 附加資料/新增子目錄
                REA - 讀取擴充屬性
                WEA - 寫入擴充屬性
                X - 執行/周遊
                DC - 刪除子系
                RA - 讀取屬性
                WA - 寫入屬性
        繼承權限的優先順序高於上述任一種格式,且僅套用到目錄:
                (OI) - 物件繼承
                (CI) - 容器繼承
                (IO) - 僅繼承
                (NP) - 不傳播繼承
                (I) - 從父容器繼承的權限
範例:
        icacls c:\windows\* /save AclFile /T
        - 會將 c:\windows 及其子目錄下所有檔案的 ACL 儲存到 AclFile。
        icacls c:\windows\ /restore AclFile
        - 會還原 AclFile 之中每個檔案的 Acl,而 AclFile 位於 c:\windows及其子目錄下。
        icacls file /grant Administrator:(D,WDAC)
        - 會將檔案的刪除和寫入 DAC 權限授與使用者 Administrator。
        icacls file /grant *S-1-1-0:(D,WDAC)
        - 會將檔案的刪除和寫入 DAC 權限授與 sid S-1-1-0 所定義的使用者。



在command line輸入DEL/?可看到如下說明:

刪除一個或更多檔案。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
  names         指定一個或更多檔案或目錄清單。可以使用萬用字元來刪除多個檔案。 如果指定目錄,這個目錄內的所有檔案將被刪除。
  /P            刪除每個檔案前,先提示確認。
  /F            強制刪除唯讀檔案。
  /S            由所有子目錄刪除指定的檔案。
  /Q            安靜模式,不要問是否確定刪除全域萬用字元
  /A            根據屬性選取要刪除的檔案
  attributes    R  唯讀檔案            S  系統檔案
                H  隱藏檔案            A  準備保存的檔案
                -  首碼表示否定
如果您啟用擴充命令,DEL 和 ERASE 命令的變更如下:
/S 參數的顯示方式完全相反,它只會顯示已刪除的檔案,不會顯示它找不到的
檔案。

2016年6月22日 星期三

CGI, Common Gateway Interface

Common Gateway Interface,共通閘道介面,一種標準介面程式,能讓網頁跟網路伺服器(Web server)溝通,使網頁達到互動效果或動態產生網頁。

個別的網路伺服器(Web server)運行HTTP(超文本傳輸協定)的伺服器軟體,用來回應網路瀏覽器提出的請求。
一般來說,這個HTTP伺服器中有一個被用來存放文件庫的資料夾——當網路瀏覽器提出請求時遞送出文件。
例如,一個域名為example.com的網路伺服器,其文件庫是存放在本機的檔案系統中/usr/local/apache/htdocs的資料夾,當網路伺服器回應http://example.com/index.html的請求時送出存放在/usr/local/apache/htdocs/index.html位置的檔案。

CGI允許網路伺服器的所有者在文件庫的範圍中編製路徑,作為存放可執行的腳本或二進位檔案的容器,用以取代事先寫好的網頁。CGI藉此延伸這個系統,稱作CGI路徑(CGI directory)。
例如,/usr/local/apache/htdocs/cgi-bin在網路伺服器上可以被編製作為CGI路徑。
假設網路瀏覽器請求在CGI路徑範圍中一個URL所指定的檔案(如http://example.com/cgi-bin/printenv.pl),然後取代對檔案的請求送出(/usr/local/apache/htdocs/cgi-bin/printenv.pl)到網路瀏覽器,HTTP伺服器運作該具體指定的腳本並傳送出腳本執行的結果到網路瀏覽器。
綜上所述,腳本執行標準輸出,被傳送到網路用戶端取代終端視窗原來所顯示的畫面。

CGI系統也允許網路瀏覽器經由URL或HTTP POST請求,送出資訊到腳本。
如果URL的腳本名稱緊接著加入斜線符號和附加路徑名稱,在這個腳本被叫用之前,該路徑會被儲存在PATH_INFO環境變數中。
如果參數經由HTTP GET請求(URL加上param=value後面附加問號)被送到腳本,在這個腳本被叫用之前,這些參數會被儲存在QUERY_STRING環境變數中。
如果參數經由HTTP POST請求被送到腳本,參數會被送到腳本的標準輸入。
腳本能夠接著由標準輸入和轉換網路瀏覽器的請求,來讀取這些環境變數或資料。


相關連結
维基百科

PHP, Hypertext Preprocessor

Hypertext Preprocessor,超文本預處理器,是一種開源的程式語言。

PHP程式可嵌入HTML程式中使用,也可與各種網路模組系統(web template systems)、網路內容管理系統(web content management systems)以及網路框架(web frameworks)混合使用。

PHP程式一般經由PHP編譯器處理為網路伺服器(web server)中的模組或可執行的共通閘道介面(CGI)。

PHP的網路伺服器(web server)結合了編譯和執行的結果,可以是任何型態的資料,包括圖片和所產生的網頁。

PHP程式也可以執行指令介面(CLI)以及單機圖形應用程式(graphical applications)。

相關連結
维基百科
PHP官方網站

PHP-logo

2016年6月18日 星期六

HTML其他符號

HTML其他符號



Char Number Entity Description
© © © COPYRIGHT SIGN
® ® ® REGISTERED SIGN
€ € EURO SIGN
™ ™ TRADEMARK
← ← LEFTWARDS ARROW
↑ ↑ UPWARDS ARROW
→ → RIGHTWARDS ARROW
↓ ↓ DOWNWARDS ARROW
♠ ♠ BLACK SPADE SUIT
♣ ♣ BLACK CLUB SUIT
♥ ♥ BLACK HEART SUIT
♦ ♦ BLACK DIAMOND SUIT