1. 程式人生 > >Linux系統管理與服務部署

Linux系統管理與服務部署

1.   Linux系統篇

2.1            Linux系統管理

通過前兩章的學習,我們已經能夠獨立安裝Linux系統,已經掌握了Linux學習的技巧,那接下來,我們將系統的來了解Linux系統各目錄、許可權及常用命令的使用。

2.1. 1         Linux目錄初識

通過前面的學習,我們已經能夠獨立安裝完一個linux系統,那接下來我們來熟悉一下Linux系統裡面的各個目錄資料夾的大致功能:
主要的目錄樹的有/、/root、/home、/usr、/bin等目錄。下面是一個典型的linux目錄結構如下: (附圖表)

/ 根目錄 
/bin 存放必要的命令 
/boot 存放核心以及啟動所需的檔案
/dev 存放裝置檔案 
/etc 存放系統配置檔案 
/home 普通使用者的宿主目錄,使用者資料存放在其主目錄中 
/lib 存放必要的執行庫 
/mnt 存放臨時的對映檔案系統,通常用來掛載使用。
 /proc 存放儲存程序和系統資訊 
/root 超級使用者的主目錄 
/sbin 存放系統管理程式 
/tmp 存放臨時檔案
/usr 存放應用程式,命令程式檔案、程式庫、手冊和其它文件。 
/var 系統預設日誌存放目錄

2.1. 2         Linux必備命令

預設進入系統,我們會看到這樣的字元: [[email protected] ~]#,其中#代表當前是root使用者登入,如果是$表示當前為普通使用者。
我們瞭解linux由很多目錄檔案構成,那我們來學習第一個Linux命令:
cd命令, cd  /home  ;解析:進入/home目錄
cd /root 進入/root目錄 ;cd ../返回上一級目錄;cd  ./當前目錄;(.和..可以理解為相對路徑;例如cd /hom/test ,cd加完整的路徑,可以理解為絕對路徑)
接下來繼續學習更多的命令:
   ls  ./ 檢視當前目錄所有的檔案和目錄。
ls  -a 檢視所有的檔案,包括隱藏檔案,以.開頭的檔案。
 
pwd顯示當前所在的目錄。
mkdir建立目錄,用法mkdir  test ,命令後接目錄的名稱。
rmdir 刪除空目錄
rm 刪除檔案或者目錄,用法 rm –rf  test.txt (-r表示遞迴,-f表示強制)。
cp 拷貝檔案,用法,cp  old.txt  /tmp/new.txt ,常用來備份;如果拷貝目錄
需要加 –r引數。
 
mv 重新命名或者移動檔案或者目錄,用法, mv old.txt new.txt
touch 建立檔案,用法,touch test.txt,如果檔案存在,則表示修改當前檔案時間。
Useradd建立使用者,用法 useradd wugk ,userdel刪除使用者。
Groupadd建立組,用法 groupadd wugk1 ,groupdel刪除組。
 
find查詢檔案或目錄,用法 find  /home  -name  “test.txt”,命令格式為:
find 後接查詢的目錄,-name指定需要查詢的檔名稱,名稱可以使用*表示所有。
find  /home  -name  “*.txt” ;查詢/home目錄下,所有以.txt結尾的檔案或者目錄。
vi 修改某個檔案,vi有三種模式:
命令列模式、文字輸入模式、末行模式。
預設vi開啟一個檔案,首先是命令列模式,然後按i進入文字輸入模式,可以在檔案裡寫入字元等等資訊。
寫完後,按esc進入命令模式,然後輸入:進入末行模式,例如輸入:wq表示儲存退出。
如果想直接退出,不儲存,可以執行:q!, q!歎號表示強制退出。
cat 檢視檔案內容,用法 cat test.txt 可以看到test.txt內容
more 檢視檔案內容,分頁檢視,cat是全部檢視,如果篇幅很多,只能看到最後的篇幅。可以使用cat和more同時使用,例如: cat  test.txt |more 分頁顯示text內容,|符號是管道符,用於把|前的輸出作為後面命令的輸入。
echo 回顯,用法 echo ok,會顯示ok,輸入什麼就列印什麼。
echo  ok  > test.txt ;把ok字元覆蓋test.txt內容,>表示追加並覆蓋的意思。
>>兩個大於符號,表示追加,echo ok >> test.txt,表示向test.txt檔案追加OK字元,不覆蓋原檔案裡的內容。
初學者常見的命令就如上所示,當然還有很多深入的命令需要學習,後面的課程會講解。

