標籤

BAT (38) shell (34) Virtual Machine (33) Xubuntu (29) acfs (25) PHP (24) CentOS (21) Virtul Box (20) 編輯器 (17) 資料庫 (15) lubuntu (13) windows (13) CPP (12) ubuntu (12) chrome (11) laravel (10) Docker (9) Python (9) 5A88 (7) VMware (6) 資料結構 (6) Javascript (5) Node (5) Proxmox VE (5) 公告系統 (5) 程式積木 (5) Android Studio (4) ANN (3) OB2D2016x64 (3) Xoops (3) clonezilla (3) samba (3) 公文 (3) 其他 (3) 硬體 (3) API (2) Android (2) AppInvent2 (2) Html (2) Hyper-V (2) Nas (2) botnet (2) mbot (2) swift (2) wordpress (2) 樣板 (2) 防火牆 (2) AD的應用 (1) Ansible (1) Arduino (1) CSS (1) GitLab (1) HA Proxy (1) LegoEV3 (1) PowerShell (1) Scratch (1) VM (1) XenServer (1) kotlin (1) linuxmint (1) lxc (1)

2019年8月26日 星期一

Xubuntu 18.04.3 x64 用 shell 安裝 sublime text 3 與 python 相關套件

1.安裝sublime text 3指令如下:
(1)安裝GPG 密鑰:
$wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
(2)安裝apt-transport-https
$sudo apt-get install apt-transport-https
(3)將sublimetext 加入sources.list
$echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
(4)更新套件
$sudo apt-get update
(5)安裝sublime-text
$sudo apt-get install sublime-text
一步一步將指令輸入,可以完成sublime-text的安裝。
但是寫成shell 則無法安裝,需要做調整。

現在寫成Shell,檔名為SublimeTextInstall.sh
其內容為:
#!/bin/bash
apt-get install apt-transport-https
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | apt-key add -
echo "deb https://download.sublimetext.com/ apt/stable/" |  tee /etc/apt/sources.list.d/sublime-text.list
apt-get update
apt-get install sublime-text

下載後,指令為
$sudo chmod +x SublimeTextInstall.sh
$sudo sh SublimeTextInstall.sh
安裝過程如影片所示。



資料來源:
1.sublime text3配置<python篇>
2.第 19 天:安裝/設定 Sublime Text 編輯器
3.Ubuntu 安裝 Sublime Text 3
4.Sublime Text 3 在 Ubuntu 打中文字有解了
5.Linux Package Manager Repositories
6.Sublime Text 3 输入法(Fcitx)修复[Ubuntu(Debian)]

2019年8月24日 星期六

xubuntu 18.04.03 x32 用shell 快速完成 samba 設定

感恩永靖國小邱顯錫老師的指導!!

尋找取代語法介紹:
sed -i 's/尋找/取代/g' 絕對路徑+檔名
例如:要尋找 /etc/fstab 內的 defaults 並取代成 defaults,usrquota,grpquota
sed -i 's/defaults/defaults,usrquota,grpquota/g' /etc/fstab
另外關於絕對路徑+檔名,可以改用
cd /etc
sed -i 's/defaults/defaults,usrquota,grpquota/g' fstab

前篇
1.硬碟分割:請參考前篇步驟1

2.步驟2~步驟6:可使用shell,其內容如下:

