Linux添加FTP用戶并設(shè)置權(quán)限
東山網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
在linux中添加ftp用戶,并設(shè)置相應(yīng)的權(quán)限,操作步驟如下:
1、環(huán)境:ftp為vsftp。被限制用戶名為test。被限制路徑為/home/test
2、建用戶:在root用戶下:
useradd -d /home/test test //增加用戶test,并制定test用戶的主目錄為/home/test
passwd test //為test設(shè)置密碼
3、更改用戶相應(yīng)的權(quán)限設(shè)置:
usermod -s /sbin/nologin test //限定用戶test不能telnet,只能ftp
usermod -s /sbin/bash test //用戶test恢復(fù)正常
usermod -d /test test //更改用戶test的主目錄為/test
4、限制用戶只能訪問/home/test,不能訪問其他路徑
修改/etc/vsftpd/vsftpd.conf如下
chroot_list_enable=YES //限制訪問自身目錄
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
編輯 vsftpd.chroot_list文件,將受限制的用戶添加進去,每個用戶名一行
改完配置文件,不要忘記重啟vsFTPd服務(wù)器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart
5、如果需要允許用戶修改密碼,但是又沒有telnet登錄系統(tǒng)的權(quán)限:
usermod -s /usr/bin/passwd test //用戶telnet后將直接進入改密界面
使用一鍵安裝包配置的apache環(huán)境,添加網(wǎng)站配置方法如下:
1.命令:cd /alidata/server/httpd/conf/vhosts/
進入網(wǎng)站的配置文件目錄
2.命令:vi aa.conf
創(chuàng)建一個新的配置文件
3.按鍵盤上的字母 “i” ,開始編輯文件,將下面的內(nèi)容復(fù)制過去。
Order allow,deny
Deny from all
DocumentRoot /alidata/www/test
ServerName
ServerAlias test.com
Options Indexes FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
RewriteEngine On
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2
ErrorLog "/alidata/log/httpd/test-error.log"
CustomLog "/alidata/log/httpd/test.log" common
對應(yīng)自己的
ServerName 綁定的網(wǎng)站域名
ServerAlias test.com 綁定的網(wǎng)站別名(您如果有多個域名添加在這里)沒有的話,這個可以刪除。
DirectoryIndex index.html index.php index.htm 設(shè)置默認首頁
DocumentRoot /alidata/www/test 和 Directory "/alidata/www/test" 和 DirectoryMatch "/alidata/www/test/都是指定網(wǎng)站的目錄,需要一致。
ErrorLog "/alidata/log/httpd/test-error.log" 和 CustomLog "/alidata/log/httpd/test.log" 對應(yīng)的日志名字也需要自己修改一下,可以區(qū)分網(wǎng)站的日志信息。
4.輸入命令:/alidata/server/httpd/bin/apachectl restart 重啟apache測試。
配置網(wǎng)站:根據(jù)實際在線人數(shù)選擇配置,例如:4核8G 云盤320G 帶寬10M ? 100人左右可以
綁定域名:管理控制臺-云服務(wù)器-服務(wù)器IP-復(fù)制公網(wǎng)IP-域名控制臺-添加解析
以阿里云為示例
1. 登錄您的Linux云主機,進入WEB服務(wù)器配置文件夾;
運行命令:cd /aliyun/webserver/apache2.2.15/conf
2、 備份WEB服務(wù)器配置文件;
運行命令:cp httpd.conf httpd.conf.bak
3、 修改WEB服務(wù)器配置文件;
運行命令:vi + httpd.conf
4、 添加網(wǎng)站配置信息;
1) 按字母i鍵,進入編輯模式;
2) 在配置文件末尾,添加
ServerAdmin admin@domain(您的郵箱)
DocumentRoot /alidata/www/wwwroot/phpwind (網(wǎng)站存放路徑)
ServerName test.com (網(wǎng)站域名)
ServerAlias (網(wǎng)站別名)
ErrorDocument 404 /404.php
DirectoryIndex index.html index.php index.htm
(網(wǎng)站存放路徑)
Options +Includes
AllowOverride None
Order allow,deny
Allow from all
3) 保存修改。按ESC鍵,輸入”:wq”后回車;
4) 使配置生效。運行命令:../bin/apachectl graceful
5) 測試網(wǎng)站。請在瀏覽器中輸入域名,測試設(shè)置。
推薦使用小鳥云服務(wù)器:
小鳥云專注為個人開發(fā)者用戶、中小型、大型企業(yè)用戶提供一站式核心網(wǎng)絡(luò)云端部署服務(wù),促使用戶云端部署化簡為零,輕松快捷運用云計算。小鳥云服務(wù)器全線采用高端Intel Haswell CPU,能夠針對企業(yè)的不同需求提供多種功能,內(nèi)存采用最新DDR4內(nèi)存條,,大大提升數(shù)據(jù)的訪問速度;磁盤采用高速Sas3 SSD高頻固態(tài)硬盤,可滿足Sas接口系統(tǒng)的所有需求,大幅提高用戶數(shù)據(jù)庫性能,提高大并發(fā)場景下的響應(yīng)速度,保障高負載下的完美用戶體驗。
一、DNS服務(wù)器的設(shè)置
我們知道互聯(lián)網(wǎng)網(wǎng)是基于TCP/IP協(xié)議的,要進行通信必須獲得對方的IP地址,這是通過DNS服務(wù)器來實現(xiàn)的。因此要想實現(xiàn)虛擬域名首先應(yīng)當(dāng)令DNS服務(wù)器接受該虛擬域名,即把它映射到指定的IP地址上。因為我們靠Web服務(wù)器來區(qū)分域名,所以這個IP地址自然應(yīng)當(dāng)是Web服務(wù)器所管理的。
RedHat6.0操作系統(tǒng)中捆綁有BIND DNS服務(wù)器。它的域名配置文件是”/etc/named.conf”,一般情況下,域配置文件放在”/var/named”目錄下面。
例1、named.conf文件的配置:
zone “domain.com” {
type master;
file “domain.com”;
};
zone “0.10.10.in-addr.arpa” {
type master;
file “10.10.0〃;
};
該例子說明”domain.com”的域配置文件是”/var/named/domain.com”,反向域的配置文件是”/var/named/10.10.0〃。domain.com文件負責(zé)把DNS域名映射為IP地址。
例2、domain.com文件配置:
@ IN SOA dns.domain.com. hostmaster.dns.domain.com. (
1998111003 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN MX 10 dns.domain.com.
@ IN NS dns.domain.com.
@ IN A 10.10.0.1
www IN A 10.10.0.1
假定要增加的域名是aaa.domain.com,想要指到,DNS服務(wù)中應(yīng)增加一個別名記錄,可寫成:
aaa IN CNAME .
如果需要配置大量的虛擬域名,domain.com文件要很大,而且也相當(dāng)麻煩。我們可以使用符號 “*” ,即在 domain.com 文件中加入:
* IN CNAME .
這樣它就把所有沒給出設(shè)置的以domain.com結(jié)尾的記錄全部轉(zhuǎn)到去了,不管是aaa.domain.com還是bbb.domain.com。這不會影響已有的記錄。配置好DNS服務(wù)器后應(yīng)該重新啟動守護進程named:
[root@domain /root]# /etc/rc.d/init.d/named restart
二、Apache服務(wù)器的配置
Apache服務(wù)器是目前互聯(lián)網(wǎng)上使用最多的Web服務(wù)器,它可以維護非常繁忙的站點。RedHat 6.0捆綁了Apache Web Server 1.3。它的配置文件位于”/etc/httpd/conf”目錄下,有httpd.conf、srm.conf、access.conf,下面討論一下與虛擬域名有關(guān)的配置:
1、靜態(tài)配置
修改配置文件 httpd.conf 的步驟:
(1) 首先設(shè)置UseCanonicalName為off。它指示用服務(wù)器Host:header的內(nèi)容代替ServerName 的值來提供給環(huán)境變量SERVER_NAME。
(2) 然后加入:
NameVirtualHost xxx.xxx.xxx.xxx其中xxx.xxx.xxx.xxx為所要配置的虛擬服務(wù)器的IP地址。在此可配置多個虛擬IP地址,當(dāng)然要與DNS服務(wù)器中的配置一致。(注意:這里要用IP地址,不能用域名。)
(3) 接下來為每個虛擬域名加入一段記錄:
virtualhost xxx.xxx.xxx.xxx
…..
/virtualhost
xxx.xxx.xxx.xxx要和NameVirtualHost配置的IP地址一致。在兩個標(biāo)志之間可加入的配置參數(shù)有:
ServerName后面跟你要增加的虛擬域名,如aaa.domain.com ;
Documentroot如果你映射到本機的路徑就加在后面,如”/home/aaa” ;
redirect如果你映射到遠端的URL可加在后面,有兩個參數(shù),第一個是虛擬域名的相對路徑,第二個是遠端站點的URL;
ServerAlias后可加入本域名的別名,可使用通配符,如*.aaa.domain.com 。
下面舉兩個例子:
例3、映射到本機的物理路徑:
virtualhost xxx.xxx.xxx.xxx
DocumentRoot “/home/test”
ServerName test.domain.com
virtualhost
例4、映射到遠端的URL:
virtualhost xxx.xxx.xxx.xxx
ServerName test1.doamin.com
redirect /
/virtualhost
還有一些參數(shù),象log文件的位置、超時的設(shè)置、緩沖區(qū)的設(shè)置等等,在此不一一介紹,可以參考Apache服務(wù)器的在線幫助文件。配置好httpd.conf文件后需要重新啟動Apache的后臺守護進程httpd,
[root@domain /root]# /etc/rc.d/init.d/httpd restart
每增加一個虛擬域名就要增加一段位于 VirtualHost...… /VirtualHost 之間的配置代碼,而且只有在重新啟動 httpd 后新配置才能生效。
2、動態(tài)配置
可以發(fā)現(xiàn),如果要配置大量的虛擬域名將大大增加配置文件的長度,這樣還會使Apache啟動變慢,占用更多的內(nèi)存,而且也不容易實現(xiàn)在線申請??梢酝ㄟ^選擇動態(tài)方式來配置。這樣不必事先寫好配置,而是通過編寫一定的動態(tài)規(guī)則來自動生成或隨時從獨立的配置文件中讀取信息。
Apache有一個強大的擴展功能,即模塊(Modules)的特性。模塊可對服務(wù)器的功能進行擴充,它在運行和使用時才裝入服務(wù)器,這樣比一直放入服務(wù)器中要節(jié)省內(nèi)存空間,同時也比調(diào)用外部CGI程序速度快。
現(xiàn)在使用一個功能強大的模塊來實現(xiàn)動態(tài)配置虛擬域名,這就是mod_rewrite。它負責(zé)偵聽從客戶機送出的URL地址,并基于一組規(guī)則表達式對該URL來進行重寫。這類似于URL別名概念,但它更進了一步,輸出的URL可以映射到其他主機的任何URL地址上。 修改配置文件httpd.conf的步驟:
(1) 先設(shè)置UseCanonicalName為off 。
(2) 使用RewriteEngine on打開rewrite引擎。用RewriteMap設(shè)定配置文件的位置和屬性,用RewriteCond和RewriteRule制定相應(yīng)的規(guī)則。
例5、httpd.conf 文件中相關(guān)配置的一個例子:
RewriteEngine on
RewriteMap lowercase int:tolower
# 定義獨立的配置文件的位置
RewriteMap vhost dbm:/www/conf/vhostdbm
# 利用獨立的配置文件重映射虛擬域名
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/docs/$1
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/cgi-bin/$1
這里的 vhostdbm 文件格式見”CGI 程序的編制” 。
三、CGI程序的編制
要實現(xiàn)虛擬域名的在線申請,就必須編寫相應(yīng)CGI程序動態(tài)修改獨立的配置文件(即上面的vhostdbm文件)和進行用戶的管理(包括用戶申請,登錄,密碼修改等等)。在此只介紹對獨立的配置文件的操作,其他屬于如何用Perl語言來編寫CGI程序,請參考有關(guān)資料。
vhostdbm文件使用dbm格式來記錄數(shù)據(jù),與用普通文本文件相比可加快尋找速度,而且易于修改。許多UNIX系統(tǒng)都具有叫做dbm(database management)的標(biāo)準(zhǔn)庫。該庫將鍵-值對的集合存貯到一對磁盤文件中,提供簡單的數(shù)據(jù)庫管理工具,可以方便的更改、新增或刪除數(shù)據(jù)內(nèi)容。
Perl訪問dbm的方式:通過一個類似于打開文件的進程將關(guān)聯(lián)數(shù)組與dbm數(shù)據(jù)庫聯(lián)系起來。在數(shù)組中創(chuàng)建新元素時立即就更改了dbm數(shù)據(jù)庫。刪除一個元素的同時也刪除了dbm數(shù)據(jù)庫中的數(shù)值??墒褂茫?/p>
1、欲將dbm數(shù)據(jù)庫與dbm數(shù)組相關(guān)聯(lián)起來:
dbmopen(%arrayname,”dbmfilename”,$mode);
如果dbmfilename不存在的話就新建該庫。%arrayname參數(shù)是Perl的關(guān)聯(lián)數(shù)組(如果這個數(shù)組已經(jīng)有值,那么這些值就被刪除)。該關(guān)聯(lián)數(shù)組連接到叫做dbmfilename的dbm數(shù)據(jù)庫中。$mode 參數(shù)是當(dāng)需要創(chuàng)建庫時控制庫文件權(quán)限的數(shù)字,該數(shù)字被指定為8制,經(jīng)常被用到的是0644,給除了機主之外的新用戶以只讀的權(quán)限,機主可有全部權(quán)限。
2、關(guān)閉dbm庫:
dbmclose(%arrayname);
%arrayname 是已經(jīng)與dbm庫關(guān)聯(lián)了的數(shù)組名。
例6、VHOST打開vhostdbm,或新建一個dbm庫:
dbmopen(%VHOST,”vhostdbm”,0644);
例7、新建記錄或更改已有記錄(設(shè)從html文件form中傳過來的參數(shù)名為vhost、rhost):
$VHOST{$FORM{’vhost’}}=$FORM{’rhost’};
例8、刪除已有記錄(設(shè)從html文件form中傳過來的參數(shù)名為vhost):
delete $VHOST{$FORM{’vhost’}};
例9、關(guān)閉vhostdbm:
dbmclose(%VHOST);
注:以上已經(jīng)假設(shè)傳過來的參數(shù)經(jīng)過了驗證,不存在重復(fù)的記錄,否則會導(dǎo)致已有記錄的混亂。
httpd.conf 該文件底部
virtualhost 192.168.0.100 #你的服務(wù)器ip
DocumentRoot “/home/test” #你的網(wǎng)站路徑
ServerName test.domain.com #你的域名
virtualhost
綁定域名是在apache配置文件里做的,一般vhosts.cfg打開修改就可以。這是做虛擬主機的例子。