Лабораторная работа по комп сетям. Настройка общего доступа

Материал из wiki.nntc.nnov.ru
Версия от 11:34, 4 августа 2021; Avp (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Подключение репозитория с сервера колледжа

Для подключения репозитория необходимо отредактировать файл /etc/apt/sources.list

В нашем случае в файл добавляются 4 строчки

Для дистрибутива - Ubuntu Lucid (10.04)

deb ftp://repo/repositories/lucid lucid main restricted universe multiverse
deb ftp://repo/repositories/lucid lucid-security main restricted universe multiverse
deb ftp://repo/repositories/lucid lucid-updates main restricted universe multiverse
deb ftp://repo/repositories/lucid lucid-backports main restricted universe multiverse

 #deb ftp://192.168.10.250/repositories/lucid lucid main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/lucid lucid-security main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/lucid lucid-updates main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/lucid lucid-backports main restricted universe multiverse


Для дистрибутива - Ubuntu Karmic (9.10)

deb ftp://repo/repositories/karmic karmic main restricted universe multiverse
deb ftp://repo/repositories/karmic karmic-security main restricted universe multiverse
deb ftp://repo/repositories/karmic karmic-updates main restricted universe multiverse
deb ftp://repo/repositories/karmic karmic-backports main restricted universe multiverse

 #deb ftp://192.168.10.250/repositories/karmic karmic main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/karmic karmic-security main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/karmic karmic-updates main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/karmic karmic-backports main restricted universe multiverse


Для дистрибутива - Ubuntu Jaunty (9.04)

deb ftp://repo/repositories/jaunty jaunty main restricted universe multiverse
deb ftp://repo/repositories/jaunty jaunty-security main restricted universe multiverse
deb ftp://repo/repositories/jaunty jaunty-updates main restricted universe multiverse
deb ftp://repo/repositories/jaunty jaunty-backports main restricted universe multiverse

 #deb ftp://192.168.10.250/repositories/jaunty jaunty main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/jaunty jaunty-security main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/jaunty jaunty-updates main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/jaunty jaunty-backports main restricted universe multiverse


Для дистрибутива - Ubuntu Hardy (8.04)

deb ftp://repo/repositories/hardy hardy main restricted universe multiverse 
deb ftp://repo/repositories/hardy hardy-security main restricted universe multiverse 
deb ftp://repo/repositories/hardy hardy-updates main restricted universe multiverse 
deb ftp://repo/repositories/hardy hardy-backports main restricted universe multiverse
 #deb ftp://192.168.10.250/repositories/hardy hardy main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/hardy hardy-security main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/hardy hardy-updates main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/hardy hardy-backports main restricted universe multiverse

Для дистрибутива - Ubuntu Intrepid (8.10)

deb ftp://repo/repositories/intrepid intrepid main restricted universe multiverse 
deb ftp://repo/repositories/intrepid intrepid-security main restricted universe multiverse 
deb ftp://repo/repositories/intrepid intrepid-updates main restricted universe multiverse 
deb ftp://repo/repositories/intrepid intrepid-backports main restricted universe multiverse
 #deb ftp://192.168.10.250/repositories/intrepid intrepid main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/intrepid intrepid-security main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/intrepid intrepid-updates main restricted universe multiverse 
 #deb ftp://192.168.10.250/repositories/intrepid intrepid-backports main restricted universe multiverse

Установка и настройка NFS в Ubuntu

Network File System — это сетевая файловая система, позволяющая пользователям обращаться к файлам и каталогам, расположенным на удалённых компьютерах, как если бы эти файлы и каталоги были локальными. Главным преимуществом такой системы является то, что отдельно взятые рабочие станции могут использовать меньше собственного дискового пространства, так как совместно используемые данные хранятся на отдельной машине и доступны для других машин в сети. NFS - это клиент-серверное приложение. Т.е. в системе пользователя должен быть установлен NFS-клиент, а на компьютерах, которые предоставляют свое дисковое пространство - NFS-сервер. Установка и настройка NFS-сервера.

Устанавливаем NFS-сервер:

# aptitude install nfs-kernel-server

Настраиваем, какие именно директории мы хотим открыть для совместного пользования и кому. Все это делается в файле /etc/exports:

# nano /etc/exports

В приведенном ниже примере директория /home/donet/download (директория с данными на сервере) в пользование компьютерам из 204 подсети - 192.168.204.0/24 с правами чтения и записи: /home/donet/download 192.168.204.0/24(rw,sync,no_subtree_check)

Опции:

ro - права только на чтение. Можно и не указывать, так как она установлена по умолчанию.

rw - дает клиентам право на запись.

no_root_squash - по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать.

noaccess - запрещает доступ к указанной директории. Может быть полезной, если перед этим вы задали доступ всем пользователям сети к определенной директории, и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.

insecure - если планируется подключение компьютера под управлением Mac OS X, эта опция обязательна.


Теперь нужно перезапустить nfs-kernel-server:

# /etc/init.d/nfs-kernel-server restart
Если после этого вы захотите поменять что-нибудь в файле /etc/exports, то для того, чтобы изменения вступили в силу, достаточно запустить следующую команду:
# exportfs -a

Все. NFS-сервер установлен и настроен. Можно переходить к настройке NFS клиента. Установка и настройка NFS-клиента.

Установка:

# aptitude install nfs-common

Монтирование: Создаем точку монтирования. Допустим, это будет папка в вашей домашней директории с названием downloads:

# mkdir /media/downloads

Монтировать можно двумя способами - каждый раз вручную или прописав опции монтирования в файл /etc/fstab. Удобнее применять второй способ:

# nano /etc/fstab

и в конце дописываем следующую строку:

192.168.204.*:/srv/nfs5           /media/downloads           nfs            rw,soft,bg,nolock    0 0

Вместо 192.168.204.*:/srv/nfs5 впишите IP или имя сервера и путь к директории совместного пользования. Опции монтирования можно изменить.

Записав и сохранив изменения, можно монтировать:

# mount -a

вы увидете смонтированные папки на вашем компьютере.


Network File System (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Основан на протоколе вызова удалённых процедур (ONC RPC, Open Network Computing Remote Procedure Call, RFC 1057, RFC 1831). Позволяет подключать (монтировать) удалённые файловые системы через сеть, описан в RFC 1094, RFC 1813, и RFC 3530.

NFS абстрагирована от типов файловых систем как сервера, так и клиента, существует множество реализаций NFS-серверов и клиентов для различных операционных систем и аппаратных архитектур. В настоящее время (2007) используется наиболее зрелая версия NFS v.4 (RFC 3010), поддерживающая различные средства аутентификации (в частности, Kerberos и LIPKEY с использованием протокола RPCSEC_GSS) и списки контроля доступа (как POSIX, так и Windows-типов).

Установка и настройка Samba

Samba — программа, которая позволяет обращаться к сетевым дискам на различных операционных системах. То есть, если вы хотите со своего компьютера под виндой иметь доступ к файлам на сервере под ubuntu, то на сервер надо ставить smaba.

Под убунту samba ставиться командой

#aptitude install samba

После установки сервер надо настроить, конфигурационный файл находится в /etc/samba/smb.conf

Сам конфигурационный файл разбит на блоки. В принципе всё там понятно, да и комментарии написаны подробно и ясно. Поподробнее остановлюсь на некоторых настройках. Например строчка

security = user

Делает так, что для того чтобы залогинится на сервере samba обязательно нужно использовать учётную запись сомой Ubuntu:

Открыть доступ на какую-нибудь папку очень просто. Допустим, мы хоти сделать три доступных каталога:

usershare – доступный только определённым пользователям,

download – откуда можно только скачивать файлы

upload – папка для закачки файлов на сервер.

Для начала создадим три директории /home/share/usershare, /home/share/download и /home/share/upload, сделать каталог upload доступным для записи

#chmod 777 /home/share/upload

и запишем в конец конфигурационного файла /etc/samba/smb.conf следующий текст.

[usershare]
comment = User share
path = /home/shares/usershare
valid users = username
create mask = 0660
directory mask = 0771
writable = yes

[download]
comment = All users download
path = /home/share/download
create mode = 0700
directory mask = 0700
available = yes
browsable = yes
public = yes
writable = no

[upload]
comment = All users upload
path = /home/share/upload
create mode = 0777
directory mask = 0777
available = yes
browsable = yes
public = yes
writable = yes

В самбе существует возможность ограничения записи, заранее определённых, файлов, как полным название так и по маске. Для этого нужно в /etc/samba/smb.conf для опубликованной папки добавить параметр veto files = и через "/" перечислить имена файлов. Ниже записать delete veto files = yes

  [myshare]
  comment = Mary's and Fred's stuff
  path = /usr/somewhere/shared
  valid users = mary fred
  public = no
  guest ok= no
  writable = yes
  browseable = yes
  available = yes
  printable = no
  create mask = 0765
  veto files = /*.bat/*.exe/*.dll/*.avi/*.mp3/*.wav/*.mpg/*.cpl/*.js/*.jse/*.swf/*.rs*/autorun.inf/
  delete veto files = yes

Не забудьте перезапустить samba после изменения конфиг. файла.

#/etc/init.d/samba restart

Так же для ленивых имеется графический интерфейс для настройки samba, только он не много умеет. Установить GUI для samba можно командой

#aptitude install system-config-samba

Устанавливать его надо на комп с самбой и соответственно запускается он только с него же, поэтому ни о каком удалённом управлении через него речи не идёт, но управлять своей домашней шарой очень удобен. Запускается он командой

#system-config-samba


Все изменения он записывает в конфигурационный файл samba.

Для удалённого администрирвания есть web-GUI т.е. настройка samba через web-интерфейс, называется он SWAT (Samba Web Administration Tool), для его работы нужен web-сервер. Так же в качестве web-интерфейса для samba отлично подойдёт webmin.

Установка ftp сервера

Лабораторные работы по ПО/Установка ftp-сервера proftpd

FTP сервер Proftpd

Рассмотрим установку и настройкн proFTPd на сервер под управлением Ubuntu. ProFTPd — ftp-сервер для UNIX-подобных операционных систем. Он работает со многими системами а том числе и Ubuntu.

Для его установки надо установить всего один пакет proftpd, делается это как всегда одной командой.

#aptitude install proftpd

Во время установки Вас спросят как запускать сервер: самостоятельно или автоматически (через initd). Выберете что считаете лучшем для себя.

Пакет proftpd так сказать ядро ftp-сервера, т.е. после его установки ftp-сервер готов к использованию. Так же можно установить паке gproftpd.

#aptitude install gproftpd

Это графический интерфейс управления ftp-сервером, их можно ставить на разные компьютеры. Но сначала давайте поговорим о настройки proftpd без графического интерфейса.

Как не сложно догадаться для остановки, запуска и рестарта сервера используется команда

#/etc/init.d/proftpd stop/start/restart

После изменения конфигураций сервера, его обязательно надо перезагружать как и apache. Конфигурационный файл в proFTPd один и находится он в /etc/proftpd/proftpd.conf

Вообще настройка ftp-сервера только через конфигураций файл сложновата, в помощь выложу примерный перевод файла proftpd.conf, (перевод примерный).


#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#
# Includes DSO modules
Include /etc/proftpd/modules.conf
# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6                         off
# Имя сервера
ServerName                      "MY FTP"
#Как запускается (в нашем случае через standalone, т.е. самостоятельно)
ServerType                      standalone
#не показывать версию сервера
ServerIdent  off
# но можно что-то свое
ServerIdent on               "moi FTP Server"
DeferWelcome                    off
MultilineRFC2228              on
DefaultServer                   on
ShowSymlinks                    on
# сек; никаких действий после входа
TimeoutIdle                     300
# сек; отводится на авторизацию)
TimeoutLogin                    120
# сек; вошел, но не начал передачу)
TimeoutNoTransfer               600
# максимальная длительность сессии; по умолчанию - 0 (бесконечность)
TimeoutSession                  900
#сек; замирание во время пересылки файла
TimeoutStalled                  900
# Вывод сообщений при входе
DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
ListOptions                     "-l"
# запрещаем шаблон *.*
DenyFilter                      \*.*/
# запираем в свсоих домашних каталогах, после ! имеют доступ ко всему
DefaultRoot                     ~
# не всем, имеющим доступ к ftp, нужен shell
RequireValidShell               no
# стандартный порт
Port                            21
# ~ максимальное число одновременно запускаемых процессов в режиме standalone
MaxInstances                    15
# Пользователь и группа, под которой работает демон
#User nobody
# uid/gid по умолчанию с ничтожными правами
User                            nobody
Group                           nogroup
# Маска для ограничения создания директорий и файлов
Umask                           022
#разрешить перезаписывать существующие файлы
AllowOverwrite                  on
# Ограничение трафика. В данном случае мы ограничиваем закачку и скачивание всем пользователям на 50k кроме рута
TransferRate RETR,STOR,APPE 50 user !root
# Логи
# %t - локальное время, %h - DNS имя клиента, %a - IP адрес клиента,
# %s - числовой код ответа сервера, %m - имя команды, полученной от клиента
# %f - абсолютное имя файла, %b - отправленных байтов, %T - число секунд, потраченных на передачу
# %r - текст командной строки
LogFormat default "%t %h %a %s %m %f %b %T \"%r"\"
ExtendedLog     /var/log/proftp/extended.log     ALL default
SystemLog    /var/log/proftp/system.log     ALL default
TransferLog    /var/log/proftp/transfer.log     ALL default
CharsetLocal UTF-8
CharsetRemote CP1251
# Включаем докачку
# AllowRetrieveRestart - для загрузок с сервера (по умолчанию и так включено)
# AllowStoreRestart - для докачки файлов на сервер
# HiddenStor позволяет включить режим, когда недокаченные файлы имеют являются скрытыми.
#Это полезно при совместной работе и файлы становятся видимыми только после их полной закачки на сервер
#HiddenStor on|off
<IfModule mod_tls.c>
TLSEngine      off
</IfModule>
<IfModule mod_quota.c>
QuotaEngine on
</IfModule>
<IfModule mod_ratio.c>
Ratios on
</IfModule>
# Delay engine reduces impact of the so-called Timing Attack described in
# It is on by default.
<IfModule mod_delay.c>
DelayEngine on
</IfModule>
<IfModule mod_ctrls.c>
ControlsEngine        on
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>
<IfModule mod_ctrls_admin.c>
AdminControlsEngine on
</IfModule>
# Открываем доступ анонимным пользователям 
<Anonymous ~ftp> 
#директория-свободного-доступа
User                         ftp
Group                        nogroup
UserAlias                    anonymous ftp
# Ограничения по анонимным клиентам (anonymous logins)
MaxClients                   5
MaxClientsPerHost            2 "Sorry, You can't connect more than TWO times from ONE host"
DisplayFirstChdir .message
# ананимам записи нет
 <Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
</Anonymous>


Через этот файл удобно выставлять глобальные настройки сервера, а что касается прав доступа то их проще настраивать через графический интерфейс.

  (http://debian.cs.binghamton.edu/debian/pool/main/g/gadmin-proftpd/)

После установки у Вас в Приложения>>Системные появится «GADMIN-PROFTPD».


После запуска у Вас спросят пароль. Спросят перезаписывать ли конфигураций файл proftpd.conf и Вы увидите такое окно.


Gproftpd-window.jpg


Тут Вы можете создавать пользователей, группы, устанавливать права и т.д. в удобном графическом интерфейсе. После того как вы сделали все настройки, gproftpd перепишет конфигурационный файл ftp сервера. Потом Вы можете посмотреть сделанные Вами настройки в proftpd.conf и исправить их ручками. Так же в качестве web-интерфейса для ftp-сервера отлично подойдёт webmin.

Ну и напоследок посоветую отличный ftp-клиент для Ubuntu. gFTP ставится одной командой

#aptitude install gftp

Он обладает всеми нужными возможностями, и прост в использовании и настройки.

Ссылки

Взято с: