1. 程式人生 > >通過HTTP訪問本地使用者目錄

通過HTTP訪問本地使用者目錄

2010年6月5日

16:08

伺服器環境:

伺服器的IP地址設定為192.168.152.100

使用者目錄的功能是由mod_userdir模組來實現的。

這是Apache伺服器的一個非常好的功能,每個使用者可以開設自己的站點頁面。

現在,為itadmin使用者建立個人主頁,具體步驟如下。在linux系統下,先建立一個itadmin的使用者。

Useradd itadmin

Password itadmin

使用者密碼,自己設定好。

一、在使用者的主目錄public_html目錄中建立使用者自己的站點

Public_html是Apapche提供的使用者站點的預設位置

  1. 以itadmin登入在其主目錄下建立public_html目錄,並在這個目錄裡建立自己的測試index.htm頁面

[[email protected] ~]$ mkdir public_html

[[email protected] ~]$chmod 711 . #設定itadmin主目錄,允許其他人進入瀏覽。

注:目錄許可權,可以根據需要來進行設定,主要是因為apache服務,是使用apache帳號來訪問檔案系統目錄的。

[[email protected] ~]$ cd public_html

[[email protected] public_html]$ echo "This is $USER's homepage">itadmin.htm

完成後,登出。以root使用者登入系統。

  1. 開啟/etc/httpd/conf/httpd.conf進行修改

