Читаем Linux глазами хакера полностью

Обратите внимание, что по умолчанию секция открыта, и зарегистрированные пользователи уже имеют доступ к принтерам. Если вы хотите, чтобы "гости" смогли использовать принтер, то добавьте строку public = yes. Я не рекомендую этого делать, потому что это предоставит пользователям лишнюю возможность для подшучивания. Например, в моей сети был случай, когда сотрудник рассылал через принтер разные картинки на все компьютеры. Вроде безобидно, а работу тормозит, и идет бесполезный расход картриджа.

<p>6.2.4. Общий доступ</p>

Чаще всего, на сервере необходима директория, через которую любой пользователь сможет обмениваться файлами с другими участниками сети. Для настройки такой папки используется секция [tmp]:

;[tmp]

; comment = Temporary file space

; path = /tmp

; read only = no

; public = yes

По умолчанию секция закрыта, и для разрешения доступа к ней необходимо убрать комментарии. Обратите внимание на путь к открытому каталогу. Это /tmp — каталог для хранения временных файлов пользователей. С помощью директив read only (значение no) и public (значение yes) мы указываем серверу Samba, что директория открытая, и в нее могут записывать и читать файлы все пользователи.

Несмотря на удобства, которые предоставляет этот каталог, я рекомендую использовать его только в закрытых сетях. Если у вас есть выход в Интернет, то с помощью сетевого экрана необходимо ограничить доступ к Samba. Так как в директорию могут писать любые пользователи, то злоумышленник может записать в нее свои файлы, которые помогут ему получить на сервере права администратора root.

<p>6.2.5. Личные директории</p>

Все разделы, которые мы рассматривали выше, имеют устоявшиеся имена и предназначены для решения определенных задач. Но в некоторых случаях вы можете изменить имя раздела, и на работе сервера это не скажется. Но я не рекомендую этого делать, потому что в одной версии Samba все будет работать хорошо, а при обновлении программ сервера все может измениться, и потом трудно будет найти ошибку, благодаря которой Samba работает неверно.

Но вы можете создавать собственные разделы, в которых будете описывать права. Например, вы можете захотеть организовать общую директорию, в которой файлы будут доступны всем пользователям, но записывать могут только члены определенной группы. Допустим, что в этом каталоге должны храниться какие-то картинки. Для решения этой задачи можно создать раздел [shareimages] следующим образом:

;[shareimages]

; comment = Share Images

; path = /home/samba/images

; public = yes

; writable = yes

; write list = @staff

; printable = no

Для данного раздела задаются следующие директивы:

□ path = /home/samba/images — директория, которую мы хотим открыть;

□ public = yes — признак доступности;

□ writable = yes — запись в каталог разрешена;

□ write list = @staff — определяет группу staff, которая может записывать в файл. Для всех остальных директория открыта только для чтения.

В таких объявлениях директорий можно описывать любые директивы, которые мы рассматривали в данной главе.

<p>6.3. Управление пользователями</p>

Для начала разберемся с именами пользователей. Для доступа к серверу Samba используются сведения из системного файла /etc/passwd. Но вы можете завести отдельные записи Samba-сервера, которые будут соответствовать реальным именам, но их можно будет использовать только для подключения к Samba, а не к системе.

Имена Samba-пользователей описываются в файле /etc/samba/smbusers, расположение и название которого могут быть изменены через директиву username map файла smb.conf. Содержимое файла может быть таким:

# Unix_name = SMB_name1 SMB_name2

root = administrator admin

nobody = guest pcguest smbguest

У списка имен несколько предназначений. Например, с его помощью вы можете спроецировать имена, привычные для пользователей DOS и Windows, на учетные записи Linux. Например, в Windows максимальные права принадлежат пользователю Administrator, а в Linux — это root. Во второй строке приведенного выше примера устанавливается соответствие имени administrator пользователю root.

Второе назначение файла — аккумулировать несколько имен на одной учетной записи. Например, у вас есть группа пользователей, которым необходимо назначить одинаковые права. Для этого создаем в Linux только одну учетную запись nobody (под ней будут работать пользователи), а в smb заводим несколько пользователей guest, pcguest и smbguest (под этими именами они будут входить в систему).

Перейти на страницу:

Похожие книги