2.1. 3         Linux使用者許可權管理

在Linux作業系統中,root的許可權是最高的,相當於windows的administrator,擁有最高許可權,能執行任何命令和操作。在系統中,通過UID來區分使用者的許可權級別,UID等於0,表示此使用者具有最高許可權,也就是管理員。其他的使用者UID依次增加,通過/etc/passwd使用者密碼檔案可以檢視到每個使用者的獨立的UID。
每一個檔案或者目錄的許可權,都包含一個使用者許可權、一個組的許可權、其他人許可權,例如下:
標紅第一個root表示該檔案所有者是root使用者,第二個root代表該檔案的所屬的組為root組,其他使用者這裡預設不標出。
 [

[email protected] ~]# ls -l monitor_log.sh
-rw-r--r-- 1 root root 91 May  7 20:21 monitor_log.sh
[[email protected] ~]#
如果我們想改變某個檔案的所有者或者所屬的組,可以使用命令chown
chown  –R  test:test  monitor_log.sh即可。
每個Linux檔案具有四種訪問許可權:可讀(r)、可寫(w)、可執行(x)和無許可權(-)。
利用ls -l命令可以看到某個檔案或目錄的許可權,它以顯示資料的第一個欄位為
 準。第一個欄位由10個字元組成,如下:
    [[email protected] ~]# ls -l monitor_log.sh
-rw-r--r-- 1 root root 91 May  7 20:21 monitor_log.sh
[[email protected] ~]#
    第一位表示檔案型別,-表示檔案,d表示目錄;後面每三位為一組。
   第一組:2-4位表示檔案所有者的許可權,即使用者user許可權,簡稱u
   第二組:5-7位表示檔案所有者所屬組成員的許可權,group許可權,簡稱g
   第三組:8-10位表示所有者所屬組之外的使用者的許可權,other許可權,簡稱o
從上面這個檔案,我們可以看出,monito_log.sh檔案對應的許可權為:
root使用者具有讀和寫的許可權,root組具有讀的許可權,其他人具有讀的許可權。
為了能更簡單快捷的使用和熟悉許可權,rwx許可權可以用數字來表示,分別表示為r(4)、w(2)、x(1)。
Monitor_log.sh許可權可以表示為:644
如果給某個檔案授權,命令為chmod:chmod 777 monitor_log.sh

2.1. 4         Linux網路配置管理

熟悉了常用的命令和Linux許可權,那接下來如何讓所在的Linux系統上網呢?管理linux伺服器網路有哪些命令呢?
   Linux伺服器預設網絡卡配置檔案在/etc/sysconfig/network-scripts/下,命名的名稱一般為:ifcfg-eth0 ifcfg-eth1 ,eth0表示第一塊網絡卡,eth1表示第二塊網絡卡,依次類推。一般DELL R720標配有4塊千兆網絡卡。
   修改網絡卡的IP,可以使用命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0 如果是DHCP獲取的IP,預設配置如下:
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:0c:29:52:c7:4e
ONBOOT=yes
TYPE=Ethernet
如果是靜態配置的IP,ifcfg-eth0網絡卡配置內容如下:
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0c:29:52:c7:4e
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.33.10
NETMASK=255.255.255.0
GATEWAY=192.168.33.1
網絡卡引數詳解如下:
DEVICE=eth0   #物理裝置名
ONBOOT=yes   # [yes|no](重啟網絡卡是否啟用裝置)
BOOTPROTO=static #[none|static|bootp|dhcp](不使用協議|靜態分配|BOOTP協議|DHCP協議)

TYPE=Ethernet  #網絡卡型別

