【Notes7】Samba/NFS服务器,Ntp,导出log,modprobe,进入ME刷bios,树莓派
文章目錄
- 1.Samba服務(wù)器:利用文件傳輸協(xié)議:ftp,http,SMB(Samba)
- 1.1 隱藏共享和拒絕訪問(wèn):無(wú)法在網(wǎng)上鄰居看到我們所共享的文件夾,但是通過(guò)unc路徑做具體指定,我們可以訪問(wèn)到該文件夾下
- 1.2 別名:別名配置文件要自己建立
- 1.3 免登陸名:啟用share級(jí)別(安全性最低,不需要通過(guò)用戶(hù)名認(rèn)證)
- 1.4 linux訪問(wèn)windows共享目錄:掛載
- 2.NFS服務(wù)器:linux和linux之間,也可共享給win客戶(hù)端
- 2.1 server:改ip和將目錄共享
- 2.2 client-linux:mount
- 2.3 client-windows:mount
- 3./etc/ntp.conf:restrict (什么可訪問(wèn)我并可修改我的時(shí)間)10.75.92.0 mask 255.255.255.0 nomodify(nomodify不能修改,只能訪問(wèn)同步走)
- 4.導(dǎo)出log:filenum=$(ls -l | wc -l) ,ls -tr | head -1
- 5.modprobe:要載入a module,但a module要求系統(tǒng)先載入b module時(shí),直接用insmod掛入通常都會(huì)出現(xiàn)錯(cuò)誤,modprobe倒是能夠知道先載入b module后才載入a module,如此相依性就會(huì)滿(mǎn)足
- 6.進(jìn)入ME刷bios:BIOS是一個(gè)程序,駐留在CMOS存儲(chǔ)器(重復(fù)可擦寫(xiě)),刷寫(xiě)B(tài)IOS的過(guò)程就是用新版本的BIOS文件通過(guò)專(zhuān)門(mén)的刷新軟件覆蓋舊版本的BIOS文件
- 7.樹(shù)莓派:是完整個(gè)人電腦,功耗非常大(相比于沒(méi)有soc的單片機(jī)),物聯(lián)網(wǎng)中要性能弱,所以樹(shù)莓派只用于教學(xué),樹(shù)莓派4性能更強(qiáng)并有了usb3.0口和千兆網(wǎng)卡,用來(lái)做NAS,但做局域網(wǎng)中NAS不需要這么高性能,路由器就行且功耗比樹(shù)莓派低的多
- 7.1 系統(tǒng)安裝:netstat -antp,arp -a
- 7.2 花式點(diǎn)亮LED:node red控制
1.Samba服務(wù)器:利用文件傳輸協(xié)議:ftp,http,SMB(Samba)
win下更改ip:本地連接右擊屬性,更改適配器。@market指market組。
如下第一行看本地源是否正常,第二行安裝samba。
如下start啟動(dòng)samba。
如下設(shè)置開(kāi)機(jī)自啟動(dòng)。
往一個(gè)目錄中寫(xiě)數(shù)據(jù),光有samba權(quán)限是不夠的,還要結(jié)合本地權(quán)限來(lái)看,如下如果不能完成寫(xiě)入操作,可能不是配置錯(cuò)了,可能和系統(tǒng)本地權(quán)限沖突,所以為了使本地權(quán)限不受影響,如下第一行就授予本地所有目錄完全權(quán)限。gpasswd是將用戶(hù)加入組中。
如下將本地用戶(hù)轉(zhuǎn)變?yōu)閟amba用戶(hù)即共享用戶(hù)。通過(guò)如下轉(zhuǎn)變可實(shí)現(xiàn)該用戶(hù)通過(guò)客戶(hù)端訪問(wèn)服務(wù)器時(shí)提供驗(yàn)證標(biāo)準(zhǔn)了。
如下都是在文件末尾新添加的內(nèi)容,都是逗號(hào),writeable=no指除了下行外都不能寫(xiě)。[manager]是共享名即對(duì)方能看到的網(wǎng)絡(luò)文件夾名稱(chēng),comment是可共享目錄的描述信息(可加可不加),valid_users指誰(shuí)可以訪問(wèn)。
如上保存后,如下重啟,status查看出running。
如下用管理員賬號(hào)登錄修改任何目錄沒(méi)問(wèn)題,其他用戶(hù)登錄只能進(jìn)去或修改自己的文件夾。
1.1 隱藏共享和拒絕訪問(wèn):無(wú)法在網(wǎng)上鄰居看到我們所共享的文件夾,但是通過(guò)unc路徑做具體指定,我們可以訪問(wèn)到該文件夾下
windows里只需在共享文件夾名后面加一個(gè)$符號(hào)就能實(shí)現(xiàn)隱藏共享了。linux的samba中需修改主配置文件。如下將manager目錄做一個(gè)隱藏。
如下可將win下更改設(shè)配器將ip改變,就可訪問(wèn)了。
1.2 別名:別名配置文件要自己建立
1.3 免登陸名:啟用share級(jí)別(安全性最低,不需要通過(guò)用戶(hù)名認(rèn)證)
如下guest這行可換成public=yes一樣效果。
1.4 linux訪問(wèn)windows共享目錄:掛載
如下右擊share文件夾屬性。
如下點(diǎn)擊應(yīng)用后點(diǎn)擊確定。
如上操作后share文件夾就有讀寫(xiě)權(quán)限了。如下設(shè)置win賬號(hào),因?yàn)槟J(rèn)禁止空密碼登錄。
如上準(zhǔn)備好了文件夾和賬戶(hù),如下cd /mnt ; mkdir win7,mount通過(guò)網(wǎng)絡(luò)掛載需要加參數(shù),linux掛載后再用mount指令看下。
2.NFS服務(wù)器:linux和linux之間,也可共享給win客戶(hù)端
2.1 server:改ip和將目錄共享
如下再ip address看下ip是不是192.168.0.1。
如下192.168.0.*也可以。
如下改完也要restart重啟服務(wù)。
2.2 client-linux:mount
如下雖說(shuō)給了nfs完全讀寫(xiě)權(quán)限,但任何讀寫(xiě)還受本身文件系統(tǒng)影響(win下有一個(gè)安全選項(xiàng)卡調(diào)節(jié)權(quán)限)。
2.3 client-windows:mount
控制面板-程序-打開(kāi)或關(guān)閉windows功能。
3./etc/ntp.conf:restrict (什么可訪問(wèn)我并可修改我的時(shí)間)10.75.92.0 mask 255.255.255.0 nomodify(nomodify不能修改,只能訪問(wèn)同步走)
:%d刪除文件整個(gè)內(nèi)容。
如下沒(méi)有加服務(wù)端地址。
如下的服務(wù)端地址不能同步。ntp.conf修改后10分鐘后才同步,主機(jī)器沒(méi)同步外網(wǎng),子機(jī)器(slaver)不能同步主機(jī)器(master)。
ntp服務(wù)啟動(dòng)了就不能使用ntpdate。
4.導(dǎo)出log:filenum=$(ls -l | wc -l) ,ls -tr | head -1
# auto_dump.sh #!/bin/bash work_path=$(pwd) conf_file_path="${work_path}/auto_dump.cfg" dst_dir_path="" search_path="/var/log"if [ $# -ne 1 ];thenprogram=$(basename "$0")echo "Usage: $program <dst_dir_path>"echo "Examples:$program /root/os_log/"exit elsedst_dir_path=$1 ficat $conf_file_path | while read conf_path_line dolast_file_path=$(basename ${conf_path_line})#last_file_path=${conf_path_line##*/}tmp=${conf_path_line%/*}last_dir_path=${tmp##*/} # network find $search_path -name $last_file_path | while read search_path_linedomkdir -p $dst_dir_pathdst_file_path=$dst_dir_path/tmp/$last_dir_path/mkdir -p $dst_file_pathcp $search_path_line $dst_file_pathdonecd $dst_dir_path/tmp/if [ ! -f $conf_path_line ];thenecho $conf_path_line" not found"fi done // auto_dump.cfg network/ip.log network/netstate.log network/route.log network/arp.log network/services.log hardware/dmidecode.log hardware/cmdline.log hardware/cpuinfo.log hardware/meminfo.log hardware/lsblk.log hardware/mount.log hardware/interrupts.log hardware/lspci.log hardware/smartctl.log hardware/modules.log hardware/version.log message/alert.log message/audit.log message/btmp.log message/crit.log message/debug.log message/dmesg.log message/err.log message/info.log message/messages.log message/notice.log message/syslog.log message/warning.log message/wtmp.log if [ -f $dst_dir_path/log.9.tar.gz ];thenrm $dst_dir_path/log.1.tar.gzfor((j=2;j<=$(($dst_dir_path_file_num-1));j++))domv $dst_dir_path/log.$j.tar.gz $dst_dir_path/log.$(($j-1)).tar.gzdonemv $dst_dir_path/log.tar.gz $dst_dir_path/log.9.tar.gz fiif [ -f $dst_dir_path/log.tar.gz ] && [ ! -f $dst_dir_path/log.9.tar.gz ];thenfor((i=1;i<=$(($dst_dir_path_file_num-1));i++))do if [ -f $dst_dir_path/log.$i.tar.gz ];thencontinuefimv $dst_dir_path/log.tar.gz $dst_dir_path/log.$i.tar.gzbreakdone fii=0 filenum=0 for i in $(ls) doif [ -f $i ]thenlet filenum+=1fiif [ $filenum==10 ];thenrm `ls -tr $(find . -type f -name "log_*") | head -1`breakfi doneif [ -f $dst_dir_path/log.tar ];thenmv $dst_dir_path/log.tar $dst_dir_path/log_$(date "+%Y-%m-%d_%H:%M:%S")_bak.tar fi5.modprobe:要載入a module,但a module要求系統(tǒng)先載入b module時(shí),直接用insmod掛入通常都會(huì)出現(xiàn)錯(cuò)誤,modprobe倒是能夠知道先載入b module后才載入a module,如此相依性就會(huì)滿(mǎn)足
insmod cpld_hq.ko(ko是kernel module,lsmod cpld_hq,rmmod cpld_hq)生成如下文件夾,sys_cpld在cpld_hq.c里命名,前面路徑在內(nèi)核指定。
i2cset -f -y 0 0x0d 0x40 0x40,寫(xiě)文件SYSCPLD_SYSFS_DIR=“/sys/bus/i2c/devices/0-000d”
6.進(jìn)入ME刷bios:BIOS是一個(gè)程序,駐留在CMOS存儲(chǔ)器(重復(fù)可擦寫(xiě)),刷寫(xiě)B(tài)IOS的過(guò)程就是用新版本的BIOS文件通過(guò)專(zhuān)門(mén)的刷新軟件覆蓋舊版本的BIOS文件
# BMC_BIOS_change.py# $interface = "1.0" import time import sys import os import SecureCRTdef boot_os():crt.Screen.WaitForString("localhost login:")crt.Screen.Send("admin" +chr(13))time.sleep (1)crt.Screen.WaitForString("Password: ")crt.Screen.Send("admin" +chr(13))time.sleep (1)crt.Screen.WaitForString("admin@localhost:~$")crt.Screen.Send("sudo su" +chr(13))time.sleep (1)crt.Screen.WaitForString("root@localhost:/home/admin# ")crt.Screen.Send("dmidecode -t 0" +chr(13)) # 查看BIOS信息time.sleep (1)def Checkinfo1():crt.Screen.WaitForString("root@localhost:/home/admin#",1)crt.Screen.Send("lspci |grep -i eth" +chr(13))time.sleep (1)crt.Screen.WaitForString("root@localhost:/home/admin#",1)crt.Screen.Send("lspci |grep -i 07:00.0" +chr(13))time.sleep (2)crt.Screen.WaitForString("root@localhost:/home/admin#")crt.Screen.Send("lsblk |grep -i sda" +chr(13))time.sleep (2)#############切換到BMC下###############crt.Screen.WaitForString("root@localhost:/home/admin#")crt.Screen.Send("\025"+"\022"+"\024"+"1 \r")crt.Screen.SendSpecial("VT_KEYPAD_ENTER")time.sleep (5)# crt.Screen.WaitForString("bmc-oob. login:")# crt.Screen.Send("root" +chr(13))# crt.Screen.WaitForString("Password:")# crt.Screen.Send("0penBmc" +chr(13))crt.Screen.WaitForString("root@bmc-oob:~#")crt.Screen.Send("boot_info.sh all" +chr(13))time.sleep (2)crt.Screen.Send("boot_info.sh reset bios master" +chr(13))crt.Screen.WaitForString("root@bmc-oob:~#")time.sleep (90)#############切換到Sonic下###############crt.Screen.WaitForString("root@bmc-oob:~#")crt.Screen.Send("\025"+"\022"+"\024"+"0 \r")crt.Screen.SendSpecial("VT_KEYPAD_ENTER")time.sleep (1)def Checkinfo2():crt.Screen.WaitForString("root@localhost:/home/admin#",1)crt.Screen.Send("lspci |grep -i eth" +chr(13))time.sleep (1)crt.Screen.WaitForString("root@localhost:/home/admin#",1)crt.Screen.Send("lspci |grep -i 07:00.0" +chr(13))time.sleep (2)crt.Screen.WaitForString("root@localhost:/home/admin#")crt.Screen.Send("lsblk |grep -i sda" +chr(13))time.sleep (2)#############切換到BMC下###############crt.Screen.WaitForString("root@localhost:/home/admin#")crt.Screen.Send("\025"+"\022"+"\024"+"1 \r")crt.Screen.SendSpecial("VT_KEYPAD_ENTER")time.sleep (1)crt.Screen.WaitForString("root@bmc-oob:~#")crt.Screen.Send("boot_info.sh all" +chr(13))time.sleep (2)crt.Screen.Send("boot_info.sh reset bios slave" +chr(13))crt.Screen.WaitForString("root@bmc-oob:~#")time.sleep (90)#############切換到Sonic下###############crt.Screen.WaitForString("root@bmc-oob:~#")crt.Screen.Send("\025"+"\022"+"\024"+"0 \r")crt.Screen.SendSpecial("VT_KEYPAD_ENTER")time.sleep (1)def Checkinfo3():crt.Screen.WaitForString("root@localhost:/home/admin#",1)crt.Screen.Send("lspci |grep -i eth" +chr(13))time.sleep (1)crt.Screen.WaitForString("root@localhost:/home/admin#",1)crt.Screen.Send("lspci |grep -i 07:00.0" +chr(13))time.sleep (2)crt.Screen.WaitForString("root@localhost:/home/admin#")crt.Screen.Send("lsblk |grep -i sda" +chr(13))time.sleep (2)#############切換到BMC下###############crt.Screen.WaitForString("root@localhost:/home/admin#")crt.Screen.Send("\025"+"\022"+"\024"+"1 \r")crt.Screen.SendSpecial("VT_KEYPAD_ENTER")time.sleep (1)crt.Screen.WaitForString("bmc-oob. login:")crt.Screen.Send("root" +chr(13))crt.Screen.WaitForString("Password:")crt.Screen.Send("0penBmc" +chr(13))crt.Screen.WaitForString("root@bmc-oob:~#")crt.Screen.Send("/var/log/./util.sh" +chr(13)) #####################time.sleep (2)def Main():crt.Screen.Synchronous = Truefor i in range (0,200):boot_os()time.sleep (2)Checkinfo1()boot_os()Checkinfo2()Checkinfo3()time.sleep (2) Main() # util.sh #!/bin/sh i=1 while(( $i<=3 )) doipmitool -b 1 -t 0x2c raw 0x2e 0xdf 0x57 0x01 0x00 0x01 #進(jìn)入ME恢復(fù)模式ret=$(/usr/bin/ipmitool -b 1 -t 0x2c raw 6 1 | awk -F " " '{print $15}') #查詢(xún)ME狀態(tài)if [ "$ret" = "00" ]; thenlogger -p user.info "Enter ME recovery mode successfully"spi_util.sh write BIOS1 imagebreakfiif [ "$ret" != "00" ]; thenlogger -p user.info "Three times to enter ME recovery mode failed"continuefi donei=1 while(( $i<=3 )) doipmitool -b 1 -t 0x2c raw 6 2 #退出ME ret=$(/usr/bin/ipmitool -b 1 -t 0x2c raw 6 1 | awk -F " " '{print $15}') #查詢(xún)ME狀態(tài)if [ "$ret" != "00" ]; thenlogger -p user.info "Exit ME recovery mode successfully"breakfiif [ "$ret" = "00" ]; thenlogger -p user.info "Three times to exit ME recovery mode failed"continuefi done exit7.樹(shù)莓派:是完整個(gè)人電腦,功耗非常大(相比于沒(méi)有soc的單片機(jī)),物聯(lián)網(wǎng)中要性能弱,所以樹(shù)莓派只用于教學(xué),樹(shù)莓派4性能更強(qiáng)并有了usb3.0口和千兆網(wǎng)卡,用來(lái)做NAS,但做局域網(wǎng)中NAS不需要這么高性能,路由器就行且功耗比樹(shù)莓派低的多
7.1 系統(tǒng)安裝:netstat -antp,arp -a
1.內(nèi)存卡插入讀卡器再插入電腦的usb接口,將u盤(pán)格式化為FAT32格式。如果右擊格式化沒(méi)有FAT32,用格式化fat32工具:http://www.ridgecrop.demon.co.uk/guiformat.exe。樹(shù)莓派系統(tǒng)官網(wǎng):https://www.raspberrypi.org/downloads/raspbian/。下載完系統(tǒng)(1.9G),用寫(xiě)盤(pán)工具(https://www.balena.io/etcher/或win32diskimager)將系統(tǒng)寫(xiě)入u盤(pán),寫(xiě)完后不要格式化其他盤(pán)。
2.樹(shù)莓派插上內(nèi)存卡,接上網(wǎng)線或連上wifi(連wifi,eth0信息為空,因?yàn)闆](méi)有連接網(wǎng)線,wlan0顯示內(nèi)網(wǎng)ip)用ifconfig查看網(wǎng)絡(luò)。service ssh start開(kāi)啟ssh服務(wù),樹(shù)莓派默認(rèn)用戶(hù)名pi,密碼raspberry,sudo netstat -antp可查看到當(dāng)前有22端口即ssh端口被監(jiān)聽(tīng),這時(shí)可關(guān)閉顯示器。
3.用自己電腦上的putty/xshell/securecrt新建一個(gè)ssh連接,pi@樹(shù)莓派內(nèi)網(wǎng)ip,可登錄樹(shù)莓派。如果忘了樹(shù)莓派內(nèi)網(wǎng)ip,可用win下cmd中輸入arp -a查看局域網(wǎng)下所有ip和mac對(duì)應(yīng)。
4.樹(shù)莓派網(wǎng)線和要訪問(wèn)的機(jī)器網(wǎng)線插在同一個(gè)小型交換機(jī)上(如果是網(wǎng)口需要先連自己電腦瀏覽器認(rèn)證網(wǎng)口)并且樹(shù)莓派的串口連接機(jī)器,本電腦就可以連接樹(shù)莓派再通過(guò)picocom -b 115200 /dev/ttyUSB0連接到機(jī)器。如果沒(méi)有樹(shù)莓派,本電腦插上機(jī)器的串口線(一端USB口,一端網(wǎng)口)后在設(shè)備管理器里看到COM號(hào)右擊添加驅(qū)動(dòng),下載并安裝驅(qū)動(dòng)。serial,comx,115200。
5.如下打開(kāi)樹(shù)莓派自帶的圖像化界面。
win端需安裝vnc viewer。
6.如下點(diǎn)擊樹(shù)莓派自帶的node red啟動(dòng)。
7.2 花式點(diǎn)亮LED:node red控制
1.如下左邊拖進(jìn)一個(gè)gpio和兩個(gè)inject。inject中選擇數(shù)字1和0。
如下gpio中選擇GPIO04-7管腳。點(diǎn)擊右邊部署按鈕。
2.如下設(shè)置閃爍效果,0這個(gè)inject也要如下設(shè)置。
3.如下通過(guò)http接口實(shí)現(xiàn)小燈的亮滅。
如下action為on的話(huà)賦值為0。
如下點(diǎn)亮小燈,將on改為off,燈熄滅。
總結(jié)
以上是生活随笔為你收集整理的【Notes7】Samba/NFS服务器,Ntp,导出log,modprobe,进入ME刷bios,树莓派的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Notes6】ajaxjson,校验用
- 下一篇: 【Notes8】Linux开发环境,Li