linux基礎入門

轉自:http://www.centoscn.com/CentOS/2015/0528/5555.htmlhtml

1. 1      Linux操做系統簡介

Linux是一套無償使用和自由傳播的類Unix操做系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操做系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操做系統。
1991年的10月5日,Linux創始人林納斯·託瓦茲(Linus Torvalds)在comp.os.minix新聞組上發佈消息,正式向外宣佈Linux內核的誕生,1994年3月,Linux 1.0發佈,代碼量17萬行,當時是按照徹底自由免費的協議發佈,隨後正式採用GPL(General Public License的縮寫,是一份GNU通用公共受權)協議。
Linux具備以下優勢:
Ø       穩定、免費或者花費少
Ø       安全性高
Ø       多任務,多用戶
Ø       耗資源少
Ø       因爲內核小,因此它能夠支持多種電子產品,如:Android手機、PDA等。node

1. 2      Linux發展趨勢

隨着IT產業的不斷髮展,用戶對網站體驗要求也愈來愈高,而目前主流網站後端承載系統都是Linux系統,目前Android手機所有基於Linux內核研發。企業大數據、雲存儲、虛擬化等先進技術都是基於Linux系統。
2010年據有關權威部門統計:未來幾年內我國軟件行業的從業機會十分龐大,中國每一年對軟件人才的需求將達到50萬人左右。而對於Linux 專業人才的就業前景,更是廣闊;據悉在將來5-10年內 Linux 專業人才的需求將達到 120 萬+!尤爲是有經驗的資深的Linux工程師目前很是的缺少,薪資也是很是誘人,平均月薪都是15-20K,能力強的薪資更高。

因此機會對每一個人都是公平的,關鍵是咱們每一個人如何去行動,選擇大於努力。
 linux

1. 3      Linux系統安裝

在安裝Linux系統以前,先來了解windows系統結構,windows系統通常是安裝在C盤系統盤,一樣Linux也有相似的系統盤(/根分區),Linux一般分區爲(根分區/、swap分區),Linux系統以文件的存儲方式,全部的文件都是存儲在某個目錄下的,相似於windows的文件夾。
對於文件系統的屬性來講,windows文件系統類型通常是ntfs、fat32等,而Linux文件系統類型則爲ext二、ext三、ext4等(文件系統:是操做系統用於明確磁盤或分區上的文件的方法和數據結構,文件系統由三部分組成:與文件管理有關軟件、被管理文件以及實施文件管理所需數據結構。)
安裝 Linux系統是每個初學者的第一個門檻。在這個過程當中間,最大的困惑莫過於給硬盤進行分區。雖然如今各類發行版本的 Linux 已經提供了友好的圖形交互界面,可是不少人仍是感受無從下手。這其中的緣由主要是不清楚 Linux 的分區規定。就比如若是咱們瞭解了windows分區的規則,系統盤C、數據盤D等,就很好分區了。
在 Linux 中規定,每個硬盤設備最多隻能有 4個主分區(其中包含擴展分區)構成,任何一個擴展分區都要佔用一個主分區號碼,也就是在一個硬盤中,主分區和擴展分區一共最可能是 4 個。
下面正式來安裝Linux系統,安裝系統前須要準備以下軟件:
ü       VMware workstation 10.0
ü       CentOS 5.8 x86_i386.iso
安裝圖解以下:
第一步,新建虛擬機以下圖:

第二步,選擇相關選項,以下圖:

第三步選擇「稍後安裝操做系統」,以下圖:

第四步,選擇客戶機操做系統類型以下圖:

第五步,設置虛擬機硬盤大小爲20G,最低不能小於5G,以下圖:

第六步,虛擬機新建完成,以下圖:

第七步,修改虛擬機內存爲512M,並添加ISO鏡像,以下圖:

自此,虛擬機新建完成,接下來點擊「啓動此虛擬機」進行Linux系統安裝,Linux系統安裝圖解以下:
第一步,進入安裝界面,直接按Enter回車鍵便可。

第二步,光盤檢測,選擇SKIP跳過。


第三步,選擇安裝過程當中的語言,初學者能夠選擇「簡體中文」。

第四步,選擇初始化整個硬盤,清除全部數據。

第五步,選擇分區方式爲「自定義分區「。


第五步,點擊「新建「-首先建立一個swap交換分區,大小爲物理內存的2倍(1024M)。

第六步,繼續建立分區,選擇「新建「,而後建立根分區/,以下圖選擇,大小爲剩餘全部空間便可。


第七步,默認點擊下一步,同時默認DHCP配置,時鐘選擇上海,去掉UTC勾,點擊下一步。



第八步,設置root密碼,至少六位,點擊下一步。

第九步,系統安裝包選擇,這裏選擇「如今定製「。

第十步,系統安裝包選擇,左側選擇「開發「----右側選擇」開發工具「和「開發庫」,語言選擇「支持中文「,其餘一律不選擇。


