1.SSH連接

ssh root@192.168.1.1    #默認連接22端口   好比默認後面加了 -p 22

修改SSH登錄端口

vim /etc/ssh/sshd_config

修改:Port 50222

重啓ssh服務

systemctl restart ssh  (注意Ubuntu ssh   centos sshd)

ssh root@192.168.1.1 -p 50222

2.關於fail2ban

什麼是fail2ban:你的VPS好比一座大樓,fail2ban好比樓下保安,他監控/varlog/auth.log日誌,如果輸入密碼錯誤5次,則1小時不讓他進來

wget --no-check-certificate https://raw.githubusercontent.com/FunctionClub/Fail2ban/master/fail2ban.sh && bash fail2ban.sh 2>&1 | tee fail2ban.log

核心點:fial2ban針對日誌文件,對IP進行登錄限制

3.systemctl檢查系統服務命令

systemctl list-unit-files  #查看服務開機啓動狀態

systemctl disable service_name   #關閉指定服務的自動啓動

systemctl enable service_name    #開啓指定服務的自動啓動

3.1如何註冊為系統服務

在/etc/systemd/system/下創建某xxx.service

示例:

vim /etc/systemd/system/hello-demo.service

[Unit]
Description=Hello Systemctl Demo Service
[Service]
Type=oneshot
ExecStart=/bin/echo "hello systemctl"
[Install]
WantedBy=multi-user.target

重新加載systemd的配置

systemctl daemon-reload

systemctl start|stop|restart|status|edit|cat|enable|disable hello-demo

例如

systemctl start hello-demo

journalctl -u hello-demo  #查看hello-demo服務的日誌

journalctl -u hello-demo -f  #實時查看hello-demo服務日誌

journalctl -u hello-demo -n 50 -f #實時查看hello-demo最近50條日誌

3.2 如何刪除系統服務

systemctl stop hello-demo   #停止服務(如果正在運行)

systemctl disable hello-demo #禁止開機自啓動

rm /etc/systemd/system/hello-demo.service #刪除服務文件

systemctl daemon-reload  #重新加載配置

上面的服務類型是Type=oneshot

所以都不需要stop   只需要刪除文件  重新加載配置即可

除了/etc/systemd/system/下自建服務,還可以在/usr/lib/systemd/system/ 和/lib/systemd/system/

4.系統防火牆

ufw enable #啓動防火牆

ufw status #查看防火牆狀態

ufw disable #禁用防火牆

ufw allow 22/tcp  #開放22端口

ufw delete allow 22/tcp  #關閉端口

5.關機重啓命令

reboot  #重啓

shutdown -h now #現在關機

shutdown -h +5 #5分鐘之後關機

systemctl poweroff #現在關機  也是關機最終執行的

關機命令最終使用了

systemctl poweroff

6.修改Hostname和Hosts映射

6.1 主機名修改

hostname #查看主機名

hostnamectl set-hostname xxxx  #設置主機名  然後重連ssh可以看到主機名改了

還有一種方式

vim /etc/hostname   #編輯主機名文件

hostname -F /etc/hostname  #強制重新加載   然後重連ssh

6.2 修改hsots映射

Hosts映射解釋:是一個本地,優先於DNS的域名解析機制,例如你訪問www.taobao.com,域名解析機制會先查瀏覽器的,然後查本地hosts文件   檢查www.taobao.com是否有對應IP  如果有,就訪問對應的IP,如果沒有再去外部的DNS解析

Linux中也是一樣道理  文件在/etc/hosts

cat /etc/hosts  #查看

7.添加修改用户並給與sudo權限

7.1添加用户

注意兩個文件 /etc/passwd (用户文件)   /etc/shadow (用户密碼文件)

adduser hrui  #會自動創建家目錄    useradd不推薦(比較老)  

然後設置密碼  注意 root創建之後 root可以設置密碼

Ubuntu使用指南(一) - 小微的温馨咖啡小屋 -_bash

passwd hrui

查看用户是否添加成功

cat /etc/passwd | grep hrui

或者

grep hrui | /etc/passwd

7.2 刪除用户

deluser hrui #保留家目錄

deluser --remove-home hrui #刪除用户 並刪除用户家目錄

7.3 給與用户sudo權限

usermod -aG sudo hrui

7.4 給與用户全部權限

visudo

hrui ALL=(ALL:ALL) ALL #給與該用户全部權限 ctrl+o保存  ctrl+x退出

7.5 禁止用户登錄

usermod -s /usr/sbin/nologin hrui

Ubuntu使用指南(一) - 小微的温馨咖啡小屋 -_根目錄_02

7.6 恢復登錄

usermod -s /bin/bash hrui

8.軟件管理apt軟件包管理器

安裝

apt install xxxx   #例如apt install net-tools

刪除

apt remove xxxx  #例如 apt remove net-tools

關於 /etc/apt/sources.list  該文件用來定義去哪裏下載東西

9.文件相關

9.1 目錄切換和查看

pwd  #查看當前所在目錄

cd /  #到目錄

cd xxx #到當前目錄所在的xxx文件夾

cd ~  #進入家目錄   等同於 cd ~/

ls  或者  ls -a  或者 ll  自己感受     .開始的文件是隱藏文件或者隱藏文件夾

9.2 文件、文件夾的創建 刪除、移動和複製

touch xxx  #創建某個文件

mkdir  xxx  #創建文件夾   mkdir /xx/xxx/xxxx

rmdir xxx  #xxx必須是空的文件夾

rm xxx #文件可以直接刪除

