2010年3月23日 星期二

忘了root密碼的解決方法

以單用戶方式進入系統,修改root的密碼然後再重新啟動即可。過程如下所示。
對於LILO:
當系統啟動到出現LILO引導畫面時,對於圖形引導方式按TAB鍵進入文本方式,然後在LILO處輸入linux single即可進入免密碼的控制台,進入以後使用passwd命令修改root的密碼即可。
對於GRUB:
當系統啟動到出現GRUB引導畫面時,按字母e鍵,進入GRUB編輯狀態。按鍵盤上或下鍵選擇相應的引導項,在選擇了一個引導項目後接字母e鍵進入 命令行編輯。在出現的命令行後添加“空格single”並按Enter返回編輯狀態,再按字母b即可以單用戶方式啟動系統,進入系統後使用passwd命令修改 root的密碼即可。

不用 sudo 以 non-root 身份用 Wireshark 抓封包

在 Ubuntu 上安裝好 Wireshark,想抓封包時卻找不到網路卡。原來必須執行 "sudo wireshark" 才有足夠的權限。這樣子除了麻煩之外,還有一個不方便:封包 存檔之後是屬於 root 所有,處理起來相當不便。

經過一番努力,找出幾個解決方案。

方案一:

最簡單的作法是安裝完 Wireshark 之後執行 "sudo chmod u+s /usr/bin/dumpcap"。這樣子就可以一般使用者的身份抓封包了。關鍵在於 "dumpcap" 就是那個需要 root 權限的部份,上述指令讓一般使用者也可以 root 的身份執行 "dumpcap"。

這種方法雖然簡單,但對講求安全的人來說卻不太妙。因為所有 人都可以執行這隻需要 root 權限的程式。方案二是一個改進的方法。

方案二:

改進的方式就是只開放給特定 group 的人以 root 身份執行 "dumpcap":

1. 執行 "sudo vi /etc/group" 並新增一個 group (建議叫做 "wireshark"),然後將自己加入此 group
2. 執行 "sudo chgrp wireshark /usr/bin/dumpcap",將 dumpcap 改為 wireshark group
3. 執行 "sudo chmod 4754 /usr/bin/dumpcap",只讓屬於 wireshark group 的人可以 root 身份執行 dumpcap

完成上述動作之後,重新登入讓 group 所屬生效。這樣你就可以用原本的身份抓封包了,封包存檔的所有也都屬於原本的身份。

參考資料:

* http://wiki.wireshark.org/CaptureSetup/CapturePrivileges

How to use simple speedtest in RaspberryPi CLI

  pi@ChunchaiRPI2:/tmp $  wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py --2023-06-26 10:4...