#!/bin/bash
apt-get update
apt-get install quota -y
cd /etc
sed -i 's/defaults/defaults,usrquota,grpquota/g' fstab
mount -o remount /home
quotacheck -cmug /home
apt-get install samba -y
cd ~
echo "deb http://download.webmin.com/download/repository sarge contrib" >> /etc/apt/sources.list
echo "deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib" >>  /etc/apt/sources.list
wget -q http://www.webmin.com/jcameron-key.asc -O- | apt-key add -
apt-get update; apt-get install webmin -y
apt-get install usermin -y
mkdir /home/homework
chmod 777 /home/homework
cd /etc/samba/
cp smb.conf smb.conf.bk
echo "#======================= Global Settings =======================" > smb.conf
echo "[global]" >> smb.conf
echo " write raw = no" >> smb.conf
echo " passwd chat = *Enter\snew\s*\spassword:* %nn *Retype\snew\s*\spassword:* %nn *password\supdated\ssuccessfully* ." >> smb.conf
echo " writeable = yes" >> smb.conf
echo " unix password sync = yes" >> smb.conf
echo " log file = /var/log/samba/log.%m" >> smb.conf
echo " max log size = 1000" >> smb.conf
echo " allow hosts = 192.168.0.0/16,172.20.3.0/24,10.1.1.0/24" >> smb.conf
echo " passwd program = /usr/bin/passwd %u" >> smb.conf
echo " passdb backend = tdbsam" >> smb.conf
echo " encrypt passwords = yes" >> smb.conf
echo " server role = standalone server" >> smb.conf
echo " os level = 20" >> smb.conf
echo " dns proxy = no" >> smb.conf
echo " panic action = /usr/share/samba/panic-action %d" >> smb.conf
echo " load printers = no" >> smb.conf
echo " path = /home/homework" >> smb.conf
echo " obey pam restrictions = yes" >> smb.conf
echo " netbios name = SAMBA" >> smb.conf
echo " map to guest = bad user" >> smb.conf
echo " usershare allow guests = yes" >> smb.conf
echo " workgroup = WORKGROUP" >> smb.conf
echo " syslog = 0" >> smb.conf
echo " pam password change = yes" >> smb.conf
echo " read raw = no" >> smb.conf
echo " server string = %h server (Samba, Xubuntu180403)" >> smb.conf
echo " veto files = /*.exe/*.bat/" >> smb.conf
echo "#===================== Share Definitions =====================" >> smb.conf
echo "[homes]" >> smb.conf
echo "   comment = Home Directories" >> smb.conf
echo "   browseable = no" >> smb.conf
echo "   writeable = yes" >> smb.conf
echo "   veto files = /*.exe/*.bat/" >> smb.conf
echo "   create mask = 0777" >> smb.conf
echo "   directory mask = 0777" >> smb.conf
echo "   valid users = %S" >> smb.conf
echo "[Homework]" >> smb.conf
echo "   comment = 公用區" >> smb.conf
echo "   path = /home/homework" >> smb.conf
echo "   writable = yes" >> smb.conf
echo "   browseable = yes" >> smb.conf
echo "   veto files = /*.exe/*.bat/" >> smb.conf
echo "   public = yes" >> smb.conf
echo "   create mask = 0777" >> smb.conf
echo "   directory mask = 0777" >> smb.conf

注意事項:shell執行完,打開瀏覽器,輸入 https://伺服器IP:10000 ,可看到 webmin 登入畫面,可讓管理者進入,需依下列圖示,以完成samba設定。



7.在桌面建置批次檔,讓管理員webadmin可以登入使用。

雲端硬碟登入
檔名:雲端硬碟登入login.bat
內容:
net use /d * /y
cls
@echo 網路磁碟登入程序
@echo =====================================
@echo off
@echo 使用者名稱為 學務系統帳號
@echo 使用者預設密碼為 demo
@echo 修改預設密碼,請到 https://伺服器IP:20000
set /p str1=請輸入使用者名稱:
net use u: \\伺服器IP\%str1% /user:"%str1%"
net use v: \\伺服器IP\homework
exit

現在將其具體化,
伺服器IP:192.168.154.133
檔名:雲端硬碟登入login.bat
內容:
net use /d * /y
cls
@echo 網路磁碟登入程序
@echo =====================================
@echo off
@echo 使用者名稱為 學務系統帳號
@echo 使用者預設密碼為 demo
@echo 修改預設密碼,請到 https://伺服器IP:20000
set /p str1=請輸入使用者名稱:
net use u: \\192.168.154.133\%str1% /user:"%str1%"
net use v: \\192.168.154.133\homework
exit