安裝完畢會提示「reboot「,直接回車便可。ios

1. 4      Linux學習技巧

初學者能夠本身安裝虛擬機,而後把linux經常使用命令例如cd、ls、chmod、useradd、vi等等多練習幾十遍,把本身敲打命令的熟練程度提高上來。
而後根據文檔搭建Linux下常見的各類服務(DHCP、SAMBA、DNS、Apache、Mysql等),遇到問題後能夠在google搜索,搜索的時候多看幾篇文章,綜合最好的文章來解決問題。
可以熟練的搭建服務後,理解每一個服務的完整配置和優化,能夠拓展思惟。例如LAMP,咱們通常是把全部服務放在一臺機器上,若是分開多臺該如何部署呢?等等。
平時多積累shell編程,能夠在網上查找前輩們寫的很是好的shell,本身下載下來多練習幾遍,從中吸收,不斷提升。
創建一個本身的學習博客,把平時工做學習中的知識都記錄在裏面,這樣也能夠供別人來參考同時也能提升本身的編寫文檔及方案的能力。
經過以上學習可以知足企業的通常應有,須要達到資深級別,還須要深刻學習集羣架構、負載均衡、自動化運維、運維開發等知識。最後仍是一句話:多練習纔是硬道理!實踐出真知!web

1.   Linux系統篇

2.1            Linux系統管理

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

2.1. 1         Linux目錄初識

經過前面的學習,咱們已經可以獨立安裝完一個linux系統,那接下來咱們來熟悉一下Linux系統裏面的各個目錄文件夾的大體功能:
主要的目錄樹的有/、/root、/home、/usr、/bin等目錄。下面是一個典型的linux目錄結構以下: (附圖表)

/ 根目錄 
/bin 存放必要的命令 
/boot 存放內核以及啓動所需的文件
/dev 存放設備文件 
/etc 存放系統配置文件 
/home 普通用戶的宿主目錄,用戶數據存放在其主目錄中 
/lib 存放必要的運行庫 
/mnt 存放臨時的映射文件系統,一般用來掛載使用。
 /proc 存放存儲進程和系統信息 
/root 超級用戶的主目錄 
/sbin 存放系統管理程序 
/tmp 存放臨時文件
/usr 存放應用程序,命令程序文件、程序庫、手冊和其它文檔。 
/var 系統默認日誌存放目錄shell

2.1. 2         Linux必備命令

默認進入系統,咱們會看到這樣的字符: [root@localhost ~]#,其中#表明當前是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組,其餘用戶這裏默認不標出。
 [root@node1 ~]# ls -l monitor_log.sh
-rw-r--r-- 1 root root 91 May  7 20:21 monitor_log.sh
[root@node1 ~]#
若是咱們想改變某個文件的全部者或者所屬的組,可使用命令chown
chown  –R  test:test  monitor_log.sh便可。
每一個Linux文件具備四種訪問權限:可讀(r)、可寫(w)、可執行(x)和無權限(-)。
利用ls -l命令能夠看到某個文件或目錄的權限,它以顯示數據的第一個字段爲
 準。第一個字段由10個字符組成,以下:
    [root@node1 ~]# ls -l monitor_log.sh
-rw-r--r-- 1 root root 91 May  7 20:21 monitor_log.sh
[root@node1 ~]#
    第一位表示文件類型,-表示文件,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協議)windows

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
根據需求修改以後重啓服務:
[root@node1 ~]# /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 wugkanonymous_enable=NO    //禁止匿名用戶訪問local_enable=YES  //容許本地用戶登陸FTPwrite_enable=YES   //運行用戶在FTP目錄有寫入的權限local_umask=022   //設置本地用戶的文件生成掩碼爲022,默認是077dirmessage_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虛擬用戶,登陸用戶名,第二行爲密碼,第三行爲用戶名,依次類推。wugk1wugk11Ø       生成數據庫文件命令:db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.dbchmod 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_loginaccount sufficient      /lib64/security/pam_userdb.so      db=/etc/vsftpd/vsftpd_loginØ       建立vsftpd映射本地用戶:全部的FTP虛擬用戶須要使用一個系統用戶,這個系統用戶不須要密碼,也不須要登陸。主要用來作虛擬用戶映射使用。useradd  –d /home/ftpuser –s /sbin/nologin ftpuserØ       修改完整版配置文件內容以下:anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_file=/var/log/vsftpd.logxferlog_std_format=YESascii_upload_enable=YESascii_download_enable=YESlisten=YES guest_enable=YESguest_username=ftpuserpam_service_name=vsftpduser_config_dir=/etc/vsftpd/vsftpd_user_confvirtual_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/wugkwrite_enable=YESanon_world_readable_only=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_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的鏈接用來傳送數據。

相關文章
相關標籤/搜索