文档库 最新最全的文档下载
当前位置:文档库 › RHCSA_RHEL7

RHCSA_RHEL7

RHCSA_RHEL7
RHCSA_RHEL7

RHCSA

Network

https://www.wendangku.net/doc/a013852720.html,work Con?gure

1.不?用 NetworkManager

systemctl disable NetworkManager

vi /etc/syscon?g/network-script/ifcfg-enp0s3

ifcfg-enp0s3

TYPE=Ethernet

BOOTPROTO="static"

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

NAME=enp0s3

UUID=075eeba9-12a1-4b39-9791-dddd1450741a

ONBOOT="yes"

IPADDR0=192.168.0.23

PREFIX0=24

GATEWAY0=192.168.0.1

HWADDR=08:00:27:E4:29:8A

DNS1=8.8.8.8

NM_CONTROLLED="no"

注意紅字部份是要改的,?而NM_CONTROLLED 是?自已鍵?入。

2.使?用NetworkManager Command Line 管理[root@localhost ~]# nmtui

nmtui設IPv6 會當掉

?手動設定 IPv6 指令為

ip -6 addr add 1234:5:6700:890::1/64 dev enp3s0 可是這個只能暫時性使?用,重開就不?見了

以下是?用network manager 指令去設定 ipv4

nmcli con mod testprof ipv4.dns " 8.8.8.8 8.8.4 .4 “

nmcli -p con up “testprof”

如已存在設定值就?用

nmcli con mod enp0s3 ipv4.method manual ipv4.addresses "192.168.1.23/24

192.168.0.1”

指令說明:

con :其實是connection 縮寫

mod : modify 的縮寫 enp0s3 是PROFILENAME ( nmcli connection 會出現的名字)

ipv4.method 是參數 ( auto, link-local, manual, shared, disabled) , 因為要?手動輸?入 ip 所以要?用 ipv4.address “機器IP/subnet mask gateway ip” (有些?文件會寫成 ipv4.addr 這在RED HAT ?行不通)

nmcli con add en0ps3 ipv4.method manaual ipv4.addresss “192.168.1.123/24 192.168.0.2”

將設定完成的 Pro?le 啟動nmcli con up en0ps3

Chapter 2 NTPd 的取代品

設定 ipv4 及 ipv6 於?一條指令中

nmcli con add con-name enp0s3 ifname enp3s0 type ethernet ip4 192.168.0.123/24 \gw4 192.168.100.1 ip6 abbe::cafe gw6 abbe::caff 單純設定IP

nmcli con add con-name of?celan ifname enps8 type ethertnet ip4

timedatectl ?用來在?文字模式修改 設定值最常?用是

timedatectl set-timezone Asia/Taipei 因為全?文字模式無法使?用 system-con?g 的?工具

在RHEL chronyd 取代了 ntpd 的地位 systemctl enable chronyd systemctl start churned 設定?火

systemctl status chronyd

chronyd.service - NTP client/server

Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled) Active: active (running) since Thu 2014-12-18 10:14:09 CST; 1h 31min ago

Process: 669 ExecStartPost=/usr/libexec/chrony-helper add-dhclient-servers (code=exited, status=0/SUCCESS)

Process: 634 ExecStart=/usr/sbin/chronyd -u chrony $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 650 (chronyd)

CGroup: /system.slice/chronyd.service └─650 /usr/sbin/chronyd -u chrony

Dec 18 10:14:08 https://www.wendangku.net/doc/a013852720.html, chronyd[650]: chronyd version

Chapter 3 using command line to do text processing .

使?用?nd , cat 作?文字內容處理

?用vi 先將語系設好

vi /etc/environment

LANG=en_US.utf-8

LC_ALL=en_US.utf-8

在指令模式中

#source /etc/environment

將特定字串找出insert ?至新?文字檔

grep 'myg' /usr/share/dict/words >> /root/search-keyword.tct

找出特定使?用者的檔案將其複製到

?nd /home -user username -exec cp{} /dest/directory/ \; example: ?nd /home -user visitor -exec cp {} /root/found-?les \;

Chapter 4 常?用 command

