![[Web] SSH Terrapin Prefix Trun terrapin-scanner](https://live.staticflickr.com/65535/53811666377_96d52d86df_z.jpg)
有一台主機被掃出來有 SSH Terrapin Prefix Truncation Weakness。
因為是 Linux 主機,原本的建議修補方式是 vi /etc/ssh/sshd_config,在最後面加上:
小攻城師 發表在 痞客邦 留言(0) 人氣(25)
今天發現有台 Linux 上掛載的網路磁碟機好像斷線了。先下 df 指令確認有沒有連上:
$ df -k
小攻城師 發表在 痞客邦 留言(0) 人氣(2,679)
接續上次講的檔案權限。
【特殊權限】
一般檔案的權限雖然可以表示成如 755 等型式,但其完整權限應該是 0755。這邊要討論的是特殊權限的部分。
真正的密碼檔路徑在 /etc/shadow,這個檔案不能讀、但是我們更改密碼時可以寫入,因此這指涉特殊權限。
特殊權限有以下:
小攻城師 發表在 痞客邦 留言(0) 人氣(1,118)
下午繼續講 command line 指令。
變更語系 (locale):
英文:
$ export LC_ALL=C
繁體中文:
$ export LC_ALL=zh_TW.UTF8
輸出入導向 (I/O redirection):
stdin (fileno.: 0) default = keyboard
stdout (fileno.: 1) default = monitor
stderr (fileno.: 2) default = monitor
預設的 stdout 與 stderr 輸出是將結果列印在螢幕上,不過也可以把資料輸出至檔案。
$ ls / > 123.txt
也可以把結果附加至既有的檔尾。
$ ls / >> 123.txt
stdout 與 stderr 的內容如果要附加在同一個檔案裡,不可以直街寫成以下的寫法:
$ ls / wgwgwgwgwg 2> stdout.txt > stdout.txt
如果要讓 stderr 附加在 stdout 之後,可以寫成這樣:
$ ls / > 123.txt wgwgwgwgwgwg 2>&1
檔案讀入再輸出到其他檔案,例如把 123.txt 輸出到 abc.txt
$ cat < 123.txt > abc.txt
不可以同時輸出入同一個檔案,例如:
cat < passwd > passwd
檔案內容會被清空。
sort 可以排序資料;亦有反序排序的功能,加上 -r 參數即可達成。利用管線 (pipe, |)可以組合多個指令的特性,可由以下指令取出檔案 test 中的末五筆資料(降冪輸出)。
cat test |sort -r| head -n 5
sort 時,預設會以文字的方式來比較排序資料,因此排序 1~10 時,排序的順序會變成:1, 10, 2, 3, 4, 5...,與我們一般認知認為 10 應該出現在最末不相同。如果想以數字的方式排序比較,可以加上 -n 參數:
sort -n list
也可以利用 cut 取出檔案中的特定內容。
cat /etc/passwd | cut -d: -f2
即使不寫程式以可以藉由指令列出現在使用者的家目錄,以下兩個指令意義相同:
ls /home/`whoami`
ls /home/$(whoami)
grep 是篩選特定字串,例如以下,即是在 passwd 中找出含有 willie 的那行:
cat /etc/passwd | grep willie
或者也可以這樣用:
grep testuser /etc/passwd
(grep 後先接要查詢的關鍵字,再來才是要搜詢的標的)
也可以結合 cut,從 passwd 檔案中取得使用者 willie 的 group id,再到 group 檔案中取得其群組名稱:
cat /etc/group | grep `cat /etc/passwd | grep willie | cut -d: -f4` | cut -d: -f1
(我的版本)
grep `cat /etc/passwd | grep willie | cut -d: -f 4` /etc/group | cut -d: -f1
(吳老師的版本)
【中場時間:快快樂樂學VIM】
在 Linux 下,直接在 command line 輸入 "vi" 或 "vi [檔名]" 就可以進入 VIM 編輯器內。
VIM 有三種模式: normal mode, insert mode, command mode
可以使用 esc 與 i 切換於 normal mode 與 insert mode 間,
或是使用 esc 與 : 切換於 normal mode 與 command mode 間。
離開時可以選擇:
q: 直接離開
wq: 存檔後離開
q!: 有修改內容時,不存檔強制離開
帳號管理 (account management)
- /etc/passwd
- 帳號名稱 (acc)
- password
- user id (uid)
- group id (gid)
- description
- 家目錄位址 (home directory)
- shell
- /etc/group
- 群組名稱
- 群組密碼
- group id (gid)
- optional user
對 UNIX 而言,權限是認 uid 不認帳號名的,所以若將 passwd 中任意帳號名稱的 uid 改成 0,下次登入時這個帳號就會有 root 權限。Linux 中預設 shell 是 /bin/bash。
相對於帳號的 /etc/passwd 與 /etc/shadow,群組也有兩個檔案 /etc/group 與 /etc/gshadow。群組也有密碼,不過幾乎不用到。
機器多的時候可能就會運用 LDAP 等集中式帳號密碼管理。
指令 addgroup 可以新增群組(gid 會自動分配):
$ addgroup groupname
adduser 則是新增使用者(gid 要先查好,在指令中自己配進去):
$ adduser --gid 1008 username
對應的指令則是 deluser 和 delgroup。
檔案權限 (permission)
- r: read (4), 檔案列表的權限。
- w: write (2), 新增修改刪除的設定權限。(刪除權限僅對資料夾而言,檔案若設定不可修改仍可被移除)
- x: excute (1), 進入目錄的權限。
檔案和資料夾均有 r, w, x 三種權限設定。
假設沒有 umask 的話,預設檔案權限是 666、資料夾權限是 777。一般使用者的 umask 的檔案權限預設是 0022 (Fedora 預設是 0002),新建檔案權限則是 666。umask 運算的規則為:umask 為 1 時則結果為 0,其他則為 1。
例如,若 umask 是 0002,則檔案權限為 664:
110110110 (666)
000000010 (0002)
--------- (轉換)
110110100 (664)
若 umask 是 0022,則檔案權限為 644:
110110110
000010010
---------
110100100
若要僅有使用者可讀寫,其他人皆不可讀寫,則 umask 可設為 0077,檔案權限則為 600:
110110110
000111111
---------
110000000
chmod: 變更檔案或資料夾權限
chown: 變更所有者
chgrp: 變更群組
chmod/chown/chgrp 都可以使用 -R 參數,將目錄之下的所有子目錄設定為相同權限。
chmod 777 -R /home/
777 也可以寫成語意型態:
chmod u=rwx, g=rwx, o=rwx filename
表示該檔案使用者、群組、所有者都可讀寫且可視。
chgrp/chown 只有 root 可以使用。
chown root:system filename
小攻城師 發表在 痞客邦 留言(2) 人氣(3,177)
一樣由吳老師講課,不過今天一直分心在看查號台…… orz
RPM 系列的 Distribution
- Fedora: 每六個月會釋出一次新版,基於穩定性考量,若作為伺服器的作業系統使用較不適宜
- RHEL: Red Hat Enterprise Linux
- CentOS: 由 RHEL 衍生出來的社群版本
小攻城師 發表在 痞客邦 留言(0) 人氣(496)
吳老師說進了 Linux 以後要回頭拿 windows 的檔案也不用重開機,直接把分割區掛進來就好了。
#sudo mount -t ntfs -o iocharset=utf8,uid=username,users /dev/hda1 /home/username/folder
username 就是目前登入的使用者身份,後面掛載的標的也不一定要掛在哪裡,把它掛到自己高興的地方就可以了。附帶一提,吳老師說這樣掛進來可以把檔案複製出來,不過不能直接修改檔案內容。
小攻城師 發表在 痞客邦 留言(0) 人氣(153)
昨天重開機回 Debian,結果 DNS 又不見了,金害……應該是那個什麼 network-manager 又自己開始活動了吧?沒有 lab 一姐的日子還是要有網路,所以來求教 Google 大神,擲筊數次得到一篇 Debian 設定網路教學文。
結論就是這樣子暫時治標:
#sudo vi /etc/resolv.conf
在裡面加上以下這行:
nameserver 168.95.1.1
設定好以後重新啟動網路:
#sudo /etc/init.d/networking restart
然後就……可以安心睡午覺了。XD
-----
話雖如此,還是繼續把剛才開的網頁看完,
不然我醒來應該就不想理它了。XD
裡面有一篇是每次開機自動把 DNS 資料重新寫入 resolv.conf,
不過它說要在 /etc/rcS.d/ 設定每次開機自動寫入的資訊,
可是 /etc/rcS.d/ 明明是資料夾不是檔案要怎麼塞我要寫入的資訊咧@_@
作者說寫入到 /etc/rc.local 就可以了,例如像這樣(IP 部分請改為你自己實際的 DNS server):
小攻城師 發表在 痞客邦 留言(3) 人氣(7,362)