IPADDR=192.168.33.10 #IP 地址
NETMASK=255.255.255.0 #子網掩碼
GATEWAY=192.168.33.1 #閘道器地址
網絡卡配置完畢,重啟網絡卡,命令: /etc/init.d/network restart 即可。
檢視ip命令:ifconfig 檢視當前伺服器所有網絡卡的IP,可以單獨指定,ifconfig eth0 檢視eth0的IP地址。
網絡卡配置完畢,如果來配置DNS,首先要知道DNS配置在哪個目錄檔案下,vi  /etc/resolv.conf 檔案:
在該檔案裡面新增如下兩條:
nameserver 202.106.0.20
nameserver 8.8.8.8
從上到下,分別表示主DNS,備DNS。配置完畢後,不需要重啟網絡卡,DNS立即生效。
可以ping www.baidu.com 看看效果:

IP配置完畢後,我們可以通過遠端工具來連線Linux伺服器,常見的Linux遠端連線工具有:putty、secureCRT(主流)、xshell、xmanger等工具。
下載安裝secureCRT,開啟工具,然後如圖配置:
點選左上角quick connect快速連線,彈出介面,然後輸入IP,使用者名稱,埠預設是22,然後點選下方的connect連線,會提示輸入密碼,輸入即可。

彈出輸入密碼框:

進入遠端介面,與伺服器真實登入一樣,然後可以執行命令:

通過這幾章的學習,我們已經熟練了Linux常用命令的操作,許可權網路、網路配置、遠端連線等知識,那接下來我們還能做什麼呢?我們已經差不多入門了,接下來就是更進一步的服務配置,Linux系統到底用來做什麼呢?接下來的章節將跟大家一起來學習。  
Linux系統的應用,我們最開始介紹的時候簡單介紹過,目前大中型企業都用它來承載web網站、資料庫、虛擬化平臺等,那接下來我們將在Linux系統安裝各種服務和軟體來實現Linux真正的價值。

2.1. 5         Linux軟體包管理必備命令

2.   Linux服務篇

3.1            Linux服務部署

3.1. 1         構建NTP時間伺服器

NTP伺服器是用於區域網伺服器時間同步使用的,可以保證區域網所有的伺服器與時間伺服器的時間保持一致,某些應用對時間實時性要求高的必須統一時間。
網際網路的時間伺服器也有很多,例如ntpdate ntp.fudan.edu.cn 復旦大學的NTP免費提供網際網路時間同步。
NTP伺服器監聽埠為UDP的123,那就需要在本地防火牆開啟執行客戶端訪問123埠,vi /etc/sysconfig/iptables新增如下規則:
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
NTP時間伺服器配置:
yum install ntp ntpdate -y 即可!
修改ntp.conf配置檔案
cp  /etp/ntp.conf /etc/ntp.conf.bak
vi /etc/ntp.conf 只修改如下兩行,把#號去掉即可!
server 127.127.1.0     # local clock
fudge  127.127.1.0 stratum 10
以守護程序啟動ntpd
/etc/init.d/ntpd start 即可
(注意*: ntpd啟動後,客戶機要等幾分鐘再與其進行時間同步,否則會提示“no server suitable for synchronization found”錯誤。)
配置時間同步客戶機
crontab -e
增加一行,在每天的6點10分與時間同步伺服器進行同步
10 06 * * * /usr/sbin/ntpdate ntp-server的ip >>/usr/local/logs/crontab/ntpdate.log
備註:如果客戶機沒有ntpdate,可以yum –y install ntp 即可!
以下是ntp伺服器配置檔案內容(區域網NTP,如果需要跟外網同步,新增外網server即可)
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
下面是引數詳解:

restrict default ignore # 關閉所有的 NTP 要求封包
restrict 127.0.0.1 # 開啟內部遞迴網路介面 lo
restrict 192.168.0.0 mask 255.255.255.0 nomodify #在內部子網裡面的客戶端可以進行網路校時,但不能修改NTP伺服器的時間引數。
server 198.123.30.132 #198.123.30.132作為上級時間伺服器參考
restrict 198.123.30.132 #開放server 訪問我們ntp服務的許可權
driftfile /var/lib/ntp/drift 在與上級時間伺服器聯絡時所花費的時間,記錄在driftfile引數後面的檔案內
broadcastdelay 0.008 #廣播延遲時間

 
自此NTP服務搭建完畢,然後在所有客戶端crontab裡面新增如下語句:
0  0   *  *  * /usr/sbin/ntpdate  10.0.0.155 >>/data/logs/ntp.log 2>&1

