首頁 > 軟體

Linux基礎教學學習筆記-命令的使用技巧

2020-06-16 17:29:26
RHCE培訓筆記
修改yum源為iso映象
1.建立檔案來存放iso的內容
      mkdir -rf /var/ftp/rhel7
2.檢視iso映象掛載在了哪個檔案
     mount | grep iso     //預設掛載在/run/media/kangvcar/RHEL-7.0Server.x86_64下
3.把iso映象的內容複製到/var/ftp/rhel7裡
     cp -rf /run/media/kangvcar/RHEL-7.0 Server.x86_64/*   /var/ftp/rhel7
4.檢視複製後的檔案
     ll /var/ftp/rhel7/
5.編輯YUM原始檔
     vim /etc/yum.repos.d/rhel7.repo
          [base]
         name=RedHat el7.0 DVD
         baseurl=file:///var/ftp/rhel7
         enabled=1
         gpgcheck=0
6.清除快取
     yum clean all

yum 命令的使用技巧
     yum(選項)(引數)
選項:-h     //顯示幫助資訊
     -y     //對所有的提問都回答yes
     -c     //指定組態檔
引數:install     //安裝rpm軟體包
     update     //更新rpm軟體包
     check-update     //檢查是否有可用更新包

     remove     //刪除指定軟體包
     list     //顯示軟體包的資訊
     clean     //清除快取
     deplist     //檢視rpm軟體包的所有依賴關係
 
設定DNS server
1.安裝軟體
     yum install -y unbound
2.修改組態檔 vim /etc/unbound/unbound.conf
修改監聽地址
     interface: 0.0.0.0     //監聽所有地址
修改用戶端地址
     access-control: 0.0.0.0/0 allow     //設定允許向主機查詢的用戶端地址範圍
建立正反向解析檔案 vim /etc/unbound/loacal.d/hkj.com
     local-zone: "hkj.com."static
         local-data: "hkj.com. 86400 IN SOA ns.hkj.com. root 1 1D 1H 1W 1H"
         local-data: "ns.hkj.com. 86400 IN A 192.168.12.12"
         local-data: "www.hkj.com. 86400 IN A 192.168.12.12"
         local-data: "ftp.hkj.com. 86400 IN A 192.168.12.12"
         local-data: "mail.hkj.com. 86400 IN A 192.168.12.12"
         local-data: "hkj.com. 86400 IN MX 10 mail.hkj.com"
         local-data-ptr: "12.12.168.192 ns.hkj.com."
         local-data-ptr: "12.12.168.192 www.hkj.com."
         local-data-ptr: "12.12.168.192 ftp.hkj.com."
         local-data-ptr: "12.12.168.192 mail.hkj.com."
3.語法檢測
     unbound-checkconf
4.服務啟動
     systemctl start unbound
5.檢視相關埠
     netstat -atunp |grep :53
6.設定下次系統啟動,相關服務自啟動
     設定
         systemctl enable unbound.service
     檢視
         systemctl is-enabled unbound.service
7.設定防火牆
     firewall-cmd --permanent --add-service=dns
     firewall-cmd --reload
8.用戶端測試
     nslookup
 
註:DNS
tcp 53 用於伺服器間連線(主從伺服器間同步)
udp 53 用於伺服器與客戶機間連線(查詢)
 
設定Apache 服務
1.安裝服務
     yum install -y httpd
2.修改組態檔
     ServerName www.rhel.com
3.語法檢測
     httpd -t
4.建立主頁檔案
     vim /var/www/html/index.html
5.檢查SELinux上下文
     restorecon -R /var/www/html
6.啟動服務
     systemctl start httpd.service
7.設定服務隨開機自啟動
     systemctl enable httpd.service
8.設定防火牆
     firewall-cmd --permanent --add-service=http --add-service=https
     firewall-cmd --reload
9.測試
     elinks --dump 192.168.43.43
 
設定Apache 服務(基於域名的虛擬主機)
1.設定好DNS能解析www.abc.com和www.rhel.com
2.分別建立兩個站點的網頁檔案
     cd /home/wwwroot/
     mkdir abc rhel
     echo “www.abc.com" > /home/wwwroot/abc/index.html
     echo “www.rhel.com" > /home/wwwroot/rhel/index.html
3.修改119行的DocumentRoot為/var/wwwroot
4.修改123行的Directory為/var/wwwroot
5.新增虛擬主機設定,在httpd.conf後面追加
     <VirtualHost 192.168.43.43>
     DocumentRoot "/home/wwwroot/www"
     ServerName "www.rhel.com"
     </VirtualHost>
     <VirtualHost 192.168.43.43:443>
     DocumentRoot "/home/wwwroot/abc"
     ServerName "www.abc.com"
     </VirtualHost>12
6.重新啟動服務
     systemctl restart httpd.service
7.關閉SELinux
     setenforce 0
8.
 
設定Apache 服務(基於SSL加密的WEB服務)
1.安裝服務
     yum -y install openssl
     yum -y install mod_ssl
2.生成KEY金鑰檔案和簽發CRT證書
     進入目錄
        cd /etc/http/conf/
     生成伺服器金鑰檔案
         openssl genrsa -out server.key 1024
     修改許可權
         chmod 600 server.key
    生成伺服器證書檔案
           openssl req -new -key server.key -out server.csr
          openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
3.修改虛擬主機組態檔
     <VirtualHost 192.168.43.43>
     DocumentRoot "/home/wwwroot/www"
     ServerName "www.rhel.com"
     </VirtualHost>
     <VirtualHost 192.168.43.43:443>
     DocumentRoot "/home/wwwroot/abc"
     ServerName "www.abc.com"
     SSLEngine on
     SSLProtocol all -SSLv2
     SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
     SSLCertificateFile /etc/pki/tls/certs/server.crt
     SSLCertificateKeyFile /etc/pki/tls/certs/server.key
     </VirtualHost>
4.客戶機測試
     curl -k https://www.abc.com
 
 
設定郵件伺服器(postfix和dovecot)
1.安裝服務
     yum -y install postfix    //提供SMTP服務
     yum -y install dovecot    //提供POP3和IMAP服務
2.使用postconf工具簡化組態檔
     cd  /etc/postfix      //進入目錄
     postconf  -n > main.txt      //使用postconf工具生成main.txt檔案,-n表示只生成非預設設定選項
     mv  main.cf  main.cf.bak     //把原來的組態檔改名
     mv  main.txt  main.cf        //把生成的簡化組態檔名字改成main.cf
3.設定紀錄檔跟蹤
     tail  -f  /var/log/maillog     //設定紀錄檔跟蹤,就是在終端介面顯示狀態
4.修改postfix的組態檔vim /etc/postfix/main.cf
     inet_interfaces = all     //伺服器監聽所有IP
     myhostname = mail.rhel.com    //伺服器使用的主機名
     mydomain = rhel.com          //伺服器使用的域名
    myorigin = $mydomain        //外發郵件是發件人地址中郵件域名
     mydestination = mydomain,  mydomain, myhostname     //可以接收的郵件地址的域名
     home_mailbox = Maildir/            //郵件儲存位置,注意路徑路徑後面的斜槓(寫了可能會失敗)
5.修改dovecot的組態檔vim /etc/dovecot/dovecot.conf
     protocols = pop3 imap lmtp   //24行,支援的郵局協定
     disable_plaintext_auth = no     //在25行加入允許明文密碼認證
     login_trusted_networks = 192.168.43.0/24    //指定允許登陸的網段地址
6.修改dovecot的組態檔vim /etc/dovecot/conf.d/10-mail.conf
     mail_location = mbox:~/mail:INBOX=/var/mail/%u    //指定郵箱位置和格式
7.建立相關目錄
     mkdir  -p  /home/user1/mail/.imap/INBOX
     chown  -R  user1:user1  /home/user1
    編寫Shell指令碼,使得建立使用者時自動建立相應的目錄
     vim /etc/skel/.bash_profile
          if [ ! -d ~/mail/.imap/INBOX ]; then
               mkdir -p ~/mail/.imap/INBOX
          fi
8.設定防火牆允許SMtTP 服務
     firewall-cmd  --permanent  --add-service=smtp      //放行smtp服務
     firewall-cmd  --permanent  --add-service=imaps     //放行imap服務
     firewall-cmd  --permanent  --add-service=pop3s     //放行pop3服務
     firewall-cmd  --reload                             //重新啟動防火牆
9.啟動服務
    systemctl  restart  postfix.service     //重新啟動postfix服務
     systemctl  enable  postfix.service     //設定隨開機自啟動
     systemctl  restart  dovecot.service     //重新啟動dovecot服務
     systemctl  enable  dovecot.service     //設定隨開機自啟動
10.檢視相應的監聽埠
    netstat  -nutpl | grep dovecot     //應該看到埠110和143
     netstat  -nutpl | grep 25          //應該考到埠25
11.新增新賬戶
     useradd user1
     useradd user2
     passwd user1
     passwd user2
12.設定郵件別名
     vim /etc/aliase      //進入設定別名檔案
     admin:     user1    //設定別名
     newaliase       //更新資料庫
13.測試
     echo this is a test email. | mail -s test user1@rhel.com      //傳送郵件
     mail -u user1        //查郵件
     或者
     設定outlook和foxmail用戶端 
          引數如下:
          郵件賬號名稱     user1@rhel.com
          SMTP伺服器地址     mail.rhel.com
          POP3伺服器地址     mail.rhel.com
 
設定PXE server實現遠端安裝linux系統
註:實現此服務需要FTP、DHCP、TFTP-SERVER三個服務
1.設定ftp服務
     yum -y install vsftpd     //安裝ftp服務
     vim /etc/vsftpd/vsftpd.conf     //修改ftp組態檔,預設匿名登陸不用修改設定,預設路徑/var/ftp
     systemctl start vsftpd.service     //啟動ftp服務
     netstat -atunp | grep :21     //檢視21埠是否開啟
     systemctl enable vsftpd.service     //設定隨開機自啟動
     systemctl is-enabled vsftpd.service     //檢視是否開機自啟
     用戶端測試
         ftp 192.168.43.43
               使用者名稱 anonymous/ftp
              密碼 空
     匿名使用者的FTP目錄是 /var/ftp
2.設定DHCP服務
     yum -y install dhcp     //安裝dhcp服務
     cp /usr/share/doc/dhcp-4.2.5/dhcp.conf.example /etc/dhcp/dhcpd.conf     //複製組態檔
     vim /etc/dhcp/dhcpd.conf     //修改組態檔
          在所分配網段宣告中追加如下內容
               next-server 192.168.43.43;     //設定分配的tftp地址
               filename "pxelinux.0";     //設定引導檔名
     systemctl start dhcpd.service     //啟動dhcp服務
     netstat -atunp | grep :67     //檢視dhcp伺服器端口
     systemctl enable dhcpd.service     //設定隨開機自啟動
     systemctl is-enabled dhcpd.service     //檢視
     grep dhcpd /var/log/message | tail -20     //檢視紀錄檔,用於排錯
     用戶端測試
3.設定TFTP服務
     yum -y install tftp-server     //安裝tftp服務
     vim /etc/xinetd.d/tftp     //編輯tftp組態檔
          把disable的值改為no,即 disable = no     修改組態檔
     systemctl start xinetd.service     //啟動tftp服務
     netstat -atunp | grep :69     //檢視tftp埠
     systemctl enbale xinetd.service     //設定隨開機啟動
     systemctl is-enabled xinetd.service     //檢視是否開機自啟
4.準備PXE安裝原始檔
     mkdir /var/ftp/rhel7
     mount | grep iso     //檢視rhel7映象掛載在哪裡,預設掛載在/run/media/root/RHEL-7.0 Server.x86_64
     cp -rf /run/media/root/RHEL-7.0 Server.x86_64/*  /var/ftp/rhel7/     //把映象的全部內容複製到ftp目錄下的rhel7
     du -sh /var/ftp/rhel7     //檢視複製後的資料夾大小
5.將核心檔案vmlinuz、初始化映象檔案initrd.img放到tftp的根目錄(/var/lib/tftpboot/)下
     cp /var/ftp/rhel7/images/pxeboot/vmlinuz  /var/lib/tftpboot     //複製核心檔案vmlinuz到tftp根目錄下
     cp /var/ftp/rhel7/images/pxeboot/initrd.img  /var/lib/tftpboot     //複製初始化映象檔案initrd.img到tftp根目錄下
6.將引導檔案pxelinux.0複製到tftp根目錄下
     yum -y install syslinux     //安裝此程式用於生成引導檔案pxelinux.0
     cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot     //複製引導檔案pxelinux.0到tftp的根目錄下
7.設定kickstart實現無人值守安裝
     yum -y install system-config-kickstart     //安裝kickstart程式
     開啟kickstart程式設定安裝選項,然後儲存ks.cfg檔案用於無人值守安裝系統
     vim /var/ftp/rhel7/ks.cfg     //修改ks.cfg檔案,並追加如下內容
          eula --agreed
8.在tftp根目錄下建立啟動選單檔案
     vim /var/lib/tftpboot/pxelinux.cfg/default     //在tftp根目錄下建立啟動選單檔案
          default  auto
          prompt  0
          label  auto
                    kernel  vmlinuz
                    append  ks=ftp://192.168.43.43/rhel7/ks.cfg  initrd=initrd.img  inst.repo=ftp://192.168.43.43/rhel7
 
有人值守的設定方法:
default auto
prompt 1
label auto
     kernel vmlinuz
     append initrd=initrd.img inst.repo=ftp://192.168.43.43/rhel7
               
9.測試
     新增虛擬機器,設定為與dhcp伺服器相同網段,即可實現無人值守自動裝系統
 
 
設定iSCSI伺服器

ISCSI target端設定:
1.安裝軟體
     yum -y install targetcli
2.啟動服務
     systemctl start target     //啟動服務
     systemctl enable target     //設定服務隨開機啟動
3.設定防火牆放行
     firewall-cmd --permanent --add-port=3260/tcp     //放行3260埠
     firewall-cmd --reload     //重新啟動firewall
4.使用targetcli 進入互動模式
     /> cd /backstores/block/     //進入block目錄
     /backstores/block> create server1 /dev/sdb3     //將/dev/sdb3建立為後端儲存
     /backstores/block> cd /backstores/fileio/     //進入fileio目錄
     /backstores/fileio> create file1 /root/disk1_file 100M     //提供一個100M的檔案為儲存資源
     /backstores/fileio> cd /iscsi/     //進入iscsi目錄
     /iscsi> create iqn.2015-10.com.rhel:server1     //建立一個提供服務的名稱,這時在名稱下會自動生成tpg1目錄
     /iscsi> cd iqn.2015-10.com.rhel:server1/tpg1/acls/     //進入acls目錄
     /iscsi>iqn2015...ver1/tpg1/acls> create iqn.2015-10.com.rhel:desktop     //建立允許存取原生的iscsi裝置的名稱
     /iscsi/iqn2015...ver1/tpg1/acls> cd ../luns/     //進入luns目錄
     /iscsi/iqn2015...ver1/tpg1/luns> create /backstores/block/server1     //將快裝置server1加入到luns
     /iscsi/iqn2015...ver1/tpg1/luns> create /backstores/fileio/file1     //將檔案裝置file1加入到luns
     /iscsi/iqn2015...ver1/tpg1/luns> cd ../portals/     //進入portals目錄
     /iscsi/iqn2015...ver1/tpg1/portals> create 192.168.43.43 //設定本地監聽的IP和埠,預設埠3260
     /iscsi/iqn2015...ver1/tpg1/portals> cd /     //回到/目錄
     /> saveconfig     //儲存設定
5.重新啟動服務
     systemctl restart target

ISCSI initiator端設定:
6.安裝軟體
     yum -y install iscsi-initiator-utils
7.編輯本地iscsi名稱檔案,修改為伺服器定義的名稱
     vim /etc/iscsi/initiatorname.iscsi     //編輯iscsi檔案
          InitiatorName=iqn.2015-10.com.rhel:desktop
     systemctl restart iscsid     //重新啟動iscsi服務
8.發現iscsi裝置
     iscsiadm -m discovery -t st -p 192.168.43.43
          192.168.43.43:3260,-1 iqn.2015-10.com.rhel:server1
9.登陸iscsi裝置
     iscsiadm -m node -T iqn.2015-10.com.rhel:server1 --login
10.檢視是否增加了一塊磁碟
     fdisk -l
11.對新增的磁碟進行分割區
     fdisk /dev/sdc
12.格式化新增加的磁碟
     mkfs.xfs /dev/sdc1
13.檢視新增磁碟的UUID
     blkid /dev/sdc1
14.設定網路正常時自動掛載
     mkdir /iscsi     //建立掛載點
     vim /etc/fstab     //編輯fstab檔案
          UUID=971cba16-2ec6-40b3-a68e-c9538d0b3f9e     /iscsi     xfs     defaults,_netdev     0 0
15.掛載
     mount /iscsi
16.檢視大小
     df -Th
 
 
 
設定FTP伺服器
伺服器端:vsftpd
用戶端:ftp
 
 
 
default auto
prompt 1
label auto
     kernel vmlinuz
     append initrd=initrd.img inst.repo=ftp://192.168.43.43/rhel7
 
 
 
基本磁碟管理
1.分割區 fdisk /dev/sdb
     /dev/sdb     40G     //磁碟總大小
     /dev/sdb1     10G     //建立磁碟主分割區
     30G  -------擴充套件分割區     //擴充套件分割區大小
     /dev/sdb5     2G     //第一個邏輯分割區大小
     /dev/sdb6     10G     //第二個邏輯分割區大小
2.格式化
     mkfs.ext4  /dev/sdb1     mkfs.ext4  /dev/sdb6     //格式化分割區並選擇型別
     mkswap  /dev/sdb5
3.掛載
     mount  /dev/sdb1   /tools
4.用sdb5 擴充交換分割區
     swapon  /dev/sdb5
5.檢視交換分割區的情況
     free  -m | grep -i swap
6.使用
     ll /tools
7.檢視使用情況
     df  -Th  /tools
8.不使用,就需要解除安裝
     mount  /tools (解除安裝時要退出掛載點,否則會提示目標忙)

RAID設定與管理
RAID0:需要至少兩塊(含)硬碟,可以有效的提高硬碟的效能和吞吐量,但沒有資料的冗餘和錯誤修復能力。 將多塊硬碟通過硬體或軟體的方式串聯在一起,成為一個大的捲集,將資料依次寫入到各個硬碟中,這樣效能會極大提升,但若任意一塊硬碟故障則整個系統的資料都會受到破壞。
RAID1:需要至少兩塊(含)硬碟,可以有效的提高資料資料的安全性和可修復性,但成本卻提高了。 實現原來是在資料寫入硬碟時也會在另外一塊閒置的硬碟上生成映象檔案,在不影響效能的情況下最大限度保證資料資料的可靠性,只要在一對映象盤中還有一塊硬碟可以使用,那麼資料也不會丟失,具有很好的硬碟冗餘能力,雖然對資料來講絕對的安全,但成本卻明顯增加,磁碟利用率僅為50%。
RAID5:需要至少三塊(含)硬碟,兼顧儲存效能、資料安全和儲存成本。
如下圖所示"parity"塊中儲存的是其他硬碟資料的奇偶校驗資訊(並非其他硬碟的資料),以資料的奇偶校驗資訊來保證資料的安全,RAID5不以單獨的硬碟來存放資料的奇偶校驗資訊,而是儲存在各個磁碟上。
這樣當任何一個硬碟損壞都可以根據其他硬碟上的奇偶校驗資訊來嘗試重建損壞的資料,效能也很高,兼顧了儲存效能、資料安全和儲存成本,可以看作是RAID0與RAID1的折中方案。
 
RAID10:需要至少四塊(含)硬碟,兼具速度和安全性,但成本很高。
繼承了RAID0的快速與RAID1的安全,RAID1在這裡提供了冗餘備份的陣列,而RAID0則負責資料的讀寫陣列。因這種結構的成本高,一般用於存放要求速度與差錯控制的資料。
mdadm命令用於管理系統軟體RAID硬碟陣列,格式為:"mdadm [模式] <RAID裝置名稱> [選項] [成員裝置名稱]"。
mdadm管理RAID陣列的引數有:
引數 作用
-a 檢測裝置名稱
-n 指定裝置數量
-l 指定raid級別
-C 建立
-v 顯示過程
-f 模擬裝置損壞
-r 移除裝置
-Q 檢視摘要資訊
-D 檢視詳細資訊
-S 停止陣列
1.使用mdadm命令建立RAID10,名稱為/dev/md0
     mdadm -Cv  /dev/md0  -a  yes  -n  4  -l  10 /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde
2.格式化並掛載使用
     mkfs.xfs  /dev/md0     //格式化
     mkdir  /RAID     //建立掛載點
     mount  /dev/md0  /RAID     //掛載檔案系統
     df  -h     //檢視大小
3.設定重新啟動後自動掛載
     vim  /etc/fstab
          /dev/md0     /RAID     xfs     defaults     0 0

邏輯卷管理  (物理卷<卷組<邏輯卷)
     物理卷(PV):整個磁碟裝置或者fdiak命令建立的硬碟分割區
     卷組(VG):由一個或多個物理卷(PV)組成的整體
     邏輯卷(LV):從卷組(VG)中切割出的空間來用於建立檔案系統,大小由PE的個數決定
 
功能/命令 物理卷管理 捲組管理 邏輯卷管理
掃描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
顯示 pvdisplay vgdisplay lvdisplay
刪除 pvremove vgremove lvremove
擴充套件   vgextend lvextend
注意:先用fdisk /dev/sdb  /dev/sdc 建立兩個普通分割區,然後把型別設定成8e
1.PV物理卷
     pvcreate /dev/sdb1  /dev/sdc1  //建立物理卷,格式:pvcreate 裝置名 裝置名
     pvscan     //檢視物理卷
     pvdisplay  /dev/sdb1     //檢視物理卷詳細資訊
2.VG卷組
     vgcreate mail_store /dev/sdb1 /dev/sdc1     //建立卷組,格式:vgcreate 捲組名 裝置名 裝置名
     vgscan     //檢視卷組
     vgdisplay  mail_store     //檢視卷組詳細資訊
3.LV邏輯卷
     lvcreate -L 50G -n mail  mail_store     //在名為mail_store的捲組中建立大小為50G的邏輯卷,並命名為mail,這樣就建立了塊裝置/dev/mail_store/mail ;格式:lvcreate -L 大小 -n 邏輯卷名  卷組
4.格式化邏輯卷
     mkfs.ext4 /dev/mail_store/mail  //格式邏輯卷mail
5.掛載邏輯卷
     mount  /dev/mail_store/mail  /tools
6.檢視使用情況
     df -Th  /tools/
7.不損壞資料的情況下,擴充套件空間到70G
     umount /tools     //擴充套件前一定要先解除安裝
     lvextend -L 70G /dev/mail_store/mail  //擴充套件邏輯卷大小到70G,但是邏輯卷大小沒更新
8.檢查磁碟完整性,重置硬碟容量
     e2fsck -f /dev/mail_store/mail     //檢查磁碟完整性
     resize2fs /dev/mail_store/mail     //重置硬碟容量
     mount /dev/mail_store/mail  /tools     //重新掛載使用

不損壞資料的情況下,擴充套件10G
9.比作剛買入的物理磁碟,然後用fdisk /dev/sdd 建立分割區,設定型別8e
     fdisk /dev/sdd     //建立普通分割區並設定型別為8e
10.建立物理卷
     pvcreate /dev/sdd1     //建立物理獎/dev/sdd1
11.擴充套件卷組大小
     vgextend mail_store /dev/sdd1     //增加卷組的大小
12.檢視卷組的大小
     vgdisplay mail_store
13.擴張邏輯卷大小,增加10G
     lvextend -L +10G /dev/mail_store/mail     //增加邏輯卷大小,格式:lvextend -L 大小 邏輯卷名
14.LV分割區重設大小
     e2fsck -f /dev/mail_store/mail     //檢查磁碟完整性
    resize2fs /dev/mail_store/mail     //重置硬碟容量
15.檢視擴充套件後的大小
     df -Th /tools/     //檢視大小

現在有一個磁碟損壞了,需要減少邏輯卷的空間到75G
16.解除安裝邏輯卷
     umount  /dev/mail_store/mail
17.檢查檔案系統的完整性 
     e2fsck -f /dev/mail_store/mail
18.將邏輯卷減小到75G
     resize2fs -f /dev/mail_store/mail 75G
19.使用lvreduce命令將檔案系統調整為75G
     lvreduce -L 75G /dev/mail_store/mail
20.重新掛載檔案系統
     mount /dev/mail_store/mail /mailbox
21.檢視容量大小
     df -Th /mailbox

捲組也可以減少到80G
22.捲組減少到80G
     vgreduce mail_store /dev/sdd1
23.檢視卷組
     vgdisplay mail_store
24.移除sdd1
     pvremove /dev/sdd1

建立邏輯卷快照來備份資料
25.建立快照
     lvcreate -L 150M -s -n SNAP /dev/mail_store/mail     //對mail_store卷組的mail邏輯卷做一個名稱叫SNAP而大小為150M的邏輯卷快照
     lvs     //檢視邏輯卷和快照的資訊
     umonut /tools     //解除安裝檔案系統
     lvconvert --merge /dev/mail_store/SNAP     //恢復SNAP邏輯卷快照內容
     lvs     //已經檢視不到快照資訊,快照恢復一次後會被自動刪除
     mount /dev/mail_store/mail  /tools     //重新掛載檔案系統

檔案系統配額quota
1.啟用檔案系統配額
     vim /etc/fstab
         /dev/mail_store/mail     /mailbox     xfs     defaults,usrquota,grpquota     0 0
2.重新啟動主機後即可生效
     reboot     //重新啟動
     mount     /mailbox     //掛載系統檔案
     mount     | grep     mailbox     //檢視是否多了三個配額引數
3.建立使用者測試
     useradd qu1
     passwd qu1
4.使用xfs_quota命令設定對qu1使用者在/mailbox目錄的磁碟配額
     xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 qu1' /mailbox
5.檢視當前/mailbox目錄上的配額限制
     xfs_quota -x -c report /mailbox
6.編輯使用者的配額限制
     edquota -u qu1     //編輯使用者qu1的配額限制
7.開啟或關閉配額功能
     quotaon -ugv /dev/mail_store/mail
     quotaoff -ugv /dev/mail_store/mail 關閉配額功能
7.驗證
     先設定掛載點的許可權
          chmod 777 /mailbox
     切換到qu1使用者,並進入掛載點/mailbox
          su - qu1
          cd /mailbox
     使用mkdir或dd建立檔案
          dd if=/dev/zero of=myfile bs=10M count=120
     檢視是否警告
8.檢視具體使用情況
     repqouta -ug /mailbox/
 
 
Shell指令碼程式設計
沒有執行許可權時,用bash 指令碼名   , .  指令碼名
有執行許可權時,用 ./指令碼名
 
 
 
設定NFS檔案伺服器
伺服器端:
1.安裝服務
     yum -y install nfs-utlis     //RHEL7預設已安裝
2.建立共用目錄
     mkdir /nfsfile     //建立共用目錄
     echo "welcome to nfsfile here " > /nfsfile/readme     //寫入一個新檔案到共用目錄
3.設定許可權
     chmod a+rw /nfsfile     //檔案的系統許可權要和共用許可權進行比較,以安全性較高的為準
4.編輯要共用的檔案和許可權
     vim /etc/exports
          /nfsfile     192.168.12.*(rw,sync)     //格式:共用檔案的路徑  共用網段(許可權)
5.啟動NFS伺服器端
     systemctl restart rpcbind     //NFS服務依賴於RPC服務,所以要啟動RPC服務
     systemctl restart nfs-server     //啟動NFS服務
     systemctl enable nfs-server     //設定隨開機啟動
用戶端:
6.安裝服務
     yum -y install nfs-utlis     //RHEL7預設已安裝
7.查詢遠端NFS伺服器的共用資源
     showmount -e 192.168.12.12     //showmount [引數] [遠端主機]
                                    //-a 顯示本機掛載的NFS資源情況
8.建立本地掛載目錄
     mkdir /nfsfile     //建立本地掛載目錄
     mount -t nfs 192.168.12.12:/nfsfile  /nfsfile     //掛載
9.設定開啟自動掛載
     vim /etc/fstab
          192.168.12.12:/nfsfile     /nfsfile     nfs     defaults     0 0
 
 
設定samba伺服器
1.安裝服務
     yum -y install samba
2.修改組態檔
     mv /etc/samba/smb.conf  /etc/samba/smb.conf.bak     //簡化組態檔
     cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf     //過濾簡化組態檔
     vim /etc/samba/smb.cof     //修改組態檔
          [global]
               Hoast allow = 192.168.12.     //設定允許網段
          [sambafile]
               comment = samba share file
               path = /sambafile
               public = no
               writable = no
               writable list = s1
               read only = yes
               directory mask = 0700
               create mask = 0600
3.建立共用檔案
     mkdir /sambafile
4.新增使用者
     useradd s1
     smbpasswd -a s1     //新增tom為samba使用者
     smbpasswd -a root
5.重新啟動服務
     systemctl start smb nmb     //重新啟動服務
     systemctl enable smb nmb     //設定隨開機啟動
     firewall-cmd --permanent --add-server=samba     //防火牆放行
     netstat -atunp | grep mbd     //檢視埠(139,138,137,445)
6.windows客戶機掛載
     192.168.12.12     //進入samba登陸介面,可用C:/net use * /del 清楚快取
7.linux客戶機掛載
     yum -y install cifs-utils     //安裝cifs服務
     mkdir /smbfile     //建立掛載點
     mount -o username=s1 //192.168.12.12/sambafile  /smbfile     //以s1的身份掛載到本地目錄
 
小結:
1.選項read only = NO ,是否能寫,就只受系統許可權控制,valid users 和 write list 的選項都一樣,如果目錄許可權是777,只要能存取的使用者就能寫入。
2.選項read only = YES ,是否能寫,就受系統許可權、valid users和write list 的選項同時控制,如果目錄許可權是777,只有write list 選項的使用者可寫,valid users選項的使用者唯讀。
 
 
設定ftp伺服器
1.安裝服務
     yum -y install vsftpd
2.修改組態檔
     (匿名登入)
     vim /etc/vsftpd/vsftpd.conf
          anonymous_enable=YES     //允許匿名登陸
          anon_umask=022     //匿名上傳檔案的預設許可權
          anon_upload_enable=YES     //允許匿名上傳檔案
          anon_root=/var/vsftp     //匿名存取的路徑,預設為/var/ftp
          anon_mkdir_write_enable=YES     //允許匿名建立目錄的寫入許可權
          anon_other_write_enable=YES     //允許匿名有改名,覆蓋,刪除的許可權
          listen_ipv6=YES     //獨立監聽ftp進程(ipv4 and ipv6)
          anon_max_rate=0     //限制傳輸速率
          注意1:設定完匿名存取的路徑後,要檢查該目錄的系統許可權,應該有寫入(w)的許可權,否則匿名使用者不能上傳檔案,或者把匿名存取的目錄所有者設定為ftp使用者(一般不推薦)。
          注意2:“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”,如果提示這個錯誤,就應該把使用者的預設目錄寫許可權(w)去掉。
     (本地使用者登入)
          local_enable=YES     //是否允許本地使用者登入
          local_umask=022     //設定本地使用者的預設上傳檔案許可權
          local_root=/var/vsftp     //設定本地使用者登入的目錄,預設在使用者的宿主目錄
          chroot_local_user=YES     //是否把本地使用者禁錮在宿主目錄(啟用此引數後可能會報錯“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”如果報錯,不能登入,就追加如下行:allow_writeable_chroot=YES,加入個引數後就不用把宿主目錄的寫許可權去掉了。)
     (虛擬使用者登入)
         cd /etc/vsftpd/     //進入目錄
          vim vuser.list     //建立虛擬使用者資料庫(即虛擬賬號和密碼)
          db_load -T -t hash -f vuser.list vuser.db     //使用db_load命令用hash演算法生成ftp資料庫檔案vuser.db
          chmod 600 vuser.db     //把資料庫檔案許可權改小一點
          useradd -d /var/ftproot -s /sbin/nologin virtual     //建立虛擬賬號對應的本地賬號
          chmod -Rf 755 /var/ftproot/     //修改許可權,讓其他使用者可以存取
          vim /etc/pam.d/vsftpd.vu     //編輯PAM認證檔案(追加如下)
               auth     required     pam_userdb.so db=/etc/vsftpd/vuser
               account     required     pam_userdb.so db=/etc/vsftpd/vuser
          vim /etc/vsftpd/vsftpd.conf     //修改組態檔
               anonymous_enbale=NO     //禁用匿名模式登入
               anonymous_mkdir_write_enable=NO     //禁用匿名模式建立目錄,因為虛擬使用者的許可權也受這個控制,如果需要此許可權則應該在/etc/vsftpd/vusers_dir/下建立相應使用者名稱的檔案並寫入需要的許可權
               anonymous_other_write_enable=NO     //禁用匿名模式的修改,重新命名,刪除等許可權,因為虛擬使用者的許可權也受這個控制(虛擬使用者的許可權由這兩者相加)
               anonymous_upload_enable=NO     //禁用匿名模式的上傳許可權,同上
               local_enable=YES     //必須允許本地使用者登入,因為虛擬使用者需對映本地使用者
               guest_enable=YES     //開啟虛擬使用者登入
               guest_username=virtual     //設定虛擬使用者對映的本地使用者名稱
               pam_service_name=vsftpd.vu     //設定對應的pam認證檔案
               allow_writeable_chroot=YES     //允許禁錮的FTP根目錄可寫而不拒絕使用者登入請求
               user_config_dir=/etc/vsftp/vusers_dir     //指定虛擬使用者獨立許可權組態檔的存放目錄
          mkdir /etc/vsftpd/vusers_dir/     //建立獨立使用者許可權組態檔目錄
          cd /etc/vsftpd/vusers_dir/     //進入目錄
          touch ftp1     //建立ftp1虛擬使用者的許可權組態檔,檔名需與使用者名稱相同
          touch ftp2    
          vim ftp1     //編輯虛擬使用者ftp1的獨立許可權
               anon_upload_enable=YES
               anon_mkdir_write_enable=YES
               anon_other_write_enable=YES
3.啟動服務
     systemctl restart vsftpd.serivce     //啟動服務
     systemctl enable vsftpd.service     //設定服務隨系統自啟動
4.設定SELinux
     chcon -Rt public_content_t /var/ftproot
     setsebool -P ftpd_full_access on

實現虛擬使用者與本地使用者都能使用FTP伺服器
4.修改組態檔
     vim /etc/vsftpd/vsftpd.conf     //修改ftp組態檔
         pam_service_name=vsftpd     //修改成這樣
          #guest_enable=YES     //注釋掉
          #guest_username=virtual     //注釋掉
5.修改PAM認證檔案
     vim /etc/pam.d/vsftpd     //進入修改
         把
          auth     required     pam_userdb.so db=/etc/vsftpd/vuser
         account  required     pam_userdb.so db=/etc/vsftpd/vuser
          改成
          auth     sufficient     pam_userdb.so db=/etc/vsftpd/vuser
          auth     sufficient     pam_userdb.so db=/etc/vsftpd/vuser
6.在每個虛擬使用者的獨立許可權設定裡加入如下行
     vim /etc/vsftpd/vusers_dir/ftp1     //進入編輯獨立許可權組態檔,每個使用者都不同
          guest=YES
          guest_username=virtual
 
 
 
cp 命令的使用技巧
     cp (選項)(引數)
選項:
     -a     此引數效果等同於指定”-dpR“
     -f     強行複製檔案或目錄
     -R/r     遞回處理
     -p     保留原始檔或目錄的屬性
引數:
     原始檔
     目標檔案

tar 命令的使用技巧
     tar(選項)(引數)
選項:
     -c     //建立壓縮檔案
     -x     //加壓壓縮檔案
     -v     //顯示執行過程
     -f<備份的檔名>     //指定備份檔案,即所建立備份的檔名
     -z     //通過 gzip 指令處理壓縮檔案(.gz)
     -j     //通過 bzip2 指令處理壓縮檔案(.bz2)
     -J     //通過 xz 指處理壓縮檔案(.xz)
     -P     //檔名使用絕對路徑,不移除檔名錢的 / 號
引數:
     檔案或目錄(指定要打包的檔案或者目錄)

scp 命令的使用技巧(需要SSH支援)
     csp(選項)(引數)
選項:
     -1     //使用ssh1
     -2     //使用ssh2
     -4     //使用ipv4
     -6     //使用ipv6
     -P     //指定遠端主機的埠號
     -r     //以遞迴方式複製,即可以複製目錄
引數:
     原始檔(指定要複製的原始檔)
     目標檔案(格式為user@host:filemane)
範例:
     scp  root@192.168.43.43:/home/hkj123/nes.cc  /opt/     //從遠處複製到本地
     scp  -r  /opt/  root@192.168.43.43:/opt     //從本地上傳目錄到遠端機器指定目錄中

rsync 命令的使用技巧(rsync只傳輸不同的部分)(需要SSH支援)
語法:
     rsync 選項 原始檔 目標檔案
          1.本地拷貝檔案
          2.本地機器拷貝到遠端機器(目標檔案地址加:)
          3.遠端機器拷貝到本地機器(原始檔地址加:)
          4.rsync伺服器拷貝到本地機器(原始檔地址加::)
          5.本地機器拷貝到rsync伺服器(目標檔案加::)
          6.列遠端機的檔案列表(rsync://192.168.43.43/www)
選項:
     -v     //詳細模式輸出
     -a     //歸檔模式,以遞迴方式傳輸檔案並保持檔案屬性,等效於-rlptgoD
     -r     //遞回處理
     -R     //使用相對路徑
     -p     //保持穩健許可權
     -g     //保持檔案屬組資訊
     -o     //保持檔案屬主資訊

at 命令的使用技巧
     at(選項)(引數)
選項:
     -f     //指定包含具體指令的任務檔案
     -q     //指定新任務的佇列名稱
     -l     //顯示待執行任務的列表
     -d     //刪除指定的待執行任務
引數:
     時間日期
例子:
     at 5pm+3 days     //三天後的下午5點執行
     atq     //檢視待執行任務
     atrm 佇列數     //刪除已設定的任務

crontab 命令的使用技巧
     crontab(選項)(引數)
選項:
     -e     //編輯該使用者的計時器設定
     -l     //列出該使用者的計時器設定
     -r     //刪除該使用者的計時器設定
     -u<使用者名稱稱>     //指定要設定計時器的使用者名稱稱
引數:
     crontab檔案
範例:格式
     分  時  日  月  周  命令(可以是系統命令,也可以指令碼檔案)

userdel 命令的使用技巧
     userdel(選項)(引數)
選項:
     -f     //強制刪除使用者
     -r     //輸出使用者的相關檔案
引數:
     使用者名稱

wc 命令的使用技巧
     wc(選項)(引數)
選項:
     -c     //只顯示Bytes數
     -l     //只顯示列數
     -w     //只顯示字數
引數:
     檔案

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-10/136516.htm


IT145.com E-mail:sddin#qq.com