close

VirtualBox 玩 Centos (6.8) 筆記,資料來源參考多方網路資源,只在內部做測試開發平台使用。

  • 安裝 CentOS 6.8 i386 版本
  • sftp
  • Apache
  • MySql

[硬碟分割]

  • /boot   ext4 2048
  • /home  ext4 5120
  • 4096    swap    
  • / 其他全部

 [新增使用者]

第一次使用 root 登入後,先建立一個新帳號做為管理使用的帳號。

$ useradd -G wheel godspeed
$ passwd godspeed
Changing password for user godspeed.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

[關閉 SELinux]

$ cp /etc/sysconfig/selinux /etc/sysconfig/selinux.bak
$ vi /etc/sysconfig/selinux

SELINUX=enforcing 改成--> SELINUX=disabled

  • enforcing
  • permissive
  • disabled

[設定 SSH 服務]
SSH 服務的設定檔 /etc/ssh/sshd_config

透過 SSH 服務的設定檔來增加安全性,目標作以下幾項變更:

  1. 更改 SSH Port 22 為其他 Port (防止掃瞄Port)
  2. use Protocol 2 
  3. 不允許 root 登入 SSH ,用另外建立的帳號來登入
  4. 關閉 DNS反查 (加快登入速度)
  5. 不允許空白密碼
  6. 指定可以登入 SSH 的帳號
  7. 關閉 IP 反查和 GSS API auth, SSH 預設連線模式會進行 IP反查及GSS API auth,所以會花掉一些時間等待查詢,很多Linux服務都會設定反查,不用特別關閉也沒關係。
  8. use sftp
  9. restart SSH service #/etc/rc.d/init.d/sshd restart

$ cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

$ vi /etc/ssh/sshd_config

  1. Port 8022
  2. Protocol 2
  3. PermitRootLogin no
  4. UseDNS no
  5. PermitEmptyPasswords no
  6. AllowUsers sysadmin godspeed 若有多個帳號可以登入,就用空格隔開
  7. UseDNS no
    GSSAPIAuthentication no

  8. #Subsystem sftp /usr/libexec/openssh/sftp-server 
    Subsystem sftp internal-sftp 

    Match Group sftponly (Group 可更改為 User 針對單一帳號)
        ChrootDirectory /home/%u // 鎖定登入者家目錄
        X11Forwording no
        AllowTcpForwarding no
        ForceCommand internal-sftp

  9. service ssh restart (/etc/rc.d/init.d/sshd restart)

設定完後要重啟 SSH 服務才會生效,可以透過 netstat 指令來確認重啟後的 SSH 服務是否以 Port 8022 來接受連線

$ netstat -ant | grep :8022

ssh 可以使用 ssh -vvv 來 debug

$ ssh -vvv 192.168.1.20

[Chroot 重要的二句話]

  1. ChrootDirectory 指定的目錄開始到系統根目錄,目錄的擁有者只能是 root
  2. 同上 ChrootDirectory 指定的目錄開始到系統根目錄,都不能有群組寫入的權限

[網路設定] 
詳細的設定檔資訊可以參考/usr/share/doc/initscripts-*/sysconfig.txt
/etc/sysconfig/network-scripts/ifcfg-eth**  // *=0,1,2... 表示那一張網路卡

  • 第一張網卡 [固定IP]
  • DEVICE=eth0 // 網路卡代號,須與 /etc/sysconfig/network-scripts/ifcfg-eth0 對應
  • TYPE=Ethernet // 網路類別
  • HWADDR=08:00:27:71:85:BD // 網路卡MAC位址
  • NM_CONTROLLED=yes // 是否受其他網路管理軟體控管
  • ONBOOT=yes // 預設是否啟用-開機自動啟用=yes
  • BOOTPROTO=none // 取得IP的方式 dhcp / none 手動輸入
  • IPADDR=192.168.1.20 // 指定 IP
  • NETMASK=255.255.255.0 // 子網路遮罩
  • GATEWAY=192.168.1.254 //  預設路由 
  • NETWORK=192.168.0.0 // 該網段第一個 IP,可省略
  • BROADCAST=192.168.0.255 // 廣播位址,可省略
  • MTU=1500 // 最大傳輸單元,可省略
  • DNS1=168.95.1.1 //名稱解析伺服器,此設定也可以在 resolv.conf 設定
  • IPV6INIT=no // 不使用 IPV6INIT
  • ARPCHECK=no // 出現 bring up interface  ip address is already in use for device eth0 在網卡中加上此設定 不檢查 ARP

 

  • 第二張網卡 [DHCP]
  • DEVICE=eth1
  • TYPE=Ethernet
  • HWADDR=08:00:27:71:85:xx
  • NM_CONTROLLED=yes
  • ONBOOT=yes
  • BOOTPROTO=dhcp

[DNS Server]
# vi /etc/resolv.conf

  • nameserver 168.95.1.1
  • nameserver 168.95.192.1

