Лабораторная работа по комп сетям. Настройка общего доступа: различия между версиями
Verm (обсуждение | вклад) |
Verm (обсуждение | вклад) |
||
Строка 136: | Строка 136: | ||
Для удалённого администрирвания есть web-GUI т.е. настройка samba через web-интерфейс, называется он SWAT (Samba Web Administration Tool), для его работы нужен web-сервер. Так же в качестве web-интерфейса для samba отлично подойдёт webmin. | Для удалённого администрирвания есть web-GUI т.е. настройка samba через web-интерфейс, называется он SWAT (Samba Web Administration Tool), для его работы нужен web-сервер. Так же в качестве web-интерфейса для samba отлично подойдёт webmin. | ||
+ | |||
+ | |||
+ | |||
+ | == Установка ftp сервера == | ||
+ | |||
+ | |||
+ | Рассмотрим установку и настройкн proFTPd на сервер под управлением Ubuntu. ProFTPd — ftp-сервер для UNIX-подобных операционных систем. Он работает со многими системами а том числе и Ubuntu. | ||
+ | |||
+ | Для его установки надо установить всего один пакет proftpd, делается это как всегда одной командой. | ||
+ | #apt-get install proftpd | ||
+ | |||
+ | Во время установки Вас спросят как запускать сервер: самостоятельно или автоматически (через initd). Выберете что считаете лучшем для себя. | ||
+ | |||
+ | Пакет proftpd так сказать ядро ftp-сервера, т.е. после его установки ftp-сервер готов к использованию. Так же можно установить паке gproftpd. | ||
+ | #apt-get 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 ставится одной командой | ||
+ | #apt-get install gftp | ||
+ | |||
+ | Он обладает всеми нужными возможностями, и прост в использовании и настройки. |
Версия 16:42, 3 декабря 2009
Установка и настройка NFS в Ubuntu
Network File System — это сетевая файловая система, позволяющая пользователям обращаться к файлам и каталогам, расположенным на удалённых компьютерах, как если бы эти файлы и каталоги были локальными. Главным преимуществом такой системы является то, что отдельно взятые рабочие станции могут использовать меньше собственного дискового пространства, так как совместно используемые данные хранятся на отдельной машине и доступны для других машин в сети. NFS - это клиент-серверное приложение. Т.е. в системе пользователя должен быть установлен NFS-клиент, а на компьютерах, которые предоставляют свое дисковое пространство - NFS-сервер. Установка и настройка NFS-сервера.
Устанавливаем NFS-сервер:
#aptitude install nfs-kernel-server
Настраиваем, какие именно директории мы хотим открыть для совместного пользования и кому. Все это делается в файле /etc/exports:
#nano /etc/exports
В приведенном ниже примере директория /srv/nfs5 (директория с данными на сервере) в пользование компьютерам из 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 ставиться командой
#apt-get 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
Не забудьте перезапустить samba после изменения конфиг. файла.
#/etc/init.d/samba restart
Так же для ленивых имеется графический интерфейс для настройки samba, только он не много умеет. Установить GUI для samba можно командой
#apt-get install system-config-samba
Устанавливать его надо на комп с самбой и соответственно запускается он только с него же, поэтому ни о каком удалённом управлении через него речи не идёт, но управлять своей домашней шарой очень удобен. Запускается он командой
#system-config-samba
Все изменения он записывает в конфигурационный файл samba.
Для удалённого администрирвания есть web-GUI т.е. настройка samba через web-интерфейс, называется он SWAT (Samba Web Administration Tool), для его работы нужен web-сервер. Так же в качестве web-интерфейса для samba отлично подойдёт webmin.
Установка ftp сервера
Рассмотрим установку и настройкн proFTPd на сервер под управлением Ubuntu. ProFTPd — ftp-сервер для UNIX-подобных операционных систем. Он работает со многими системами а том числе и Ubuntu.
Для его установки надо установить всего один пакет proftpd, делается это как всегда одной командой.
#apt-get install proftpd
Во время установки Вас спросят как запускать сервер: самостоятельно или автоматически (через initd). Выберете что считаете лучшем для себя.
Пакет proftpd так сказать ядро ftp-сервера, т.е. после его установки ftp-сервер готов к использованию. Так же можно установить паке gproftpd.
#apt-get 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 перепишет конфигурационный файл ftp сервера. Потом Вы можете посмотреть сделанные Вами настройки в proftpd.conf и исправить их ручками. Так же в качестве web-интерфейса для ftp-сервера отлично подойдёт webmin.
Ну и напоследок посоветую отличный ftp-клиент для Ubuntu. gFTP ставится одной командой
#apt-get install gftp
Он обладает всеми нужными возможностями, и прост в использовании и настройки.