找到如下一行,將其註釋(在行首加上#即為註釋),此行約在356行

#UserDir disable

去除UserDir public_html 前註釋,使其功能啟動,此行約在361行

將約371行開始,如下這些行,註釋支除,全部啟用

<Directory /home/*/public_html>

AllowOverride FileInfo AuthConfig Limit

Options MultiViews Indexes SymLinksIfOwnerMatch Include sNoExec

DierctoryIndex itadmin.htm

#注意:DirectoryIndex的用法,我們在前面的全域性配置裡也用到過,這條命令可以用在全域性配置中,也可以用在單個配置段Directory中,在這裡的作用就是指定itadmin.htm這個名字的文件為所有使用者網頁的預設主文件。

<Limit GET POST OPTIONS>

Order allow,deny

Allow from all

</Limit>

#這個Limited塊的配置作用是限制,網站的訪問只允許使用HTTP的GET POST OPTIONS方法,其他HTTP協議方法不允許。

<LimitExcept GET POST OPTIONS>

Order deny,allow

Deny from all

</LimitExcept>

</Directory>

  1. 修改完後,儲存配置檔案,重啟動Apache服務

[[email protected] abc]# service httpd restart

clip_image001

二、將使用者站點建立在某個指定目錄中。

在使用者的主目錄裡建立WEB的站點頁面,總是不安全。因些,我們可以使用UserDir命令將本地使用者的站點建立到某個目錄下。

例如:使用UserDir /var/www/users

步驟:

1、建立相應的環境,並開設好許可權

(1)在/var/www下建立好users目錄及使用者目錄itadmin

# mkdir -p users/itadmin

(2)在/var/www/users/itadmin 目錄建立網頁檔案webitadmin.htm

#touch webitadmin.htm

# echo "This file is at \" `pwd` \",it is itadmin web homediretory" &gt; webitadmin.htm

注:目錄許可權,要給others可進入瀏覽,檔案許可權要給others可讀

2、修改httpd.conf檔案

Vi /etc/httpd/conf/httpd.conf

修改的內容為

UserDir /var/www/users

<Directory /var/www/users/*>

AllowOverride FileInfo AuthConfig Limit

Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

<Limit GET POST OPTIONS>

Order allow,deny

Allow from all

</Limit>

<LimitExcept GET POST OPTIONS>

Order deny,allow

Deny from all

</LimitExcept>

</Directory>

3、儲存後,重啟動apache服務

開啟瀏覽器,瀏覽,顯示如下圖片

clip_image002

三、限制本使用者使用使用者目錄

UserDir disabled <使用者名稱列表> #禁止使用者使用使用者目錄的功能

UserDir enabled <使用者名稱列且> #允許那些使用者使使用者目錄的功能。

附錄: UserDir 的用法

在多使用者系統中,用UserDir指令可以允許每個使用者在其宿主目錄中擁有一個網路站點。使用URLhttp://example.com/~username/ 的訪問者可以獲得使用者"username"的宿主目錄中的內容或者用UserDir指定的子目錄中的內容。

使用者網站目錄

相關模組 相關指令

mod_userdir

UserDir

DirectoryMatch

AllowOverride

用UserDir設定檔案路徑

可以用UserDir指令指定被網路讀取的使用者網站目錄。此指令有幾種不同的形式。

如果路徑沒有前導斜槓,則被當作該使用者宿主目錄下的子目錄。如果有以下配置:

UserDir public_html

如果路徑有前導斜槓,則用此路徑和使用者名稱構造路徑。如果有以下配置:

UserDir /var/html

如果路徑中有星號(*),則星號部分會被使用者名稱所取代。如果有以下配置:

UserDir /var/www/*/docs

限定哪些使用者可以使用此功能

使用UserDir可以限定被允許使用此功能的使用者:

UserDir enabled

UserDir disabled root jro fish

上述配置使除了列在disabled中的使用者以外的所有使用者都可以使用此功能。還可以禁止所有使用者而只允許部分使用者使用此功能,例如:

UserDir disabled

UserDir enabled rbowen krietz

更多的例子請參見UserDir文件。

啟用對每個使用者都有效的cgi目錄

<Directory>指令可以指定每個使用者主目錄中的一個特定的目錄為"允許cgi"的目錄,使每個使用者都可以擁有自己的cgi-bin目錄。

<Directory /home/*/public_html/cgi-bin/>

Options ExecCGI

SetHandler cgi-script

</Directory>

這樣"放肆的"設定使得UserDir被設定成public_html ,CGI程式example.cgi可以用下面的URL從那個目錄載入:

允許使用者改變配置

使用者可以通過.htaccess檔案改變其網路空間的伺服器配置,因此必須確保AllowOverride指令被正確設定,以限定使用者只能使用被允許的指令。其細節請參見.htaccess指南。

相關推薦

通過HTTP訪問本地使用者目錄

2010年6月5日 16:08 伺服器環境: 伺服器的IP地址設定為192.168.152.100 使用者目錄的功能是由mod_userdir模組來實現的。 這是Apache伺服器的一個非常好的功能,每個使用者可以開設自己的站點頁面。 現在,為itadmin使用者建立個人主頁,具體步驟如下。

配置git 通過git://協議進行只讀訪問, 以及配置本地訪問 ,以及通過http 訪問

git 可以使用四種主要的協議來傳輸資料:本地傳輸,SSH 協議,Git 協議和 HTTP 協議。 1本地協議              遠端倉庫在該協議中就是硬碟上的另一個目錄。這常見於團隊每一個成員都對一個共享的檔案系統(例如 NFS )擁有訪問權,抑或比較少見的

centos7搭建svn並通過http訪問

svn centos7安裝httpd安裝httpd服務: yum install httpd 檢查httpd是否安裝成功: httpd -versionServer version: Apache/2.4.6 (CentOS)Server built: Jul 18 2016 15:30:14 安裝s

go語言中通過http訪問需要認證的api

read light {} true 訪問 users tps ada 返回    func main() { //生成client 參數為默認 client := &http.Client{} //生成要訪問的url url := "https://a

利用nginx使ftp可以通過http訪問

html color AD 默認網站 reload span load gin ftp ./nginx 啟動服務./nginx -s stop 關閉服務./nginx -s reload 重新加載配置文件 搭建nginx映射ftp服務:打開nginx的配置文件ngin

JAVA通過HTTP訪問:Post+Get方式

public class TestGetPost { /** * 向指定URL傳送GET方法的請求 * @param url 傳送請求的URL * @param param 請求引數,請求引數應該是name1=value1&name2=value2的形

Linux(Red Hat6.5)下安裝svn伺服器,並通過http訪問

一、安裝        1、安裝svn,一般情況下選擇yum方式安裝比較簡單。 [[email protected] svn]# yum -y install mod_dav_svn #會自動安裝mod_dav_svn及其依賴包:mod_dav_svn-1.6.1

html頁面通過http訪問mysql數據庫中的內容,實現用戶登錄的功能

默認 存在 apache ron username 問題 登錄界面 ble rom 需求:   通過html編寫用戶登錄頁面,頁面內容包括用戶名、密碼和登錄按鈕,點擊登錄後訪問login.php文件,使用按鈕默認的submit提交用戶名和密碼,在login.php中訪問my

通過http訪問svn伺服器的配置方法

    今天配置Apache + SVN實現通過http方式來訪問svn伺服器。經過在網上搜索“svn http”,得出這篇介紹還有這篇是比較全面的。於是按照上面的步驟一步步進行:     1、開啟Apache的配置檔案,將dav、dav_svn模組載入進去。     2、配

C#通過HTTP訪問JAVA的控制器

                  我們今天說的是HTTP協議,但是我不想直接說,為什麼呢?因為其實我們研究技術也不單單就是說直接看程式碼,看技術,實現功能就好,而是說要本著實際業務場景及架構方式和未來軟體發展趨勢等多方面來考慮軟體實現方式。說道HTTP其實它有很多優勢,為

nginx功能之一可以啟動一個本地伺服器,通過配置server_name和root目錄等來訪問目標檔案

  一. 下載 http://nginx.org/   下載後解壓   二. 修改配置檔案 nginx配置檔案在 nginx-1.8.0\conf\nginx.conf http { #壓縮html

配置django上傳文件目錄http訪問

static processor roo weight base text images views django 1、假設你的html模版文件使用以下路徑來訪問上傳文件內容: url="{{ MEDIA_URL }}{{ images.image }}" 2、設置sett

瀏覽器通過http協議通過nginx訪問ftp服務器上的文件

es2017 協議 alt com 默認目錄 blog nginx nbsp 訪問 1、修改nginx配置文件 2、修改nginx默認目錄為ftp默認目錄 3、修改成自定義路徑後,並修改此目錄第一行,修改為root或是nginx用戶 4、重新加載 cd /usr/lo

[daily][centos][nginx] 在centos7使用nginx啟用對文件目錄http訪問

mission lld 服務 nging 參考 索引 iss firewall bsp 1. 安裝nginx yum install nginx 2. 修改配置 2.1 提供目錄權限:   我需要訪問的目錄是 /home/data, 用戶是data, 所以修改如下配

sshfs通過ssh掛載遠程目錄本地

遠程管理 pro 主頁 org 改變 ubuntu 安全 配置 做到 SSH 是一個強大且安全的工具,我們除了可以用它來遠程管理主機外,還可以通過它建立 SSH tunnel 作 Proxy 用,遠程傳輸文件等等。而這裏我想要介紹另外一個功能,那就是結合 sshfs 這個工

通過http實現調接口,實現將遠程的數據庫數據插入到本地的數據當中的操作。

使用 nco 靜態頁面 sta 底層 stat user pac end 今天同事給我一個接口,讓我實現將遠程的數據的信息通過http的形式獲取到插入到本地的數據庫當中。 (1)簡單的方法是通過ajax傳遞參數,然後在後臺請求數據。 (2)通過http請求獲取到數據,然後插

關於單臺機器配置本地yum後其他機器通過httpd訪問的有關問題

.com 客戶 拷貝 pos spa cdrom 主機名 本地yum 宋體 今天跑通了三臺機器和yum本地倉庫的連接,linux小白很開心,特此記錄一下。 首先: 先挑選一臺機器min2(我的主機器),掛載一個系統光盤到本地目錄/mnt/cdrom,然後啟動一個httpd服

通過設定ie的通過跨域訪問資料來源,來訪問本地服務

1、首先設定通過域訪問資料來源 設定通過域訪問資料來源 2、javascript指令碼ajax使用本地服務登入(評價,人證的類似)介面 <html> <head> <script type="text/javascript"> f

如何通過自定義域名方式訪問本地WEB應用

win 進入 文檔 程序 2.4 註冊 可執行 .exe 公網 自定義域名訪問本地WEB應用 本地安裝了WEB服務端,怎樣通過自定義域名方式實現從公網訪問本地WEB應用? 本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝並啟動WEB服務端 默認安裝的WEB端口是80

通過nginx訪問linux目錄

http { ...... autoindex on; autoindex_exact_size off; autoindex_localtime on; server { listen 80; ......