雲端硬碟登出
檔名:雲端硬碟登出logout.bat
內容:
echo off
net use /d * /yes
exit

8.打開瀏覽器,並輸入 https://伺服器IP:20000 ,可看到 usermin 登入畫面,可讓使用者進入,修改預設密碼。

9.大量建置帳號,可如下參考
(1.0)建立群組 s101
檔名:create_group_s101.txt
其內容如下:
create:s101::701:
(1.1)匯入


(2.0)建立使用者s10101~s10140
檔名:create_s101.txt
其內容如下:
create:使用者名稱:密碼:uid:gid:真實姓名:家目錄:shell:最小:最大:警告:非使用:過期
create:s10101:70101:1501:701::/home/s101/s10101:/bin/null:::::
create:s10102:70102:1502:701::/home/s101/s10102:/bin/null:::::
create:s10103:70103:1503:701::/home/s101/s10103:/bin/null:::::
create:s10104:70104:1504:701::/home/s101/s10104:/bin/null:::::
create:s10105:70105:1505:701::/home/s101/s10105:/bin/null:::::
create:s10106:70106:1506:701::/home/s101/s10106:/bin/null:::::
create:s10107:70107:1507:701::/home/s101/s10107:/bin/null:::::
create:s10108:70108:1508:701::/home/s101/s10108:/bin/null:::::
create:s10109:70109:1509:701::/home/s101/s10109:/bin/null:::::
create:s10110:70110:1510:701::/home/s101/s10110:/bin/null:::::
create:s10111:70111:1511:701::/home/s101/s10111:/bin/null:::::
create:s10112:70112:1512:701::/home/s101/s10112:/bin/null:::::
create:s10113:70113:1513:701::/home/s101/s10113:/bin/null:::::
create:s10114:70114:1514:701::/home/s101/s10114:/bin/null:::::
create:s10115:70115:1515:701::/home/s101/s10115:/bin/null:::::
create:s10116:70116:1516:701::/home/s101/s10116:/bin/null:::::
create:s10117:70117:1517:701::/home/s101/s10117:/bin/null:::::
create:s10118:70118:1518:701::/home/s101/s10118:/bin/null:::::
create:s10119:70119:1519:701::/home/s101/s10119:/bin/null:::::
create:s10120:70120:1520:701::/home/s101/s10120:/bin/null:::::
create:s10121:70121:1521:701::/home/s101/s10121:/bin/null:::::
create:s10122:70122:1522:701::/home/s101/s10122:/bin/null:::::
create:s10123:70123:1523:701::/home/s101/s10123:/bin/null:::::
create:s10124:70124:1524:701::/home/s101/s10124:/bin/null:::::
create:s10125:70125:1525:701::/home/s101/s10125:/bin/null:::::
create:s10126:70126:1526:701::/home/s101/s10126:/bin/null:::::
create:s10127:70127:1527:701::/home/s101/s10127:/bin/null:::::
create:s10128:70128:1528:701::/home/s101/s10128:/bin/null:::::
create:s10129:70129:1529:701::/home/s101/s10129:/bin/null:::::
create:s10130:70130:1530:701::/home/s101/s10130:/bin/null:::::
create:s10131:70131:1531:701::/home/s101/s10131:/bin/null:::::
create:s10132:70132:1532:701::/home/s101/s10132:/bin/null:::::
create:s10133:70133:1533:701::/home/s101/s10133:/bin/null:::::
create:s10134:70134:1534:701::/home/s101/s10134:/bin/null:::::
create:s10135:70135:1535:701::/home/s101/s10135:/bin/null:::::
create:s10136:70136:1536:701::/home/s101/s10136:/bin/null:::::
create:s10137:70137:1537:701::/home/s101/s10137:/bin/null:::::
create:s10138:70138:1538:701::/home/s101/s10138:/bin/null:::::
create:s10139:70139:1539:701::/home/s101/s10139:/bin/null:::::
create:s10140:70140:1540:701::/home/s101/s10140:/bin/null:::::
(2.1)匯入


