方法一:
到 https://www.cpan.org/ 搜尋要安裝的 module
目前分類:系統管理 (432)
- Jan 17 Tue 2023 15:31
安裝 perl modules 方法
- Jan 11 Wed 2023 11:01
debian linux 找不到 showmount 指令 ?
showmount: command not found
root@debian:~# apt-cache search showmount
nfs-common - NFS support files common to client and server
root@debian:~# apt install nfs-common
- Jan 11 Wed 2023 10:27
在虛擬機內安裝虛擬機
編輯設定 > 虛擬硬體 > CPU > 硬體虛擬化 > 勾選向客體作業系統公開硬體協助虛擬化
- Jan 11 Wed 2023 10:17
進入 vmware esxi guest os 的 bios
兩個方法
1. 編輯設定 > 虛擬機選項 > 開機延遲 > 填入秒數 > 在開機畫面時按 F2 進入 BIOS
2. 編輯設定 > 虛擬機選項 > 強制執行BIOS設定 > 勾選在虛擬機器下次開機時,強制進入 BIOS 設定畫面 (只會生效一次)
- Jan 07 Sat 2023 17:10
安裝 fail2ban 阻擋暴力破解帳號密碼
阻擋暴力破解除了防火牆、OTP、MFA 外,還可以安裝 fail2ban 來阻止暴力破解
安裝方式
apt install fail2ban
- Dec 19 Mon 2022 16:26
透過 traefik 自動將 http 轉址到 https
類似 apache 等 web server 的 rewrite rule 功能
command:
- "........"
- "........"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure" ## force redirect to https
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
- "--entrypoints.web.http.redirections.entrypoint.permanent=true"
- "--entrypoints.websecure.address=:443"
測試
root@lab:/home/lab# curl -I http://lab.pass.tw/testurl
HTTP/1.1 308 Permanent Redirect
Location: https://lab.pass.tw/testurl
Date: Mon, 19 Dec 2022 08:28:03 GMT
Content-Length: 18
Content-Type: text/plain; charset=utf-8
- Dec 16 Fri 2022 10:05
紀錄crontab 的輸出及錯誤訊息
以前在 troubleshooting 或是 debug crontab 的時候,習慣會去看一下 /var/mail 下面的郵件
正常的輸出及錯誤訊息都會記錄在郵件裡面
但現在的Linux 預設都沒有安裝MTA
所以如果不想額外安裝或是沒有權限可以安裝的話
可以直接輸出在自訂的log 內
如
* * * * * /scripts/backup.sh >> /var/log/backup.log 2>&1
- Dec 08 Thu 2022 15:04
增加gcp 硬碟空間
登入ssh, 檢查調整前硬碟狀況
root@example:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 80G 0 disk
└─sda1 8:1 0 80G 0 part /
確定 filesystem 是否為 ext4
root@example:~# df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 371M 76M 295M 21% /run
/dev/sda1 ext4 79G 71G 4.6G 94% /
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
登入 gcp console,選擇要加大空間的硬碟 > 編輯 > 直接指定想要的硬碟大小,只能加大,不能縮小
假設原來是80G,想增加至 100G,直接填100G 即可,最大可擴充到64T
在gcp 介面調整硬碟大小後,sda 已經變100G
root@example:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
└─sda1 8:1 0 80G 0 part /
root@example:~# parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) resizepart
Partition number? 1
Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?
Yes/No? Yes
End? [85.9GB]? 100%
(parted) quit
Information: You may need to update /etc/fstab.
root@example:~# partprobe /dev/sda
root@example:~# resize2fs /dev/sda1
resize2fs 1.43.4 (31-Jan-2017)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 10, new_desc_blocks = 13
The filesystem on /dev/sda1 is now 26213888 (4k) blocks long.
檢查sda1 的空間是否已經可以使用
root@example:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.8G 0 1.8G 0% /dev
tmpfs 371M 76M 295M 21% /run
/dev/sda1 99G 71G 24G 76% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
root@example:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
└─sda1 8:1 0 100G 0 part /
參考資料
https://cloud.google.com/compute/docs/disks/resize-persistent-disk
- Dec 07 Wed 2022 16:42
編輯 docker-compose.yml 修改 adminer default port
adminer 預設 port 為 8080,雖然不是正規的 80,433
但也很容易跟其他port 衝到
修改方法1,將container 的8080/tcp 對應到 host的 8088/tcp
ports:
- 8088/8080
修改方法2
直接修改 container 的 listen port
ports:
- 8088:8088
command:
- 'php'
- '-S'
- '[::]:8088'
- '-t'
- '/var/www/html'
進到 container 中檢查
# docker exec -it adminer_test sh
/var/www/html $ netstat -na
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.11:40403 0.0.0.0:* LISTEN
tcp 0 0 :::8081 :::* LISTEN
udp 0 0 127.0.0.11:43328 0.0.0.0:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
- Dec 07 Wed 2022 14:56
centos 安裝 docker 環境
# yum install -y yum-utils
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
測試
# docker --version
Docker version 20.10.21, build baeda1f
安裝 docker-compose
# curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
測試
# docker-compose --version
docker-compose version 1.27.4, build 40524192
- Nov 23 Wed 2022 15:17
停用 vim 的 visual mode
vim 的 visual mode 對有些人可能比較方便
但我就是用不習慣XD
要怎麼關閉呢
vi ~/.viminfo (如果沒有的話,請自行建立)
新增一行 set mouse-=a
或是直接下指令新增
echo "set mouse-=a" >> ~/.vimrc
source ~/.vimrc
- Nov 23 Wed 2022 10:32
華碩ASUS 筆記型電腦的insert 鍵在哪邊!!??
因為習慣的關係,常會用到insert key
但是剛拿到華碩的notebook 時,一時不知道該如何是好,insert 鍵到底在哪邊
原來是跟 del 同一個鍵,字超級小
要怎麼按 insert 鍵 : Fn + Shift + Delete
抱怨....好難用...設計華碩鍵盤的人在想什麼
- Nov 18 Fri 2022 15:03
docker 建立 apache web server 超快速
搜尋image
# docker search httpd
下載 image
# docker pull httpd
列出host 的images
#docker images
# docker images httpd
在host 建立web的documentroot ,並放一個測試檔案
# mkdir /home/www
# echo "helloworld" > /home/www/index.html
啟動docker,並且把 CONTAINER 的80 port 對應到host 的8000 port
把host 的 /home/www/ mount 在 CONTAINER 的 /usr/local/apache2/htdocs/ 下
# docker run -itd --name labweb -p 8000:80 -v /home/www/:/usr/local/apache2/htdocs/ httpd
進入 CONTAINER 的shell
# docker exec -it labweb bash
打開瀏覽器測試
http://host-ip:8000/
- Nov 15 Tue 2022 09:53
利用 windows 10 內建功能壓縮成 zip 檔
windows 內建的zip 解壓縮功能很方便也很直覺
如果沒有其他特殊需求,比如說要解 rar tar 7z 之類的檔案,其實真的可以不用再去下載其他的解壓縮工具
但壓縮成zip檔就沒那麼直覺了
以下是操作範例
1. 選取要壓縮的檔案或資料匣
2. 點擊右鍵 > 傳送到 > 壓縮的 (zipped) 資料匣 > 可選擇要不要重新命名
就完成了
- Nov 14 Mon 2022 15:14
解決 UNC 路徑不可當作 CMD 目前的目錄 問題
在批次檔內可以使用 %~dp0 指定工作路徑
但如果要指定網芳上的路徑,則會出現以下錯誤訊息
UNC 路徑不可當作 CMD 目前的目錄
解決方式,改用 pushd
如:
cd /d %~dp0
xxx.exe
yyy.exe
修改成
pushd %~dp0
xxx.exe
yyy.exe
popd
程式執行結束後如果不再需要的話,記得下 popd 刪除暫時的磁碟機代號
C:\>pushd /?
儲存目前目錄以供 POPD 命令使用,然後切換到指定的目錄。
PUSHD [path | ..]
path 指定要切換到的目錄。
如果您啟用擴充命令,PUSHD 命令會接受正常的磁碟機代號和路徑之外的網
路路徑。如果您指定了一個網路路徑,PUSHD 會建立一個代表該特定的網路
資源的暫時性磁碟機代號,然後以剛定義的磁碟機代號,變更目前的磁碟機
和目錄。暫時性磁碟機代號的配置是由 Z: 往下開始定義,方法是使用第一
個發現到未曾使用過的磁碟機代號。
C:\>popd /?
變更到用 PUSHD 命令儲存的目錄。
POPD
如果您啟用擴充命令,當您使用 POPD 命令將磁碟機從擴充的目錄堆疊
刪除時,POPD 命令會刪除由 PUSHD 所建立的暫時性磁碟機代號。
- Nov 14 Mon 2022 14:42
解決系統管理員身分執行批次檔找不到路徑問題
寫好一個批次檔 (*.bat) 要使用系統管理員身分執行時
出現以下錯誤訊息
不是內部或外部命令、可執行的程式或批次檔。
原因是開啟 cmd 時,預設路徑會在 c:\windows\system32 下
所以 .bat 內的程式沒有指定絕對路徑的話,就找不到可以執行的檔案
解決方式
假設你要執行的 exe 或是其他可執行檔跟 .bat 放在同一層路徑
在 .bat 前面加上 cd /d %~dp0
之後就可以接後續要執行的程式
如
cd /d %~dp0
someapp.exe /S /x
注意
cd 使用 /D 參數可以同時變更工作磁碟機及其工作目錄。
%~dp0 只有在批次檔內有效
一開始我傻傻的在 cmd 下測試很久都沒結果...
- Nov 11 Fri 2022 17:17
查詢samba dns 紀錄
samba dns 查詢格式
# samba-tool dns query
Usage: samba-tool dns query <server> <zone> <name> <A|AAAA|PTR|CNAME|MX|NS|SOA|SRV|TXT|ALL> [options]
example
列出 www.helloworld.local 的 A 紀錄
# samba-tool dns query localhost helloworld.local ftp A -U administrator
列出 helloworld.local 的 SOA 紀錄
# samba-tool dns query localhost helloworld.local @ SOA -U administrator
列出 helloworld.local 的所有紀錄
# samba-tool dns query localhost helloworld.local @ ALL -U administrator
- Nov 10 Thu 2022 15:24
debian/ubuntu 列出已經安裝的套件
$ sudo apt list --installed
或是
$ sudo dpkg-query -l
- Nov 09 Wed 2022 15:03
pfsense 透過 wan port 進入 web interface
預設僅能透過 lan port 登入 web interface,但有些狀況下需要透過 wan port 登入
解決方式
先按 8 登入 shell
在shell 下輸入: pfctl -d
之後可以再下 pfctl -e 回復
瀏覽器網址列輸入 http://wan-ip/ 測試
登入的預設帳號密碼為
admin / pfsense
- Nov 09 Wed 2022 09:16
透過AD GPO 強制讓使用者啟用螢幕保護程式
為了要保護個人電腦的資訊安全
讓使用者離開位置一段時間後進入螢幕保護程式
並需要重新輸入密碼後才可以解鎖
開啟群組原則管理工具
找到 Default domain policy > 編輯
進入到 使用者設定 > 原則 > 系統管理範本 > 控制台 > 個人化
總共有四個地方需要調整
1. 啟用螢幕保護裝置
已啟用
2. 以密碼保護螢幕保護裝置
已啟用
3. 螢幕保護裝置逾時
已啟用,並設定秒數 (最少1秒,最多86400秒)
4. 強制特定螢幕保護裝置
已啟用,輸入螢幕保護裝置執行檔時間(以3D文字為例,檔名為 ssText3d.scr )
被套用AD 群組原則的電腦,開啟螢幕保護裝置後可以看到很多欄位都已經反灰
無法讓使用者調整,但仍可讓使用者自訂要顯示的3D 文字