3.1. 2         構建DHCP伺服器

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個區域網的網路協議,使用UDP協議工作,主要用途:給內部網路或網路服務供應商自動分配IP地址,DHCP有3個埠,其中UDP67和UDP68為正常的DHCP服務埠,分別作為DHCP Server和DHCP Client的服務埠。
DHCP可以部署在伺服器、交換機或者伺服器,可以控制一段IP地址範圍,客戶機登入伺服器時就可以自動獲得DHCP伺服器分配的IP地址和子網掩碼。其中DHCP所在伺服器的需要安裝TCP/IP協議,需要設定靜態IP地址、子網掩碼、預設閘道器。
正式安裝DHCP服務:
Yum  install  dhcp dhcp-devel –y 即可,然後修改DHCP /etc/dhcpd.conf配置檔案內容如下:
ddns-update-style interim;
ignore client-updates;
next-server  192.168.0.79;
filename "pxelinux.0";
allow booting;
allow bootp; 
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers          192.168.0.1;
option subnet-mask      255.255.252.0;
#   option nis-domain       "domain.org";
#  option domain-name "192.168.0.10";
#   option domain-name-servers  192.168.0.11;
#   option ntp-servers      192.168.1.1;
#   option netbios-name-servers  192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#   option netbios-node-type 2;
range  dynamic-bootp  192.168.0.100 192.168.0.200;
host ns {
hardware ethernet  00:1a:a0:2b:38:81;
fixed-address 192.168.0.101;}
}
引數解析如下:

選    項 解    釋
ddns-update-style interim|ad-hoc|none  引數用來設定DHCP伺服器與DNS伺服器的動態資訊更新模式:interim為DNS互動更新模式,ad-hoc為特殊DNS更新模式,none為不支援動態更新模式。
next-server ip pxeclient遠端安裝系統,指定tftp server 地址
filename 開始啟動檔案的名稱,應用於無盤安裝,可以是tftp的相對或絕對路徑  
ignore client-updates 為忽略客戶端更新
subnet-mask 為客戶端設定子網掩碼
option routers 為客戶端指定閘道器地址
domain-name 為客戶端指明DNS名字
domain-name-servers 為客戶端指明DNS伺服器的IP地址
host-name 為客戶端指定主機名稱
broadcast-address 為客戶端設定廣播地址
ntp-server 為客戶端設定網路時間伺服器的IP地址
time-offset 為客戶端設定格林威治時間的偏移時間,單位是秒

注意如上配置,需要修改成對應伺服器網段IP,然後重啟DHCP服務,/etc/init.d/dhcpd restart即可。
客戶端要從這個DHCP伺服器獲取IP,需要做簡單的設定,如果是linux需要把/etc/sysconfig/network-scritps/ifcfg-eth0裡BOOTPROTO相改成dhcp即可,windows機器的話,需要修改本地連線,把它設定成自動獲取IP即可。
BOOTPROTO=dhcp

3.1. 3         搭建Samba伺服器

Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟體,由伺服器及客戶端程式構成,
SMB(Server Messages Block,資訊服務塊)是一種在區域網上共享檔案和印表機的一種通訊協議,它為區域網內的不同計算機之間提供檔案及印表機等資源的共享服務。
SMB協議是客戶機/伺服器型協議,客戶機通過該協議可以訪問伺服器上的共享檔案系統、印表機及其他資源。通過設定“NetBIOS over TCP/IP”使得Samba不但能與區域網絡主機分享資源,還能與全世界的電腦分享資源。
安裝SAMBA伺服器:
Yum install  samba –y
安裝完畢,然後做如下設定(過濾#號行、空行如下命令)
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak ;egrep -v "#|^$" /etc/samba/smb.conf.bak |grep -v "^;" >/etc/samba/smb.conf
檢視smb.conf配置檔案如下:
[global]
        workgroup = MYGROUP
        server string = Samba Server Version %v
        security = share
        passdb backend = tdbsam
        load printers = yes
        cups options = raw
 
[temp]
     comment=Temporary file space
     path=/tmp
     read only=no
     public=yes
 
[data]
     comment=Temporary file space
     path=/data
     read only=no
     public=yes
根據需求修改之後重啟服務:
[[email protected] ~]# /etc/init.d/smb restart
Shutting down SMB services:                                [FAILED]
Shutting down NMB services:                                [FAILED]
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]
 