(3.0)刪除使用者
檔名:delete_user_s101.txt
其內容如下:
delete:使用者名稱
delete:s10101
delete:s10102
delete:s10103
delete:s10104
delete:s10105
delete:s10106
delete:s10107
delete:s10108
delete:s10109
delete:s10110
delete:s10111
delete:s10112
delete:s10113
delete:s10114
delete:s10115
delete:s10116
delete:s10117
delete:s10118
delete:s10119
delete:s10120
delete:s10121
delete:s10122
delete:s10123
delete:s10124
delete:s10125
delete:s10126
delete:s10127
delete:s10128
delete:s10129
delete:s10130
delete:s10131
delete:s10132
delete:s10133
delete:s10134
delete:s10135
delete:s10136
delete:s10137
delete:s10138
delete:s10139
delete:s10140
(3.1)匯入


10.最後在windows 7 使用的效果:

11.一鍵刪除s10101~s10140 與homework內的子目錄與檔案
檔名:DelAll.sh
其內容如下:
#!/bin/bash
for var in {10101..10140..1}
do
  cd /home/s101/s${var}
  rm *.* -rf
  echo "刪除/home/s101/s${var}內所有檔案OK"
  for i in $(ls /home/s101/s${var})
  do
    rm $i -rf
  done
  echo "刪除/home/s101/s${var}內所有目錄OK"
done
cd /home/homework/
rm *.* -rf
echo "刪除/home/homework/內所有檔案OK"
   for i in $(ls /home/homework/)
   do
     echo $i
     rm $i -rf
   done
   echo "刪除/home/homework/內所有目錄OK"

最後問題:
當shell 要寫入資料到smb.conf,要注意的地方為 %n
echo " passwd chat = *Enter\snew\s*\spassword:* %nn *Retype\snew\s*\spassword:* %nn *password\supdated\ssuccessfully* ." >> smb.conf

在smb.conf的內容為
 passwd chat = *Enter\snew\s*\spassword:* %nn *Retype\snew\s*\spassword:* %nn *password\supdated\ssuccessfully* .
需手動修改%nn 為 %n\n
已解決

12.另外的需求是...如果只要開放homework,且不需要登入密碼。
要如何做?
(1)不需要建立帳號,即步驟9不做
(2)只要修改批次檔,即修改步驟7的批次檔
現在將其具體化,
伺服器IP:192.168.154.133
檔名:雲端硬碟登入login.bat
內容:
net use /d * /y
cls
net use v: \\192.168.154.133\homework
exit


雲端硬碟登出
檔名:雲端硬碟登出logout.bat
內容:
echo off
net use /d * /yes
exit




文章來源:
1.使用XOOPS 快速架站與移機 - 彰化縣教育網路中心
2.快速架設 LAMP + XOOPS
3.acfs14.04 x32 使用 samba 當作學校檔案伺服器

2019年8月4日 星期日

使用還原卡還原的電腦教室使用HFS(Http File Server),快速完成教師機與學生機設定。

上篇,教師機與學生機的設定需手動完成。若是電腦教室採用無碟系統,那情況就會變成只要設定一台,就會全面完成設定。那要是使用還原卡還原的電腦教室,就需要一台一台完成設定。對資訊組長而言,那真的是惡夢。
因此,開始思考。這個問題就會變成[能不能用一鍵完成的程式,讓學生直接開啟教師機上傳作業網頁,或是讓學生直接連到教師機下載檔案。而資訊組長只要將這個程式放置在學生機或教師機的桌面即可。]
假設教師機IP為 192.168.1.103
檔名:PcClassroomHW.sh (下載後,請將副檔名sh 改為 bat)
程式碼如下:
@echo off
start "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" http://192.168.1.103/

下載後,將檔名 PcClassroomHW.sh 改為 PcClassroomHW.bat
記事本開啟 PcClassroomHW.bat ,將http://192.168.1.103/ 改為 http://教師機IP/ ,然後儲存檔案



