程式CODE

2013年12月29日 星期日

以ubuntu12.04為電腦教室教學用機OS之記錄


一、安裝並設定ubuntu 12.04

(1)安裝ubuntu及應用軟體
    (1-1)安裝系統
    略。參考這篇

    (1-2)安裝其他應用程式

    系統基本軟體:
    audacious
    chrome
    嘸
    geany
    filezilla
    virtualbox
    vim
    nfs-common
    curlftpfs

    教學用軟體:
    xmind
    gimp
    inkscape
    gthumb
    pinta
    tuxpaint
    audacity
    imagination
    openshot
    kompozer
    scratch2.0
    stellarium


   
    

(2)設定多位使用者
    想要利用權限的功能,讓共用的學生機,不會被其他班的學生偷看、刪除作業。

  (2-1)新增使用者
  sudo adduser學生帳號1
  sudo adduser學生帳號2
  ...


  (2-2)修改預設umask,避免學生去偷看別班的個人資料夾,而有抄襲作業的行為。
          sudo vim /etc/login.defs

          找到umask,改為027
          UMASK           027


(3)設定不會還原的「儲存空間」
    因為之後要還原所有學生的家目錄,所以需要設定一個目錄,放置學生的作業,上一步驟
    讓學生新增的檔案、目錄權限,其他人是不得rwx的,所以可以放心把個人作業存放在這
    裡。。
    我在教師帳號的家目錄放置一個名為「儲存空間」的目錄,權限為755
    sudo mkdir /home/教師帳號/儲存空間 -m 755


二、還原使用者家目錄(含桌面和各項設定)

目的要在重新開機時,讓多個使用者的家目錄還原....
(1)備份程式(by二林國小紀老師)
以下程式碼,存成bk.sh...檔案設定可執行

bak_path="/home/tool/"
## 建立前確認備份檔存在,如果存在則先刪除

Back_stu(){

 ##------目錄不存在-----------------------
 if [ ! -d "$bak_path" ]; then
  /bin/mkdir $bak_path
 fi
        User="s51"
        Tarfile="/home/tool/${User}_home.tgz"
        if [ -e "$Tarfile" ]; then
        /bin/rm $Tarfile  -f
        fi
        cd /home
        #echo $Tarfile
        /bin/tar zcf $Tarfile  $User

        User="s52"
        Tarfile="/home/tool/${User}_home.tgz"
        if [ -e "$Tarfile" ]; then
        /bin/rm $Tarfile  -f
        fi
        cd /home
        #echo $Tarfile
        /bin/tar zcf $Tarfile  $User
}

##---執行函式----##
Back_stu



(2)還原程式(by二林國小紀老師)
 以下程式碼,存成re.sh...檔案設定可執行

re_stu(){
        User="s51(使用者1)"
        Tarfile="/home/tool/${User}_home.tgz"
        if [ -e "$Tarfile" ]; then
        cd /home
        /bin/rm -rf $User
        /bin/tar zxf  $Tarfile
        fi

        User="s52(使用者2)"
        Tarfile="/home/tool/${User}_home.tgz"
        if [ -e "$Tarfile" ]; then
        cd /home
        /bin/rm -rf $User
        /bin/tar zxf  $Tarfile
        fi
}

re_stu


(3)設執行bk.sh,備份學生機的所有學生帳號...
(4)再將re.sh設定在開機時執行
sudo ln -s re.sh /etc/rc0.d/S11restore
sudo ln -s re.sh /etc/rc6.d/S11restore

三、上傳作業的方式

從教師機安裝ftp的方式

(1)教師機安裝vsftpd
sudo apt-get install vsftpd

(2)修改vsftpd.conf
sudo vim /etc/vsftpd.conf

#允許匿名上線
anonymous_enable=YES
  
#允許上傳功能
write_enable=YES

#匿名上傳檔案後的權限為 660(匿名不能讀寫rw,不能更名及刪除,也不行下載和觀看,避免刪掉同學的,或copy同學的)
anon_umask=006

# 匿名可上傳
anon_upload_enable=YES

#匿名可新增目錄
anon_mkdir_write_enable=YES

(3)將匿名預設的上傳目錄改到教師桌面的「學生作業」資料夾
#先刪掉原上傳目錄
sudo rm -R /srv/ftp

#新增一個上傳目錄
sudo mkdir /home/教師帳號/桌面/學生作業

#ftp上傳目錄不能有寫w的權限
sudo chmod 555 /home/教師機/桌面/學生作業

#鏈結到/srv/ftp
sudo ln -s /home/hdes/教師帳號/桌面/學生作業 /srv/ftp

(4)新增一個可上傳作業的目錄在「學生作業」
#新增目錄「01五年級 」供上傳作業
sudo mkdir /home/hdes/教師帳號/桌面/學生作業/01五年級

#更改權限為可寫w
sudo chmod 777 /home/教師帳號/桌面/學生作業/01五年級/

(5)學生機掛載ftp目錄
#安裝coulftpfs
sudo apt-get install curlftpfs

#建立要上傳的目錄到桌面
sudo mkdir /home/學生機帳號/桌面/學生作業

(4)開機自動掛載
sudo vim /etc/fstab
加入
curlftpfs#教師機ip /home/學生機帳號/桌面/學生作業 fuse allow_other,uid=0,gid=0,_netdev 0 0

#如果沒有要開機自動掛載...要用用指令掛載

curlftpfs -o iocharset=utf8,codepage=big5 st:st@172.20.1.250  /本機目錄

(6)若出現
fusermount - failed to open /etc/fuse.conf - Permission denied
代表要新增「學生機帳號」到fuse群組
sudo addgroup 學生機帳號 fuse

(7)同樣方式,掛載教師機的ftp目錄,並將教師機的帳號加入ftp群組,方可管理學生作業(有讀寫權)
sudo usermod -a -G ftp 教師帳號






使用NASftp的方式

(1)設定好NAS,讓學生帳號可以上傳,但不能修改刪除和下載,而老師帳號均可

(2)修改學生機與老師機的fstab
sudo vim /etc/fstab
加入
curlftpfs#帳號:密碼@192.168.1.2 /home/hdes/桌面/學生作業 fuse iocharset=utf8,codepage=big5,allow_other,uid=0,gid=0,_netdev 0 0


四、學生用機使用不同帳號進入,保護個人資料夾

修改
sudo vim /etc/login.defs
找到
umask=0022
改為
umask=0027


五、增加不用還原的目錄
把目錄加入Nautilus檔案管理器左側
vim ~/.gtk-bookmarks




沒有留言:

張貼留言