workgroup = WORKGROUP 設Samba Server 所要加入的工作組或者域。
server string = Samba Server Version %v Samba Server 的註釋,可以是任何字串,也可以不填。巨集%v表示顯示Samba的版本號。
 
 
 
 
security = user
1.share:使用者訪問Samba Server不需要提供使用者名稱和口令, 安全效能較低。
2. user:Samba Server共享目錄只能被授權的使用者訪問,由Samba Server負責檢查賬號和密碼的正確性。賬號和密碼要在本Samba Server中建立。
3. server:依靠其他Windows NT/2000或Samba Server來驗證使用者的賬號和密碼,是一種代理驗證。此種安全模式下,系統管理員可以把所有的Windows使用者和口令集中到一個NT系統上,使用Windows NT進行Samba認證, 遠端伺服器可以自動認證全部使用者和口令,如果認證失敗,Samba將使用使用者級安全模式作為替代的方式。
4. domain:域安全級別,使用主域控制器(PDC)來完成認證。
comment = test 是對該共享的描述,可以是任意字串。
path = /home/test 共享目錄路徑
browseable= yes/no  用來指定該共享是否可以瀏覽。
writable = yes/no writable用來指定該共享路徑是否可寫。
available = yes/no available用來指定該共享資源是否可用
admin users = admin 該共享的管理者
valid users = test 允許訪問該共享的使用者
invalid users = test 禁止訪問該共享的使用者
write list = test 允許寫入該共享的使用者
public = yes/no public用來指定該共享是否允許guest賬戶訪問。

 
在瀏覽器裡面訪問方式為:\\192.168.33.10 (SMB檔案共享服務端IP),如何沒有許可權訪問,需要注意防火牆和selinux設定,可以使用如下命令關閉:
/etc/init.d/iptables stop ;sed  –i   ‘/SELINUX/s/enforcing/disabled’  /etc/sysconfig/selinux

3.1. 4         搭建NFS伺服器

NFS 是Network File System的縮寫,即網路檔案系統。一種使用於分散式檔案系統的協定,由Sun公司開發,於1984年向外公佈。功能是通過網路讓不同的機器、不同的作業系統能夠彼此分享個別的資料,讓應用程式在客戶端通過網路訪問位於伺服器磁碟中的資料,是在類Unix系統間實現磁碟檔案共享的一種方法。
NFS在檔案傳送或資訊傳送過程中依賴於RPC協議。RPC,遠端過程呼叫 (Remote Procedure Call) 是能使客戶端執行其他系統中程式的一種機制。NFS本身是沒有提供資訊傳輸的協議和功能的。
NFS應用場景,常用於高可用檔案共享,多臺伺服器共享同樣的資料,可擴充套件性比較差,本身高可用方案不完善,取而代之的資料量比較大的可以採用MFS、TFS、HDFS等等分散式檔案系統。
NFS安裝配置:
Yum  install nfs*  portmap  -y 如下圖,安裝成功即可。

NFS安裝完畢,需要建立共享目錄,共享目錄在/etc/exports檔案裡面配置,可配置引數如下:
/data/      192.168.33.11(rw,sync,no_hide,no_all_squash)
在配置檔案中新增如上一行,然後重啟Portmap,NFS服務即可,/etc/init.d/portmap restart ;/etc/init.d/nfs restart
第一列/data/表示需要共享的目錄。
IP表示允許哪個客戶端訪問。
IP後括號裡的設定表示對該共享檔案的許可權。
ro                      只讀訪問
rw                      讀寫訪問
sync                    所有資料在請求時寫入共享
hide                    在NFS共享目錄中不共享其子目錄
no_hide                 共享NFS目錄的子目錄
all_squash              共享檔案的UID和GID對映匿名使用者anonymous,適合公用目錄。
no_all_squash           保留共享檔案的UID和GID(預設)
root_squash             root使用者的所有請求對映成如anonymous使用者一樣的許可權(預設)
no_root_squas           root使用者具有根目錄的完全管理訪問許可權


