UFSの備忘録 % Home / Categories

FreeBSD備忘錄

Created 2018-06-03 / Updated 2022-11-22

一、通用:

安全补丁

# freebsd-update fetch
# freebsd-update install

小版本更新(13.0 -> 13.1)

# freebsd-update -r 13.1-RELEASE upgrade
# freebsd-update install

更新pkg

# pkg update
# pkg upgrade

crontab相关

从左到右依次为「分、时、日、月、星期」:

* * * * *    <要执行的命令>

每隔2分钟执行一次命令:

*/2 * * * *    <要执行的命令>

crontab的shell默认为/bin/sh,为便于使用tcsh下设置的环境变量,我把它改成/bin/tcsh

% crontab -e
SHELL=/bin/tcsh

重啟系統

# shutdown -r now

关机

# shutdown -p now

添加用戶

# adduser

系统邮件相关

刪除所有未讀郵件:

$ mail
& d *

刪除所有已讀郵件:

$ mail -f
& d *

中文郵件亂碼解決:

$ vi mailfile.txt
### 內容開始 ###
Subject: 郵件主題
Content-type: text/plain; charset=utf-8

郵件內容
...略
### 內容結束 ###

$ sendmail 收件人 < mailfile.txt

這樣,對方收到你的郵件就不會亂碼了。

轉發root的郵件:

# vi /etc/aliases
root: xxx <-加上這一行

運行newaliases命令使之生效:

# newaliases

此後發給root的郵件都會轉發給xxx用戶。

二、VPS用:

軟件包

# pkg install nginx-lite
# pkg install py38-certbot
# pkg install py38-sqlite3
# pkg install rsync

各種配置

# vi /etc/rc.conf
firewall_enable="YES"
firewall_script="/usr/local/etc/ipfw.rules"
nginx_enable="YES"
ntpdate_enable="YES"
ntpdate_flags="-b time.google.com"

# vi /etc/sysctl.conf
net.inet.ip.fw.verbose_limit=5

SSH相关

先確保VPS上已開啟了sshd:

VPS # vi /etc/rc.conf
sshd_enable="YES"

在本地生成一對密鑰:

$ ssh-keygen -t rsa -b 4096

複製公鑰到VPS:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip

或:

$ cat ~/.ssh/id_rsa.pub | ssh user@ip "mkdir -m 700 ~/.ssh; cat >> ~/.ssh/authorized_keys; chmod 600 ~/.ssh/authorized_keys"

修改SSH端口號並禁止密碼登錄,只允許密鑰登錄,只允許指定用戶登錄:

VPS # vi /etc/ssh/sshd_config
PermitRootLogin without-password
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
Port xxx
AllowUsers user1 user2 ...

重啟sshd:

VPS # service sshd restart

編輯本地文件~/.ssh/config並加入以下內容:

Host 名稱(如:freebsd)
  HostName IP地址
  User 用戶名(如:root)
  Port 端口號(如:22)
  IdentityFile 你的私鑰(如:~/.ssh/id_rsa)

用SSH連接VPS:

$ ssh freebsd(上面Host部分的名稱)

更改私钥passphrase:

$ ssh-keygen -p -f ~/.ssh/id_rsa
Categories: [FreeBSD]