2016年3月15日 星期二

debain10(9.13)初探

看一下版本先...  lsb_release -acat /etc/issue
  1. apt-get install net-tools <--新版debian並沒有把ifconfig....等網路工具預設安裝
  2. ssh服務預設禁止root通過密碼登入(/etc/ssh/sshd_config中的PermitRootLogin=prohibit-password (yes為允許)
  3. 系統開機後跳離menu,直接進入系統
    • vim /etc/default/grub
      • GRUB_DEFAULT=0 (預設為0 -->ubuntu開機;windows系統通常在第5項)
      • GRUB_TIMEOUT=0(改為0,不停留在menu上,直接進入系統)
    • update-grub (重新建立 /boot/grub/grub.cfg) #開機選單
    • 重新開機測試即可
  4. 為vim加顏色(yy複製整列、yw複製單字、p貼上)
    1. debina 或 ubuntu 所附的 vim 為精簡版的,所以不能顯示顏色,需安裝完整版
      apt-get install -y vim
      然後編輯vim 的設定檔
      vim /etc/vim/vimrc
      "syntax on
      ↑把前面的"號拿掉
      set ignorecase
      ↑設定搜尋時英文不分大小寫
      set incsearch
      ↑將搜尋到的字加hilight
    2. vim8.0後,滑鼠無法直接按右鍵複製、貼上。
      echo "set mouse-=a" > ~/.vimrc
  5. 將 /usr/sbin/nologin 加入 /etc/shells文件中
    echo '/usr/sbin/nologin' >> /etc/shells
  6. 改變所有使用者環境(/etc/profile 對所有的使用者生效)
    1. echo "alias ll='ls -alh --color=auto -F'" >> /etc/profile
    2. echo "alias grep='grep --color=auto'" >> /etc/profile
    3. echo "alias useradd='useradd -m -s /usr/sbin/nologin'" >> /etc/profile
  7. 更改系統預設文字編輯器(我選擇vim.basic)
    update-alternatives --config editor
  8. 網路卡設定 (改固定IP)
    1. vim /etc/network/interfaces
      # The loopback network interface
      auto lo
      iface lo inet loopback

      # The primary network interface
      #allow-hotplug eth0
      auto eth0
      iface eth0 inet static
      address 172.16.1.11
      netmask 255.255.0.0
      gateway 172.16.1.254
    2. vim /etc/resolv.conf
      #domain Domain
      search wles.chc.edu.tw
      nameserver 172.16.1.3
      nameserver 168.95.1.1
      nameserver 168.95.192.1
    3. 將硬碟移機後,網卡 eth0 或 eth1 不見了?
      1. 首先用 ifocnfig -a 看你的系統內有幾張網卡,記下該網卡的 mac address
      2. vim /etc/udev/rules.d/70-persistent-net.rules
        (有可能不是一模一樣的檔名↑,只要記住關鍵字 net 去試試即可)
  9. 預設校時同步
    1. timedatectl set-ntp yes(關閉改為no)
    2. date更改日期(月日時分共8碼)
  10. 更改主機名稱
    1. 更改 /etc/hostname
    2. 更改 /etc/hosts
    3. 重開機
  11. 重新啟動網路
    /etc/init.d/networking restart
  12. 安裝資料庫php套件
    1. debian10(9.13)預設套件為php7,降為php5.6的方法
      • apt-get install apt-transport-https ca-certificates (使apt-get 支援SSL源、認證機構-證書)
      • wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg 
        curl https://packages.sury.org/php/apt.gpg | apt-key add - (請先裝curl套件)
      • echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php5.list
      • apt-get update
    2. 安裝資料庫mysql-server在debian10中找不到
      1. apt-get install gnupg
      2. wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
      3. dpkg -i mysql-apt-config_0.8.13-1_all.deb(要求我們配置可用的軟件包和存儲庫。默認配置非常好,因此只需向下滾動並按OK。)
      4. apt-get update
      5. apt-get install mysql-server(安裝mysql-server最後版本8.0,安全認證請使用傳統認證)
      6. 傳統認證(在/etc/mysql/mysql.conf.d/default-auth-override.cnf)
        • [mysqld]
          default_authentication_plugin= mysql_native_password
      7. 預設字元編碼為utf8mb4_0900_ai_ci,必要時可改為latin1或utf8(在/etc/mysql/mysql.conf.d/mysqld.cnf更改)
        • [mysqld]
          character-set-server=latin1
        • [mysql]
          default-character-set=latin1
        • [client]
          default-character-set=latin1
    3. 在debian9.13安裝mysql5.5.9999+default
      1. apt-get install mysql-server
      2. 預設mysql的root登入是使用unix_socket登入(即使用者root不用密碼即可登入mysql)
        1. USE mysql; (進入mysql並啟用mysql資料庫)
        2. UPDATE user SET Plugin='mysql_native_password',Password=password('密碼') WHERE User='root';
        3. FLUSH PRIVILEGES;
        4. quit
        5. service mysql restart
      3. 安裝的mysql5.5.9999(其實是披著mariadb的外殼,所有的設定放在/etc/mysql/mariadb.conf.d資料夾中)
        1. 將資料夾中的設定檔內容
          • character-set-server  = utf8mb4 (改為latin1)
          • collation-server      = utf8mb4_general_ci (改為latin1_swedish_ci)
        2. service mysql restart
    4. mysql的root密碼忘記的作法
      1. mysqld --skip-grant-tables(跳過權限表認證,該終端機已無法使用)
      2. 另外開啟終端機
      3. mysql無密碼直接登入
      4. UPDATE user SET Password=password('密碼') WHERE User='root';
      5. FLUSH PRIVILEGES;
      6. quit
    5. 安裝php5.6 
      apt-get install php5.6 php5.6-mysql php5.6-curl php5.6-xmlrpc php5.6-intl php5.6-gd php5.6-xml php5.6-zip php5.6-mbstring
    6. 若系統同時安裝 php 5.6 和 php 7.0 兩種版本,可使用以下指令做切換:update-alternatives --config php
    7. 網站架設1:安裝phpmyadmin 4.9.5(再高版本需要php7.0)範例
      1. 官方網站下載版本並上傳、解壓縮至/var/www/webs
      2. 新增/etc/apache2/sites-available/webs.conf(範本)
        Alias /xx/ "/var/www/webs/xx/"
        <Directory "/var/www/webs/xx/">
                Options MultiViews FollowSymLinks
                AllowOverride None
                Require all granted
        </Directory>
      3. a2ensite webs(啟用webs網站,停用則為a2dissite)
      4. service apache2 restart
      5. 備註:config.inc.php中的$cfg['Servers'][$i]['auth_type'] = 'cookie'; 改為'http'
      6. 備註:進入phpmyadmin資料夾中,建立tmp並chmod 777做為暫存
    8. 網站架設2:安裝moodle
      1. 官方網站下載版本並上傳、解壓縮至/var/www/webs
      2. 新增/etc/apache2/sites-available/webs.conf(範本)
      3. service apache2 restart
      4. vim /etc/mysql/mariadb.conf.d/50-server.cnf 中的[mysqld] 加入(如果有需要的話...)
        default_storage_engine = innodb
        innodb_file_per_table = 1
        innodb_file_format = Barracuda
        innodb_large_prefix = 1
    9. mysqladmin -uroot -p密碼 password '新密碼'
    10. mysql資料庫備份與還原
    • 備份並壓縮
      • mysqldump -uroot -p sfs3 --default-character-set=latin1 | gzip > sfs3_DB.sql.gz
    • 重建還原
      • gunzip sfs3_DB.sql.gz (gunzip -k 可保留原gzip檔案)
      • mysqladmin -u root -p create sfs3
      • mysql -u root -p sfs3 < sfs3_DB.sql
  13. 若資料庫欲連線至他台,必須將/etc/mysql/my.cnf中的bind-address = 127.0.0.1mark起來。
  14. 移機使用sftp的用法 sftp 帳號@ip
    put -r 本地端dir/. (. 記得加上) 或是 put -r 資料夾 上傳整個資料夾
  15. 啟用apache2模組
    1. 先到/etc/apache2/mods-available/ 查看可用模組(例userdir)
      1. a2enmod userdir 啟用userdir模組
      2. awdismod userdir 停用userdir模組
  16. vim /etc/php/5.6/apache2/php.ini
    max_execution_time = 300
    max_input_time = 600
    memory_limit = 160M
    post_max_size = 100M
    upload_max_filesize = 80M
    error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
    display_errors = On
    short_open_tag = On
    將 default_charset = "UTF-8" 改為 default_charset = ""
    **安裝Moodle 3.3.9+版本出現需要php需要zip擴展,在php.ini新增
    • sed -i 's/;extension=zip.so/extension=zip.so/' /etc/php/5.6/apache2/php.ini
  17. php 5.4以後有重大改變(參見 程式設計師需要注意的 PHP 5.4 變化),register_globals 和 register_long_arrays 兩項設定不再支援,將此function貼到全域文件中(轉自http://tw1.php.net/manual/en/security.globals.php)
  18. cgi程式置於 /usr/lib/cgi-bin
  19. samba
    1. 看samba狀態
      ↓此指令在debian版不能用,須改用 smbstatus 指令
      /etc/init.d/samba status
    2. 掛載網路硬碟
      smbclient -L ip //IP -U username 列出分享資料夾
      smbmount //IP/資料夾 /掛載點 -o username=帳號 掛載網路硬碟
    3. security=user 設定參考vim /etc/samba/smb.conf
      [global]
      workgroup = wles
      netbios name = SMB
      server string = 網路硬碟
      min protocol = SMB2
      client min protocol = SMB2 (可用samba-tool testparm -v | grep protocol查詢smb協定使用狀況)
      wins support = Yes
      interfaces = lo, eth1, 192.168.1.1/24
      security = user
      passdb backend = tdbsam
      obey pam restrictions = yes (以下4行,使用passwd或smbpasswd會使用者密碼、網路硬碟密碼同步)
      unix password sync = yes
      passwd program = /usr/bin/passwd %u
      pam password change = yes

      domain master = yes
      preferred master = yes
      os level = 68
      333

      #map to guest = bad user (mark掉,強迫帳號密碼驗證)
      #usershare allow guests = yes (mark掉或no,分享檔案guest不可使用)
      load printers = no  //以下設定可將印表機圖示隱藏
      printing = bsd
      printcap name = /dev/null
      disable spoolss = yes

      - - 以下可啟用samba符號連結(捷徑)功能 --
      follow symlinks = yes
      unix extensions = no
      wide links = yes


      [homes]
      comment = Home Directories
      read only = No
      create mask = 0664
      directory mask = 0755
      valid users = %S
      browseable = No

      [open]
      comment = 開放區
      path = /w2/open1
      write list = @teachers
      read only = no
      create mask = 0666
      directory mask = 0777

      [open2]
      comment = 開放備份區
      path = /w2/open2
      write list = @teachers
      read only = no
      create mask = 0666
      directory mask = 0777
      browseable = No
      配合資源分享之設定
      1. 設定teachers群組 vim /etc/group
        teachers:x:499:ully,ting9474
      2. 設定open目錄與使用者權限
        chmod 770 open1
        chown xx.teachers open1
      3. 設定crontab
        crontab -e
        0 1 1 * * mv /w2/open1 /w2/open3
        1 1 1 * * mv /w2/open2 /w2/open1
        2 1 1 * * rm -rf /w2/open1/*
        3 1 1 * * mv /w2/open3 /w2/open2
      4. chown -R .teachers open1
      5. chmod -R 770 open1
      6. chmod -R g+s open1 (設定sgid,讓進入open1的使用者,群組變為teachers)
  20. dhcp(debian6已改為isc-dhcp-server)
    1. apt-get install isc-dhcp-server
    2. vim /etc/dhcp/dhcpd.conf
    3. /etc/init.d/isc-dhcp-server start
      (會開啟bootps--utp67port)
  21. postfix發信伺服器與openwebmail安裝
  22. vsftpd安裝
    1. 讓使用者上下傳他們自己的檔案
      vim /etc/vsftpd.conf
      1. local_enable=YES (同意使用者登入)
      2. write_enable=YES
      3. /etc/init.d/vsftpd restart
    2. 允許匿名使用者上傳檔案
      vim /etc/vsftpd.conf
      1. anonymous_enable=YES (預設)
      2. write_enable=YES (可寫入)
      3. anon_upload_enable=YES (可上傳)
      4. anon_other_write_enable=YES (除了上傳外,還可做刪除、改名。。等動作,自行加入)
      5. anon_mkdir_write_enable=YES (匿名者建立資料夾....自行斟酌)
      6. 在/home/ftp 目錄下 建立上傳資料夾,資料夾擁有者為ftp,mod 755,(/home/ftp之擁有者為root)
    3. 使用者登入後限制目錄
      vim /etc/vsftpd.conf
      1. 在 /etc/vsftp.chroot.list名單者,統統限制
        1. chroot_local_user=NO
        2. chroot_list_enable=YES
        3. chroot_list_file=/etc/vsftpd.chroot_list
        4. echo '使用者' >> /etc/vsftpd.chroot_list
      2. 在 /etc/vsftp.chroot.list名單者,統統開放
        1. chroot_local_user=YES
        2. chroot_list_enable=YES
        3. chroot_list_file=/etc/vsftpd.chroot_list
        4. echo '使用者' >> /etc/vsftpd.chroot_list
  23. DNS+IPV6
    1. apt-get install bind9
    2. cat /etc/bind/named.conf (先瞭解設定檔架構)
    3.  IPV6功能開啟
      • cat /proc/sys/net/ipv6/conf/all/disable_ipv6 預設0,開啟
    4. 主機host檔設定 (vim /etc/hosts)
      127.0.0.1       localhost
      172.16.1.3      dns.wles.chc.edu.tw     dns
      172.16.1.1      www.wles.chc.edu.tw     www
      # The following lines are desirable for IPv6 capable hosts
      ::1     ip6-localhost ip6-loopback
      fe00::0 ip6-localnet
      ff00::0 ip6-mcastprefix
      ff02::1 ip6-allnodes
      ff02::2 ip6-allrouters
      2001:288:5676::2        dns.wles.chc.edu.tw     dns
      2001:288:5676::3        www.wles.chc.edu.tw     www
    5. 修改網路介面 (vim /etc/network/interfaces)
      auto lo
      iface lo inet loopback

      auto eth0
      iface eth0 inet static
              address 172.16.1.3
              netmask 255.255.0.0
              gateway 172.16.1.254
              dns-nameservers 172.16.1.3
              dns-search wles.chc.edu.tw (本來是168.95.1.1,DNS啟用後,先讀取自己吧)

      iface eth0 inet6 static
              address 2001:288:5676::2
              netmask 48
              gateway 2001:288:5676::1
    6. 修改主機位址解析檔 (vim /etc/resolv.conf)
      domain wles.chc.edu.tw
      nameserver 172.16.1.3
      nameserver 163.23.200.1
      nameserver 168.95.1.1
      nameserver 2001:288:5600::89
      nameserver 2001:288:5600::1
      nameserver 2001:288:5600::6
      nameserver 2001:288:5676::2
    7. 重新啟用網路服務
      /etc/init.d/networking restart
      測試網路
      • ip a
      • ping6 2001:288:5676::2 測試DNS本機
      • ping6 2001:288:5676::1 測試路由器
      • ping6 ::1 測試localhost
    8. 重新啟用DNS
      /etc/init.d/bind9 restart
    9. DNS設定測定
      • nslookup,測試本機正反解
      • nslookup,使用中華電信DNS
        >server 168.95.1.1
        >set type=AAAA
        >www.wles.chc.edu.tw
        >2001:288:5676::2 (無法查詢,因為設定不成功)
    10. 行政院NICI小組測試
  24. sysv-rc-conf (停掉預設的服務),詳細說明
    1. acpid
    2. atd
    3. axim4 (郵件服務)
    4. nfs-common
    5. nfs-kerne$
    6. rpcbind(舊稱portmap)
    7. sendsigs
    8. winbind (整合samba和window帳號) 
    9. 關掉rpcbind(NFS 伺服器,111port)
      1. update-rc.d nfs-common disable
      2. update-rc.d rpcbind disable
  25. 預設啟動服務 與關閉服務
    1. 啟動服務 insserv service 或 update-rc.d servic defaults
    2. 關閉服務 insserv -r service 或 update-rc.d service remove
    3. 如果還是無法關閉「開機自動啟用該service」,可crontab加入排程,例如:
      @reboot /usr/sbin/service bind9 stop