Linux客戶端,如何想使用這個NFS檔案系統,需要在客戶端掛載,掛載命令為:
Mount –t  nfs  192.168.33.10:/data/    /mnt 即可。如果有報錯根據錯誤資訊排查。常見問題有rpc服務沒有啟動、防火牆沒關閉、selinux未關閉等問題。(拓展* 有興趣的童鞋可以研究MFS(分散式檔案系統)。)

3.1. 5         搭建FTP伺服器

FTP 是檔案傳輸協議,正是由於這種協議使得主機間可以共享檔案。 FTP 使用TCP 生成一個虛擬連線用於控制資訊,然後再生成一個單獨的 TCP 連線用於資料傳輸。
vsftpd是一款在Linux發行版中最主流的FTP伺服器程式;特點是小巧輕快,安全易用;能讓其自身特點得發發揮和掌握。
目前在開源作業系統中常用的FTP伺服器程式主要有vsftpd、ProFTPD、PureFTPd和wuftpd等,這麼多FTP伺服器程式,關鍵在於自己熟練哪一個就使用哪一個。今天我們來研究一下VSFTPD簡單安裝及使用。安裝命令: yum  install vsftpd*  -y

修改配置檔案如下:
#vsftpd config 2014 by wugk
anonymous_enable=NO    //禁止匿名使用者訪問
local_enable=YES  //允許本地使用者登入FTP
write_enable=YES   //執行使用者在FTP目錄有寫入的許可權
local_umask=022   //設定本地使用者的檔案生成掩碼為022,預設是077
dirmessage_enable=YES //啟用目錄資訊,當遠端使用者更改目錄時,將出現提示資訊
xferlog_enable=YES   //啟用上傳和下載日誌功能
connect_from_port_20=YES  //啟用FTP資料埠的連線請求
xferlog_std_format=YES  //是否使用標準的ftpd xferlog日誌檔案格式
listen=YES  //使vsftpd處於獨立啟動監聽埠模式
pam_service_name=vsftpd //設定PAM認證服務配置檔名稱,檔案存放在/etc/pam.d/目錄
userlist_enable=YES   //使用者列表中的使用者是否允許登入FTP伺服器,預設是不允許
tcp_wrappers=YES    //使用tcp_wrqppers作為主機訪問控制方式
 
1)    第一種方法就是使用系統使用者登入FTP,但是也是比較危險的,先測試系統使用者登入FTP,在Linux系統上建立useradd  test 使用者,併為其設定名,然後在xp客戶端開啟我的電腦資源裡面訪問 ftp://192.168.33.10,輸入使用者名稱和密碼即可訪問,進行建立和刪除操作。
2)    第二種方法比較安全,配置相對複雜一點,就是使用vsftpd虛擬使用者登入FTP伺服器進行常見的操作。
Ø       首先安裝FTP 虛擬使用者需要用到的軟體及認證模組
yum install pam* db4* --skip-broken –y
建立並生成vsftpd資料庫檔案vi /etc/vsftpd/ftpusers.txt,內容如下:
第一行為FTP虛擬使用者,登入使用者名稱,第二行為密碼,第三行為使用者名稱,依次類推。
wugk
1
wugk1
1
Ø       生成資料庫檔案命令:
db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
chmod 700 /etc/vsftpd/vsftpd_login.db
Ø       配置PAM驗證檔案:
在配置檔案vi /etc/pam.d/vsftpd 行首加入如下兩行認證語句:(如果是32位,lib64需改成lib,如果RedHat,加入的語句不一樣,需注意)
auth    sufficient      /lib64/security/pam_userdb.so     db=/etc/vsftpd/vsftpd_login
account sufficient      /lib64/security/pam_userdb.so      db=/etc/vsftpd/vsftpd_login
Ø       建立vsftpd對映本地使用者:
所有的FTP虛擬使用者需要使用一個系統使用者,這個系統使用者不需要密碼,也不需要登入。主要用來做虛擬使用者對映使用。
useradd  –d /home/ftpuser –s /sbin/nologin ftpuser
Ø       修改完整版配置檔案內容如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
 