如何使用:
1.使用前,請先確認教師機的HFS是否開啟,其畫面如下:

2.對著程式PcClassroomHW.bat,按下滑鼠右鍵。
   出現下拉是選單,點選[以系統管理員身分執行]
就會出現Chrome,並且打開 http://192.168.1.103/

若是不想讓人看到批次檔內容時,可以改用C++寫程式,編譯成exe檔,再放置在桌面上
假設教師機IP為 192.168.1.103
檔名:PcClassroomHWcpp.sh (下載後,請將副檔名sh 改為 cpp)
程式碼如下:
#include <windows.h>
#include <tchar.h>
#include <assert.h>
#include <shellapi.h>

const TCHAR szOperation[] = _T("open");
const TCHAR szURL[] = _T("http://192.168.1.103/");
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR lpCmd, int nShow) {
HINSTANCE hRslt = ShellExecute(NULL, szOperation, szURL, NULL, NULL, SW_SHOWNORMAL);
assert(hRslt > (HINSTANCE)HINSTANCE_ERROR);
return 0;
}
下載後,用Dev C++開啟 PcClassroomHWcpp.cpp ,將http://192.168.1.103/ 改為 http://教師機IP/ ,然後編譯檔案成PcClassroomHWcpp.exe。使用方法同批次檔,即PcClassroomHW.bat。

資料來源:
1.電腦教室教師機使用HFS(Http File Server),讓學生從網頁接收教師檔案與繳交作業
2.利用BAT 讓Chrome瀏覽器自動開啟網頁與關閉網頁
3.C++ 呼叫預設瀏覽器 開啟指定網址

2019年8月3日 星期六

電腦教室教師機使用HFS(Http File Server),讓學生從網頁接收教師檔案與繳交作業

在國民中小學電腦教室實施教學,最大的兩個問題是
一、如何將教師的檔案給學生,或是學生如何取得教師的檔案?
二、學生要交作業,要如何交給老師?
現在利用HFS (Http File Server),來解決這些問題。
1.HFS下載與說明:
   下載處 ,下載完後,解壓縮(接壓縮密碼:azo)。
   (1)HFS執行:直接對hfs.exe用滑鼠快速點兩下,即可。畫面如下:

   (2)當HFS執行時,如何看到執行畫面?
        開啟chrome瀏覽器,在網址列輸入IP(本例子IP為192.168.1.103)後按下ENTER,
        即可看到     
  (3)如何分享檔案?
       只要將檔案拉進HFS,即可。
     
    此時,chrome瀏覽器的畫面為何?
 
 (4)如何上傳檔案?
      建立一個資料夾,將資料夾拉進HFS
      對此資料夾,按下滑鼠右鍵
       此時,chrome瀏覽器的畫面為何?
       資料夾內,真的有檔案010.png嗎?

2.電腦教室的作業系統與網路環境。
    假設電腦教室的環境為每一台電腦IP均為固定IP,其作業系統為windows 7。
     (1)教師機  1台,IP為 192.168.1.103,使用Chrome為預設瀏覽器。
     (2)學生機35台,均有自己的IP,使用Chrome為預設瀏覽器。

3.教師機的設定
   (1)將教師機桌面,放置 hfs.exe,方便老師點選
   (2)教師機瀏覽器chrome設定(其目的為老師開啟瀏覽器,即是192.168.1.103的畫面)
4.學生機的設定
   (1)學生機瀏覽器chrome設定,如同教師機瀏覽器chrome設定。(其目的為學生開啟瀏覽器,即是192.168.1.103的畫面)。

資料來源:
1.HFS 2.2f.155 免安裝中文版 (2.3.300 英文免安裝版) - 檔案分享軟體 (解壓縮密碼 azo)
2.How to compile the HFS's Source code

在 Windows 10 x64 1909版,使用BAT快速安裝公文系統與人事服務網(自然人憑證)版

相關內容移往 https://skjhcreator.blogspot.com/2021/02/windows-10-x64-1909bat.html