Так...
Теперь самба :)
Пусть у учителя будут расшарены 2 каталога которые будут доступны ученикам по сети.
Один каталог только для чтения.
Другой для чтения и записи.
Действbя на компе учителя от рута
Установка самбы
su-
apt-get install samba
Проверяем что самба по умолчанию включена на 3 и 5 уровнях
chkconfig --list smb
Правим конфиг самбы.
Конфиг находится здесь /etc/samba/smb.conf
файл прикрепляю в архиве smb.conf.tar.gz
В переменной interfaces прописывается интерфейс на котором самба работает...
Создаем каталоги
su-
mkdir /home/_share
mkdir /home/_share/ro
mkdir /home/_share/pub
chmod 777 /home/_share/ro
chmod 777 /home/_share/pub
echo 123 > /home/_share/ro/flag.file
echo 123 > /home/_share/pub/test.txt
Файл flag.file нужен для того чтоб коннектились нормально ученики.
Удалять его нельзя !
Файл test.txt просто так чтоб тестировать - его можно и удалить потом...
Теперь останавливаем и запускаем самбу
service smb stop
service smb start
Все... теперь настройки учеников.
На компе учеников надо сделать следующее:
От рута создаем каталоги
su-
mkdir /mnt/smb
mkdir /mnt/smb/ro
mkdir /mnt/smb/pub
chmod 777 /mnt/smb/pub
Теперь надо внести правки в файл крона
mcedit /etc/crontab
вписываем чтоб раз в минуту выполнял - в конце, после "раз в месяц" добавим:
*/1 * * * * root run-parts /etc/cron.min
далее f2 сохранить и f10 выход
создаем каталог
mkdir /etc/cron.min
теперь в каталог /etc/cron.min надо добавить файл который будет исполнятся
echo > /etc/cron.min/samba
chmod +700 /etc/cron.min/samba
В файл /etc/cron.min/samba вписываем
#!/bin/sh
if [ -e /mnt/smb/ro/flag.file ]; then
echo share - ok
else
echo connect to share 'ro'
smbmount //192.168.1.13/ro /mnt/smb/ro -o guest,codepage=cp866,iocharset=utf8,dmask=0777,fmask=0666,ro
echo connect to share 'pub'
smbmount //192.168.1.13/pub /mnt/smb/pub -o guest,codepage=cp866,iocharset=utf8,dmask=0777,fmask=0666,rw
fi
echo "try_connect">/tmp/try
или так :)
#!/bin/bash
SMBIP="192.168.1.13"
if [ "$1" == "stop" ]; then
echo "try stop share !"
umount /mnt/smb/ro
umount /mnt/smb/pub
echo "share - stop !"
umount -f /mnt/smb/ro
umount -f /mnt/smb/pub
else
echo "try seek flag"
if [ -e /mnt/smb/ro/flag.file ]; then
echo "share - ok. see flag"
else
echo "not see flag"
echo "in mount smb=" `mount | grep $SMBIP -c`
if [ `mount | grep $SMBIP -c` -gt 0 ]; then
echo "try unount"
umount -f /mnt/smb/ro
umount -f /mnt/smb/pub
else
echo "connect to share 'ro'" #>>/tmp/123
smbmount //$SMBIP/ro /mnt/smb/ro -o guest,codepage=cp866,iocharset=utf8,dmask=0777,fmask=0666,ro,ttl=10000
echo "connect to share 'pub'" #>>/tmp/123
smbmount //$SMBIP/pub /mnt/smb/pub -o guest,codepage=cp866,iocharset=utf8,dmask=0777,fmask=0666,rw,ttl=10000
fi #if [ `mount |
fi #if [ -e /mn
fi
#echo `date` >>/tmp/123
строка echo "try_connect">/tmp/try
только для тестирования - как заработает - можно удалить.
Таким образом ученики зайдя в
/mnt/smb/ro и /mnt/smb/pub
должны попасть на учительский.
А учитель может кидать файлы в
/home/_share/ro
/home/_share/pub
Из плюсов того что через крон - стартуют ученические быстро, ученические можно включить до учительского, а минус что соединяет шару не сразу а через минуту.
Минусы метода вообще - учительский выключать последним в классе - иначе медленно ученические вырубаются и учительский лучше не перегружать :)