guest_enable=YES
guest_username=ftpuser
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
 
   儲存重啟,/etc/init.d/vsftpd restart 即可使用虛擬使用者登入,這時候所有的虛擬使用者共同使用/home/ftpuser目錄上傳下載,如果想使用自己獨立的目錄,可以在/etc/vsftpd/vsftpd_user_conf目錄建立各自的配置檔案,如給wugk建立獨立的配置檔案:
vi /etc/vsftpd/vsftpd_user_conf/wugk ,內容如下,建立自己的FTP目錄。
local_root=/home/ftpsite/wugk
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
 重啟,使用客戶端登入FTP,測試即可。關於FTP講解就到此,windows還可以使用Server-U來搭建FTP伺服器端,有興趣的童鞋可以研究一下。
Ø       FTP主被動模式
FTP主動模式:客戶端從一個任意的非特權埠N(N>1024)連線到FTP伺服器的port 21命令埠。然後客戶端開始監聽埠N+1,併發送FTP命令“port N+1”到FTP伺服器。接著伺服器會從它自己的資料埠(20)連線到客戶端指定的資料埠(N+1)。
FTP被動模式:客戶端從一個任意的非特權埠N(N>1024)連線到FTP伺服器的port 21命令埠。然後客戶端開始監聽埠N+1,同時客戶端提交 PASV命令。伺服器會開啟一個任意的非特權埠(P >1024),併發送PORT P命令給客戶端。然後客戶端發起從本地埠N+1到伺服器的埠P的連線用來傳送資料。

相關推薦

Linux系統管理服務部署

1.   Linux系統篇 2.1            Linux系統管理 通過前兩章的學習,我們已經能夠獨立安裝Linux系統,已經掌握了Linux學習的技巧,那接下來,我們將系統的來了解Linux系統各目錄、許可權及常用命令的使用。 2.1. 1       

Linux系統簡介服務器硬件組成day-1

ora 系統 安全性 大腦 內核版本 服務器硬件 服務器硬件組成 unix linux安裝 一.Linux運維   1.集合網絡,系統,數據庫,開發等一體化復合型人才。   二.Linux系統簡介   1.一種自由和開放源碼的類Unix操作系統。存在很多不同的Linux,但

課時1:01-RHEL7-Linux系統簡介服務器硬件組成

linu cal x86 bsp uname 系統簡介 偶數 name localhost 內核版本 uname -r [[email protected]/* */ ~]# uname -r3.10.0-514.26.2.el7.x86_64 系統版本 u

linux系統管理服務管理,ipv6,tcp_wrappers練習

linux系統管理之服務管理 ipv6 tcp_wrappers 服務管理ipv6tcp_wrappers本文出自 “大李子” 博客,謝絕轉載!linux系統管理之服務管理,ipv6,tcp_wrappers練習

學習 Python Linux系統管理自動化運維 總結二

1.文字處理upper:將字串轉換為大寫lower:將字串轉換為小寫isupper:判斷字串是否都是大寫islower:判斷字串是否都是小寫swapcase:將字串中的大寫轉換為小寫、小寫轉換為大寫capitalize:將首字母轉換為大寫istitle:判斷字串是不是一個標題

Linux系統配置及服務管理_第01章系統部署 (第二小節初識shell)

*** 簡介 例子 特點 基本特性 上進 用戶編寫 ffffff shell編程 ***大家好,我是霸王卸甲,又到了今天更新文章的時間了,今天給大家帶來的是第一章中的第二小節 shell語言!!*** GNU bash簡介:Shell是系統的用戶界面,提供了用戶與內核進

Linux系統管理初步(七)系統服務管理、chkconfigsystemd 編輯中

方便 sub text log 過去時 需要 cbe 理解 term Linux系統本身包含了很多服務,CentOS6之前系統的服務用SysV控制,CentOS7改為systemd控制 一、chkconfig服務管理機制 簡而言之,chkconfig就是CentOS6以前用

Linux深度攻略》一書,講述Linux日常系統管理服務器配置內容