?用來查看幫助?文件的`

man

whatis

apropos apropos - search the manual page names and

descriptions

info read Info documents

Chapter Security

1.Firewall

RHEL 7 在FIREWALL 上不單單是 IPTABLES ,?而是由FIREWALLD 去管理多個ZONE,再將這些設定轉成IPTABLE語法。?

systemctl status ?rewalld

?rewalld.service - ?rewalld - dynamic ?rewall daemon

Loaded: loaded (/usr/lib/systemd/system/?rewalld.service; enabled)

Active: active (running) since Thu 2014-12-18 10:14:12 CST; 1h 58min ago

Main PID: 609 (?rewalld)

CGroup: /system.slice/?rewalld.service

└─609 /usr/bin/python -Es /usr/sbin/?rewalld --nofork --nopid

Dec 18 10:14:08 https://www.wendangku.net/doc/a013852720.html, systemd[1]: Starting ?rewalld - dynamic ?rewall daemon...

Dec 18 10:14:12 https://www.wendangku.net/doc/a013852720.html, systemd[1]: Started ?rewalld - dynamic ?rewall daemon.

[root@rhelvm1 ~]# ?rewall-cmd --state

running

列出??目前預設的Firewall

?rewall-cmd --get-default-zone

public

列出運?行中的Zones

?rewall-cmd --get-active-zones

public

interfaces: enp0s8 virbr0

列出可連線的服務

?rewall-cmd —list-services

dhcpv6-client ssh

?rewall-cm - - zone=internal

Zone

?rewall-cmd block任何進?入的連線都

BLOCK 掉

dmz?非交戰區,跟內部系統

有限制的連線

drop任何進?入的連線都Drop

external

internal

home

Firewall-cmd 使?用範例

#?rewall-cmd - - zone=public - -permanent - -add-service=ftp (只加服務)

#?rewall-cmd - - reload

說明:?rewalld 是為了IPTABLES 加了個?一層管理界?面

分多個ZONE 作管理。上表說明了有多個ZONE 的型態

# 基本上在FIREWALL 已經定義好了多個服務的 PORT,直接套?用即可。

#設定完成後必需作?一次 Reload

?rewall-cmd 常?用參數

# - - zone= 指定那個Zone

# - - permanent 永久

# - - add-service=

# 可?用 - - get-services 取得以下內建的服務名稱

# (amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https)

#如果超出這些設定範圍時,像是?自建的SERVICES 請?用以下指令

# - - add-port= 8888/tcp # 8888 是 PORT 號, TCP 是協定,同樣的PORT可能會有TCP / UDP 2 種協定

RHCE 7 應該考不到 Rich-Rule

# 另?一個重點在於 rich-rule 就是針對?非常細項在作處!

rich_rule 此連結來?自於Fedora,寫的?比較完整

#簡單介紹 Rich-rule

#?rewall-cmd - - add-rich-rule=‘rule service family=“ipv6” source address =“192.168.0.22” drop’

family= ipv6/ipv4 . 來源IP,??目的IP

也可以是來源IP ,??目的特定服務或PORT ,作 drop , accept , reject

Chapter Security

SELinux 相關的指令

指令功?用

sestatus ?目前SELinux運作情況回報?目前SELinux運作情況

setsebool 設定預定義的功能選項

getsetbool getsebool -a 去知道所有功能情況

chcon 可以暫時將?一個檔案設定為那?一Bool 群組使?用semanage semanage boolean -l 可以列出所有定義。

semanage boolean -m - -on xxxx_xxxx_xxxx 啟動

boolean,port

-m modify

-l list

-d delete

-E extract

-S store

#sestatus

SELinux status: enabled

SELinuxfs mount: /sys/fs/selinux

SELinux root directory: /etc/selinux

Loaded policy name: targeted

Current mode: enforcing

Mode from con?g ?le: enforcing

Policy MLS status: enabled

Policy deny_unknown status: allowed

Max kernel policy version: 28

如想要知道現在已經開放的 selinux 參數可看以下

#more /etc/selinux/targeted/modules/active/booleans.local

# This ?le is auto-generated by libsemanage

# Do not edit directly.

ftp_home_dir=1

在 SELinux 中 fcontext 光是有關system_u 這?一組屬性就有 4309

#semanage fcontext --list | awk '{print $(NF)}'| uniq | awk -F: '{ print $ 1,$3}' | uniq | grep -v '<>' | grep 'system_u' | less chcon 可以暫時變更檔案屬性

[root@rhelvm1 ~]# chcon -t docker_share_t abc [root@rhelvm1 ~]# ls -alrtZ abc

-rw-r--r--. root root uncon?ned_u:object_r:docker_share_t:s0 abc 在同?一層?目錄,如暫時變更?一屬性 ,管理權限會受影響

ls -alrtZ /var/www/html/

drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 ..drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 .

drwxr-xr-x. root root uncon?ned_u:object_r:httpd_sys_content_t:s0 conf <== 可以看到 使?用者為 uncon?ned_u , 不是 system , 但fcontext 仍是 httpd_sys_content_t . 但如將 fcontext 改成 docker_share_t 在httpd 服務即會出現 錯誤404。?如何將檔案fcontext 永久性變更

semanage fcontext -a -t httpd_sys_content_t /root/abc 下完指令檔案會在下?一次重啟時才會變更可以檢查 以下檔案確認

cat /etc/selinux/targeted/contexts/?les/?le_contexts.local # This ?le is auto-generated by libsemanage # Do not edit directly.

/root/abc system_u:object_r:httpd_sys_content_t:s0刪除 屬性

此表是?用於對映各個權限所?用到的指令 前2

欄是?用於 傳統權限控管 ,後?面是SELinux 的部份

chmod 可作變更的chown,chgrp

semanage login

semanage fcontent

drwxr-xr-x. root root system_u httpd_sys_content_t:

semanage fcontext -d /root/abc

再次檢視/etc/selinux/targeted/contexts/?les/?le_contexts.local

來確認。?

但是這都不會對?目前檔案屬性變更,在使?用以下指令在才會有?用restorecon -R -v /root/abc

[root@rhelvm1 ~]# semanage login --list

Login Name SELinux User MLS/MCS Range Service __default__ uncon?ned_u s0-s0:c0.c1023 *

root uncon?ned_u s0-s0:c0.c1023 *

system_u system_u s0-s0:c0.c1023 *

相关文档