這種服務的啟動方式則是藉由一個統一的 daemon 來負責喚起服務,這個特殊的 daemon 就被稱為 super daemon
當沒有客戶端的請求時,各項服務都是未啟動的情況,等到有來自客戶端的要求時, super daemon 才喚醒相對應的服務,當客戶端的請求結束后,被喚醒的這個服務也會關閉并釋放系統資源,這種模式的運行示意圖如下
這種模式的優缺點:
super daemon 的處理模式有兩種,分別是這樣:
以 daemon 提供服務的的工作狀態來區分,又可以將 daemon 分為兩大類
守護進程(daemon)命名守則:就是在與原有的單詞后面加上一個 d
/etc/services
啦,不過這個東西最好不要隨便改,因為都是遵循互聯網的協議的/etc/init.d/*
:啟動腳本放置處/etc/sysconfig/*
:各服務的初始化環境配置文件/etc/xinetd.conf, /etc/xinetd.d/*
:super daemon 配置文件/var/lib/*
:各服務產生的數據庫/var/run/*
:各服務的程序之 PID 記錄處/etc/init.d/*
目錄下尋找相關的啟動腳本來啟動服務參考文章:
systemctl使用指南:CentOS 7.x systemd對比CentOS 6.x daemon
Linux中的兩種守護進程stand alone和xinetd
最簡明扼要的 Systemd 教程,只需十分鐘
/usr/lib/systemd
里面查看,下級目錄分別有system和user放置系統和用戶的unit 配置文件cat sshd.service
可以得到下面的內容,可以看到配置文件分為 unit、service和install三個部分[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s[Install]
WantedBy=multi-user.target
unit 部分:啟動順序與依賴關系
service 部分:啟動行為
install 部分
相關命令
=> 查看系統默認的 target
systemctl get-default=> 查看 multi-user.target 包含的所有服務
systemctl list-dependencies multi-user.target=> 切換到另一個 target
sudo systemctl isolate shutdown.target
[Unit]
Description=Multi-User System
Documentation=man:systemd.special(7)
Requires=basic.target
Conflicts=rescue.service rescue.target
After=basic.target rescue.service rescue.target
AllowIsolate=yes
=> 重新加載配置文件
sudo systemctl daemon-reload=> 重啟相關服務
sudo systemctl restart ssh
?
ldd /PATH/TO/PROGRAM|grep libwrap.so
/etc.hosts.allow
文件,另一個是/etc/hosts.deny
文件,這兩個文件使用的時候先訪問allow后訪問deny,具體的工作原理如下- ALL:代表全部的 program_name 或者是 IP 都接受的意思,例如 ALL: ALL: deny
- LOCAL:代表來自本機的意思,例如: ALL: LOCAL: allow
- UNKNOWN:代表不知道的 IP 或者是 domain 或者是服務時;
- KNOWN:代表為可解析的 IP, domain 等等信息時;
只允許 140.116.0.0/255.255.0.0 與 203.71.39.0/255.255.255.0 這兩個網段
和203.71.38.123 這個主機可以進入我們的 rsync 服務器;
此外,其他的 IP 全部都擋掉!
[root@www ~]# vim /etc/hosts.allow
rsync: 140.116.0.0/255.255.0.0
rsync: 203.71.39.0/255.255.255.0
rsync: 203.71.38.123
rsync: LOCAL[root@www ~]# vim /etc/hosts.deny
rsync: ALL <==利用 ALL 配置讓所有其他來源不可登陸
sshd服務不允許172.16.0.0/16,但允許172.16.1.3訪問
/etc/hosts.deny
sshd : 172.16. EXCEPT 172.16.1.3
%h (hostname), %a (address), %d (daemon)
等變量[root@www ~]# vim /etc/hosts.deny
rsync : ALL: spawn (echo "security notice from host $(/bin/hostname)" ;\echo; /usr/sbin/safe_finger @%h ) | \/bin/mail -s "%d-%h security" root & \: twist ( /bin/echo -e "\n\nWARNING connection not allowed.\n\n" )
?
ps
來觀察整個系統上面的所有服務是比較妥當的netstat
來查閱啦systemctl enable xxxx
就可以設置開機自啟了ntsysv
就可以進入類圖形接口來管理服務的開機啟動注意:在不同的發行版中,各個日志文件的名字可能不一定相同
rsyslogd
這個服務來完成的,配置文件是 /etc/rsyslog.conf
-
代表日志先寫入緩沖區,再寫入日志文件:omusrmsg:*
代表以廣播的方式通知所有的人. .= .!
分別代表高于該等級(含)記錄日志,等于這個等級進行日志記錄、不等于該等級進行記錄vim /etc/sysconfig/rsyslog
,配置SYSLOGD_OPTIONS="-m 0 -r"
/etc/init.d/syslog restart
netstat -lunp | grep syslog
vim /etc/syslog.conf
*.* @192.168.1.100 => 下面的 IP 就是服務器的地址
?
/etc/logrotate.conf 、/etc/logrotate.d/
# 底下的配置是 "logrotate 的默認配置值"
weekly <==默認每個禮拜對登錄文件進行一次 rotate 的工作
rotate 4 <==保留幾個登錄文件呢?默認是保留四個!
create <==由於登錄文件被更名,因此創建一個新的來繼續儲存之意!
#compress <==被更動的登錄文件是否需要壓縮?如果登錄文件太大則可考慮此參數啟動# 將 /etc/logrotate.d/ 這個目錄中的所有文件都讀進來運行 rotate 的工作!
include /etc/logrotate.d# 這個是針對個別文件的配置
/var/log/wtmp { <==僅針對 /var/log/wtmp 所配置的參數monthly <==每個月一次,取代每周!minsize 1M <==文件容量一定要超過 1M 后才進行 rotate (略過時間參數)create 0664 root utmp <==指定新建文件的權限與所屬帳號/群組rotate 1 <==僅保留一個,亦即僅有 wtmp.1 保留而已。
}
# vi /etc/logrotate.d/syslog/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler \
/var/log/boot.log /var/log/cron {sharedscriptsprerotate/usr/bin/chattr -a /var/log/messagesendscriptsharedscriptspostrotate/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true/usr/bin/chattr +a /var/log/messagesendscript
}
[root@www ~]# chattr +a /var/log/admin.log
[root@www ~]# lsattr /var/log/admin.log
[root@www ~]# mv /var/log/admin.log /var/log/admin.log.1 ==>測試 a 是否起作用
[root@www ~]# vi /etc/logrotate.d/admin
/var/log/admin.log {monthly <==每個月進行一次size=10M <==文件容量大於 10M 則開始處置rotate 5 <==保留五個!compress <==進行壓縮工作!sharedscriptsprerotate/usr/bin/chattr -a /var/log/admin.logendscriptsharedscriptspostrotate/usr/bin/killall -HUP syslogd/usr/bin/chattr +a /var/log/admin.logendscript
}
[root@www ~]# logrotate -vf /etc/logrotate.d/admin
[root@www ~]# lsattr /var/log/admin.log*
logwatch
logwatch --detail low
即可進行日志文件的分析版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态