linuxLinux深度攻略 首先從介紹Linux系統的安裝入手,講述了Linux系統管理和服務器配置兩部分的知識。系統管理方面內容有Linux系統簡介和安裝,Linux字符界面,目錄和文件管理,Linux常用命令,Shell編程,用戶和組群賬戶管理,權限、所有者和ACL,歸檔、壓縮和備份,軟件包管理,磁盤和

linux系統監控硬盤分區/格式化/文件系統管理

時間 運行 輸入 -c 進程pid 死循環 running ddl 變慢 1.系統監控 1) 系統監視和進程控制的工具----> Top 與 free 類似於windows的資源管理器。 進程運行的三種狀態: tips: 進程(Proce

Linux系統管理(二)(網絡服務

網絡服務 linux redhat 紅帽 點擊下載:Linux系統管理(二)(網絡服務)本文出自 “飛奔的魚兒” 博客,請務必保留此出處http://feiyuer.blog.51cto.com/6967044/1931978Linux系統管理(二)(網絡服務)

Linux系統管理 服務控制

linux服務控制系統安裝完成後的設置 1) 關閉防火墻 /etc/init.d/iptables stop 設置開機不加載 chkconfig iptables off 查看防火墻的狀態 iptables -L2)關閉selinux: 查看selinux的狀態 getenforc

Linux系統管理(一)Linux系統安裝修復

linux系統安裝與修復一. Linux多種安裝方式與應用軟件安裝1. Linux的硬盤安裝方式(1) 復制Linux的ISO文件到硬盤某個分區(2) 用Linux安裝啟動盤啟動/DOS啟動盤啟動計算機註: DOS啟動盤中必須要存放加載Linux系統的工具及Linux內核和initrd映像文件,主要文件包括:

Linux系統配置及服務管理_第03章用戶管理

ssi useradd log and 工作 其他 associate 系統 mem 大家好,我是霸王卸甲,昨天因為工作上的事情,忘記更了,今天上午補上昨天的文章,每周周六周日停更兩天。 1.用戶/組基本概念: ①概念:Users and groups:. Eve

Linux系統配置及服務管理_第04章權限管理

size 技術分享 權限設置 今天 tex ugo 服務 proc ado **大家好,很久沒更新博客了,最近實在是有點忙,以後的博客可能更新的時間不統一,請大家多多擔待,接下來開始今天的內容。 1.首先是基本權限UGO:簡介:文件權限設置: 可以賦於某個用戶或組 能夠以

Linux系統管理初步(九)系統日誌screen程序

director nco spec 進制 orm 鎖定 tail cal 狀況 一、系統日誌 系統日誌是我們了解系統狀況,服務啟動情況,學會閱讀日誌是我們了解系統運行狀況並進行管理的基本技能。 (一)/var/log/messages 系統中的各種操作都會記錄到系統日誌中,

linux系統安裝redis服務php redis擴展

php.ini 後臺 yum all 安裝包 客戶端 log config class 一 安裝redis服務 1更新yum源 CentOS/RHEL 7.x: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-r

Linux系統管理——SELinux使用管理

DAC MAC selinux 布爾值 安全標簽 1、selinux背景SELinux: Secure Enhanced Linux。 它是美國國家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation

Linux系統配置及服務管理——權限管理

linux;配置;服務;權限;運維1、基本權限UGO ? 1、權限設置對象:屬主(u) 屬組(g) 其他人(o) 所有人(a(u+g+o)) ? 2、權限類型:讀:r=4 寫:w=2 執行:x=1 數字加減總和得到的數字, ?

Linux系統管理_1.5 Linux進行交互_echo_nano_Tab_whoami

文件名 -- 命令 oot version 鼠標 nbsp 字符 解釋 [root@izkfv3zmvcl0omz ~]# 其中,‘root‘為登錄用戶名,‘izkfv3zmvcl0omz‘為登錄主機名,’~’ 表示當前用戶正處在 root 用戶的 家目錄中,’#’則表

Linux 筆記 - 第十三章 Linux 系統日常管理之(三)Linux 系統日誌和服務

pac ica link tor 包含 3.1 request closed comm 博客地址:http://www.moonxy.com 一、前言 日誌文件記錄了系統每天發生的各種各樣的事情,比如監測系統狀況、排查問題等。作為系統運維人員可以通過日誌來檢查錯誤發生的原因