rm -rf xxx  #遞歸刪除xxx文件夾及裏面所有內容

mkdir -p /xxx/xxxx/xxxxx  #創建多層 即使xxxx不存在也會創建

cp /file /file2/a  #如果是文件 可以直接複製  如果是文件夾 -r  遞歸複製

cp -r /file /file2/a #複製跟目錄下的文件(或者文件夾)到根目錄下的file2裏的a裏面

移動

mv file1 file2  #將file1重命名file2

mv file1 /xxx/xxxx/xxxx/ #移動到xxxx下名字不變 如果xxxx不存在 直接改名為xxxx

9.3 文件查看

cat xxx  #全部在控制枱打印

head xxx   #控制枱打印文件前10行

head -n 20 xxx  #顯示文件前20行

more xxx  #可以一頁一頁翻 空格下一頁  b上一頁  q退出

less xxx #支持鍵盤上下鍵翻頁

tail xxx  #顯示文件最後前10行

tail -n 20 -f xxx #實時刷新展示文件末尾20行  查看日誌文件常用

10 echo輸出

echo "hello world" > xxx   #每次都會先清空  再輸入

echo "hello world">>xxx  #追加

11.用户權限管理

- - - - - - - - - -         #第一個代表文件類型  後面分別是 文件擁有這(3個) 文件擁有者羣組(3個) 不是該用户也不在該羣組(3)

user/owner:文件擁有者

group:文件歸屬於某個羣組的人

others:不是該羣組也不是文件擁有者

id root  #查看用户 uid=0(root) gid=0(root)  組=0(root)

創建用户時默認創建了和用户明相同的用户組

11.1 文件類型 第一個"-"

d   #目錄文件

b   #塊特殊文件

c   #字符特殊文件

l    #符號鏈接

f    #命名管道

s   #套接字文件

11.2 權限類型

r   =  4  (讀)

w  =  2  (寫)

x   =  1  (執行)

--------------------------------------------

11.3 修改文件(文件夾)權限

u 表示擁有者    g 表示擁有者相同組   o 表示即不是擁有者 也不在相同組

chmod u+x /xxx  #給文件擁有者添加執行權限    d--x------

chmod +x /xxx    #給u g o 都添加執行權限   d--x--x--x

chmod g+r /xxx   #給同一組的用户添加讀權限   d---r-----

chmod u+r,g+w /xxxx #給文件所有者添加讀權限 相同組添加寫權限  dr---w----

chmod 777 xxx   #一個7等於rwx 也就是4+2+1  因此 777代表u g o 都有讀寫執行權限 drwxrwxrwx

修改文件權限的另一種寫法  上面的寫法是在本身的權限中添加新的權限

例如 文件原先權限是drwx---rw- 

 chmod g+r xxx  #那麼權限變成 drwxr--rw-  在原有權限基礎上進行添加

而如下是清空所有權限  再加賦予的權限   例如原先權限是drwx---rw-

chmod g=wx xxx   #那麼權限變成drwx-wxrw-

chmod g=wx,o=x xxx  #那麼權限變成drwx-wx-rwx

11.4 改變文件屬主

chown user1:group1 xxx #將文件所有者改為user1 組改為group1  root或者原歸屬者操作

chown user2 xxx  #改變文件歸屬為user2   #root或者文件原歸屬者操作

chown :group3 xxx  #改變文件歸屬組  #root或者文件原歸屬者操作

chmod和chown -R    遞歸

12.find文件查找

find  /  -name "hello" #從根目錄開始找名字是hello的文件或者文件夾

find / -name "hello" -type f  #從根目錄開始找名字是hello的文件

find / -name "hello" -type d  #從根目錄開始找名字hello的文件夾

find / -name "hello" -type l       #從根目錄開始找名字hello的符號鏈接

13.軟鏈接

ln -s /etc/letsencrypt/live/xxxx/privkey.pem /etc/xxx/cert.key

意思是將/etc/letsencrypt/live/xxxx/privkey.pem的內容和/etc/xxx/cert.key同步

/etc/xxx/cert.key好比是/etc/letsencrypt/live/xxxx/privkey.pem的快捷方式

這裏注意  不要提前創建/etc/xxx/cert.key文件  軟鏈接時候會自動創建

14.環境變量

14.1 什麼是環境變量

環境變量是操作系統中存放的,系統運行時的配置信息.------->是鍵值對形式

例如 PATH=/usr/bin:/usr/local/bin

Linux 下,環境變量常用於:

  • 指定命令的搜索路徑,例如 PATH 決定你在終端輸入 python 時去哪找這個可執行文件。
  • 保存系統或用户信息,如 HOME 表示當前用户的主目錄,USER 表示用户名。
  • 配置程序行為,比如 JAVA_HOMENODE_ENVLANG 等。

設置臨時環境變量

xxx=xxx的方式     好比一個"局部變量,存在於當前的bash會話的內存中"

Ubuntu使用指南(一) - 小微的温馨咖啡小屋 -_環境變量_03

env   #查看當前登錄用户的所有環境變量  這裏不會展示上面以 xxx=xxx的局部變量

echo $xxx   #查看某個具體環境變量的值

export ph=123  #臨時的環境變量  可以通過 env |grep ph 查看

unset ph  #這個只是暫時刪除  env裏面的這個變量  新開一個終端,不受影響,徹底刪除需要刪除配置文件裏的

14.2 個人環境變量和系統環境變量

系統環境變量:vim /etc/profile(推薦) 或者 /etc/bash.bashrc 

個人環境變量:~/.bashrc(推薦) 或者 ~/.profile