[主機名稱]
# vi /etc/sysconfig/network

  • NETWORKING=yes
  • HOSTNAME=cafe.my.home

# vi /etc/hosts

保留原來內容,新增以下資料

  • 192.168.1.20 cafe.my.home 


重啟網卡

$ service network restart ( /etc/init.d/network restart)

 

[VirtualBox 重製後找不到網卡]

  • 開機時會出現「Device eth0 does not seem to be present, delaying initialization.」的錯誤訊息。
  • 將網卡設定中的 HWADDR=xx:xx:xx:xx:xx:xx 移除
  • # vi /etc/sysconfig/network-scripts/ifcfg-eth*
    接著編輯
  • # vi /etc/udev/rules.d/70-persistent-net.rules
  • 將原來的網卡資料刪除,留下新的網卡資料,並將新的網卡資料中的網卡名稱更改為原來的網卡名稱
    • SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" // 刪除此筆
    • SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="yy:yy:yy:yy:yy:yy", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" // 將新的網卡資料的 NAME 改成 eth0
  • reboot

 

[防火牆]

netstat -tunpl  // 瞭解各服務監聽的Port

查看目前的 iptables 設定 iptables -L -n

# vi /etc/sysconfig/iptables

### 允許本機和已經建立連線的封包通過 ###
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 
### icmp 全部開放 ###
-A INPUT -p icmp -j ACCEPT
 
### sshd 內網 開放 ###
-A INPUT -i eth0 -p tcp -s 192.168.1.0/24   --dport 8022  -j ACCEPT
 
# service iptables restart  (重新啟動防火牆)

 

[安裝系統設定套件]

  • 系統設定套件 - setup 工具包
    # yum -y install setuptool 
  • 系統設定套件 - 服務套件
  • # yum -y install ntsysv
     
  • 系統設定套件 - 網路管理
  • # yum -y install system-config-network-tui
     
  • 系統設定套件 - 防火牆設定
  • #yum -y install system-config-firewall-tui
     
  • 系統設定套件 - 安全性設定
  • yum -y install system-config-securitylevel-tui
     
  • yum -y install dbus-python
  • yum -y install dbus-python-devel
     
  • service messagebus start
  • chkconfig messagebus on


[安裝 Apache(httpd)]
# yum -y install httpd
# vi /etc/httpd/conf/httpd.conf 編輯設定檔

# service httpd start (/etc/init.d/httpd start) 啟動 httpd 服務
# /etc/init.d/httpd configtest 測試設定檔語法 
# chkconfig httpd on 加入開機自動啟動


[安裝 MySQL]
# yum -y install mysql mysql-server

# service mysqld start (/etc/init.d/mysqld start) 啟動 mysql 服務 
#chkconfig mysqld on 開機自動啟動 

[設定 MySQL (root) 密碼]
# mysqladmin -u root password 'mysql新密碼' ;設定mysql的密碼 
# mysql -u root -p ;輸入密碼驗證是否用新密碼可進入

mysql> show databases; // 顯示資料庫

mysql> drop database test; // 刪除 test 測試資料表

mysql> exit; 

[查詢使用者訊息]

  • mysql> SELECT user,host,password FROM mysql.user;

[刪除暱名使用者]

  • mysql> DELETE FROM mysql.user WHERE user='';
  • mysql> FLUSH PRIVILEGES;

[更改暱名使用者密碼]

  • mysql> SET PASSWORD FOR ''@localhost = password('fs_^s%d1L3');
  • mysql> FLUSH PRIVILEGES;

[新增使用者,給予資料庫所有權限]

  • use mysql;
  • INSERT INTO user(host, user, password) VALUES('%','帳號',password('密碼'));
  • GRANT ALL ON *.* TO 'godspeed'@localhost IDENTIFIED BY 'godspeed' WITH GRANT OPTION;
  • FLUSH PRIVILEGES;

[只給予帳號部份資料庫權限]

  • GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON dbname.* TO '帳號'@localhost IDENTIFIED BY '密碼';

[安裝 PHP]
# yum -y install php php-devel

其他的依需求安裝 php-mysql php-ldap php-odbc php-mbstring php-gd libjpeg* php-pear php-xml php-xmlrpc php-bcmath php-mhash

# rpm -qa | grep php 查看已安裝的php套件
# rpm -qa 查看所有已安裝套件,
# rpm -qi php-mysql 查詢特定套件安裝資訊(以php-mysql為例),
# rpm -ql php-mysql 查詢套件所安裝的檔案(以php-mysql為例)

# service httpd restart (/etc/init.d/httpd restart) 重新啟動 httpd 服務
# vi /etc/php.ini ;編輯設定檔

測試 php 
#vim /var/www/html/phpinfo.php ;寫一個測試php的網頁放入主站台內 
<?php phpinfo (); ?>

arrow
arrow

    Godspeed 發表在 痞客邦 留言(0) 人氣()