1.1 前言:Linux有啥功能node
1.1.1 只想用Linux架設服務器須要啥能力?
1. 開發跨平臺的數值模式
2. 辦公室桌面計算機
3. 強大的網絡功能:WWW,Mail,FTP,DNS,DHCP,NAT,Router等
4.android
5.嵌入式開發
1.1.2 架設服務器難不難?【8】
1.2
基本架設服務器流程
1.2.1網絡服務器成功聯機的分析步驟及須要掌握的知識點
1. 網絡:瞭解網絡基礎
1. 基本的網絡基本知識:包括以太網絡硬件與協議、TCP/IP、網絡聯機所需參數等;
2. 各網絡服務所對應的通信協議原理、以及各通信協議所需對應的軟件
2. 服務器自己:瞭解架架網絡服務器之目的以配合主機的安裝規則
3. 服務器自己:瞭解操做系統的基本操做如創建帳號,修改權限,Quota,LVM
4. 內部防火牆設定:管理系統的可分享資源
5. 服務器軟件設定:學習設定技巧與開機是否自動執行
6. 細部權限設定:包括SELinux與檔案權限
1.2.2 一個常見服務器設定案例分析
注意:
案例的網絡環境、對外網絡、額外服務、服務器管理方式、防火請、帳號管理、後端分析等設定需求【12】
1.2.2-1 瞭解網絡基礎
1.硬件規劃:集線器或交換機、不一樣等級的網絡線材RJ-4五、IP分享器或者linux服務器、數據機
2.聯機規劃【13 硬件網絡聯機示意圖】
3.網絡基礎:TCP/IP,Network IP,bROADCAST ip,gETWWAY ip,DNS IP
1.2.2-2 服務器自己的安裝規劃與架站目的的搭配
架設測試主機的默認配置
內存:1G
磁盤劃分:15G左右
/
----2G
/boot
----200M
/usr
----4G
/var
---2G
/tmp
----1G
/home
----5G
swap
----1G
軟件挑選:basic server
系統安全:啓動防火牆和SElinux(Enforce)
網絡參數:DHCP(架設有IP分享器自動分配IP)
1.2.2-3 服務器自己的基本操做系統操做:創建帳號,修改權限,Quota,LVM
1. 大量建置帳號案例
# mkdir bin
# cd /root/bin
# vim useradd.sh
----
【SHEEL 5】
# sh useradd.sh
# id vbirduser1
----看看帳號有沒有正確創建起來
2. 設置這幾我的的共享目錄
# mkdir /home/vbirdgroup
# chgrp vbirdgroup /home/vbirdgroup
----設置目錄的所屬羣組
# chmod 2770 /home/vbirdgroup
----設置SGID,使羣組中每一個人均可以在共享目錄中修改對方的數據(設置SGID後進程對資源的權限將參照進程自己的全部者而不是
其執行者的權限
)
# ll -d /home/vbirdgroup/
----用戶組的可執行位是s
3. Quota設置
第一步:啓動文件系統對quota的支持
# vim /etc/fstab
----設置/home所在的分區掛載時具有quota的支持
UUID=... /home
ext4 default,usrquota,grpquota 1 2
# umount; mount -a
# mount | grep home
----查看是否已經具有了quota的支持
第二步:製做quota數據文件,並啓動quota支持
# quotacheck -avug
----製做quota的數據文件,並啓動quota支持
# quota -avug
----啓動quota支持
第三步:製做quota數據給用戶
# edquota -u vbirduser1
----給第一個用戶設置quota規則
Disk quotas for user vbirduser1 (uid 500):
Filessystem
blocks
soft
hard
inodes
soft
hard
/dev/mapper/server-myhome 20
1800000
2000000 5
0
0
----單位是kb
# requota
-au
----查看狀態
4. 文件系統的放大(好比/home不夠了)
第一步:看看VG的量夠不夠用
# vgdisplay
----假設不夠用了
第二步:開始製做出所須要的partition,做爲PV
# fdisk /dev/sda
Command (m for help):p
----觀察一下已有的分區,注意看最後一個分區的End
Device Boot
Start
End
Blocks
Id
System
...
/dev/sda8
1812
1939
1024000
83
Linux
----最後一個磁柱
Command (m for help):n
----新建分區
First cylinder (1173-3264,default 1173):1940
----End+1
Last cylinder...(1940-3264,default 3264):+2G
Command (m for help):t
partition number (1-9):9
Hex code (ty[e L to list codes):8e
Command (m for help):p
----查看是否獲得新的分區
Command (m for help):w
----寫入
# partprobe
----更新磁盤分區表
第三步:將/dev/sda9家兔PV,並將該PV加入server這個VG
# pvcreate /dev/sda9
# vgextend server /dev/sda9
----擴展原來的vg,即server
# vgdisplay
----看看這個VG吸納在的狀態
第四步:準備加入/home,開始前,仍是先觀察一下才增長LV的容量較好
# lvdisplay
----查看/dev/server/myhome這個lv的狀態
# lvresize
-L 6.88G /dev/server/myhome
----擴大到6.88G
第五步:擴大文件系統
# resizesfs
/dev/server/myhome
# df -h
----看看文件系統是否已經擴大了
1.2.2-4 服務器內部的資源管理與防火牆規劃
例題一:在run level 3下設定禁止開機自動啓動自動網絡掛在功能(autofs)
# LANG=C chkconfig --list
| grep '3:on'
----查看在run level 3下啓動的服務
# chkconfig autofs off
----設定開機不啓動它
# /etc/init.d/autofs stop
----關閉autofs
例題二:瞭解監聽TCP/IP封包的服務,並關閉不想要的服務
注意:經過
netstat看到的
program項目是實際軟件執行文件的名字,與/etc/init.d/底下的服務名可能不同
# netstat -tulnp
----查看監聽TCP/IP封包的服務的情況。
# /etc/init.d/avahi-daemon stop
----關掉這個服務,若是不清楚服務的名字,能夠經過【tab】補全或者去/etc/init.d/底下grep出來
# chkconfig avahi-daemon off
----設定開機不要啓動
例題三:利用yum進行系統更新
注意:若是系統更新了核心,那麼務必從新啓動
# yum -y update
----第一次會進行很是久
# vim /etc/crontab
----加入任務排程
15 2 * * * root /usr/bin/yum -y update
----天天2:15進行更新
1.2.2-5 服務器軟件設定:學習設定技巧與開機是否自動執行
1. 軟件安裝與查詢
# rpm -qa | grep -i samba
----查看是否安裝了samba,假設沒有安裝
# yum search samba
----先查一下有沒有相關的軟件
# yum install samba
----找到以後安裝
# rpm -qc samba samba-common
----找出和這兩個軟件有關的服務
2. 配置文件的修改
3. samba服務器主要設定與相關設定
# vim /etc/samba/smb.conf
----
修改配置文件
security=share ----安全模式
[test] ----添加共享目錄
comment=test studio
path=/home/test
valid users=sambaman
broweable=yes
public=yes
writable=yes
printable=no
create mask=0765
guest ok=no
# useradd sambaman
----爲網芳(網上鄰居)添加實體用戶
# smbpasswd sambaman
----創建能夠使用網上鄰居的帳號
# testparm
----測試全部數據是否正確
4.服務的啓動與觀察
# rpm -ql samba | grep '/etc'
----查詢一下啓動的方式
# /etc/init.d/smb start
----啓動服務
# /etc/init.d/num start
# chkconfig smb on
----設定開機啓動
# chkconfig nmb on
# netstat -tlup | grep '[sn]mb'
5.客戶端的聯機測試
6.錯誤客服與觀察登陸檔
(/var/log/messages, /var/log/samba)
1.2.2-6 細部權限與SELinux
例題:單一用戶、羣組的權限設定ACL
1. 想要讓student能夠進入
/home/vbirdgroup進行查詢,但不可寫入。同事vbirduser5在/home/vbirdgroup內不具有任何權限
注意:
若是是新建的分區或者文件系統須要在/etc/fstab中額外加上acl的參數控制
# useradd student
----創建這個新的用戶
# passwd studemt
# setfacl -m u:student:rx /home/vbirdgroup
----給student對
/home/vbirdgroup具備rx權限
# setfacl -m u:vbirduser5:
/home/vbirdgroup
----使vbirduser5在/home/vbirdgroup不具有任何權限
# getfacl /home/vbirdgroup
----看看這個文件夾的acl設置怎麼樣了
# ll -d /home/vbirdgroup
----能看出acl設置的痕跡
2. 須要作些SElinux設置放置管理員心不在焉地開放了某些權限
1.2.3 系統安全與備份處理
1.2.3.1 系統安全建議
1. 修改/etc/login.defs檔案裏面的規則,讓用戶每半年修改一次密碼,切密碼長度8個字符以上
2.利用/etc/security/limits.conf來規範每一個使用者的相關權限
3.利用pam模塊來額外地進行密碼的驗證工做
4. netfilter創建本身的防火牆規則,例如ssh規則僅開放某個據越往或某些特定的IP
1.2.3.2 備份
注意:比較重要的目錄有/etc,/home,/root,/var/spool/mail等
# mkdir /root/bin;
# vim /root/bin/backup.sh
----【SHEEL 6】
# vim /etc/crontab
45 2 * * * root sh /root/bin/backup.sh
----天天2:45進行備份
1.3
自我評估是否已經具備架設服務器的能力
1.4
本章習題【35】
注意:這裏的問題頗有表明性,很實用,系統遇到問題記得來這了看看簡單的解決方式,也許會有用幫助。