Сервер Samba подразумевает использование нескольких типов безопасности. В частности переменная encrypt password определяет, какой механизм авторизации будет использован. Если переменной encrypt password присвоено значение по, то авторизация пользователей производится, исходя из учетных записей Linux, хранящихся в файлах /etc/passwd и /etc/shadow. При таком типе авторизации пользователя пароли передаются по сети в незашифрованном виде. Это несколько упрощает настройку, но резко снижает безопасность системы. В дополнение к этому, такой тип авторизации требует в Windows 95, Windows 98, Windows NT изменений в системном реестре. Ниже приведены изменения, которые необходимо внести в системный реестр.
• Windows 95
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001
• Windows 98
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001
• Windows NT
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters] "EnablePlainTextPassword"=dword:00000001
• Windows 2000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkStation\Parameters]
"EnablePlainTextPassword"=Data: 0x01
В том случае, если переменной encrypt password присвоено значение yes, авторизация пользователя происходит с использованием файла /etc/samba/ smbpasswd, и передача паролей происходит в зашифрованном виде.
Почему для использования шифрованных паролей необходимо создавать отдельную базу паролей пользователей Samba? Все дело в методе хранения пароля. Windows-системы хранят зашифрованный пароль, и при аутентификации пользователя производят сверку паролей. Linux
Добавление пользователей Samba
Для добавления пользователей в файл /etc/samba/smbpasswd необходимо наличие самого файла /etc/samba/smbpasswd. Также должна существовать и учетная запись пользователя в Linux-системе. Если эти условия соблюдены, следует:
1. Воспользоваться программой smbpasswd для создания учетной записи
smbpasswd -a user_name
2. Активировать учетную запись
smbpasswd -e user_name
3. Эту операцию придется произвести с каждым пользователем. Существуют скрипты, позволяющие перебросить пользователей из файла passwd в файл smbpasswd. Но они только перебрасывают пользователей, а пароли для них все равно придется заводить вручную. Еще один недостаток этих скриптов – после них придется удалять пользователей типа nobody, root, news и т. п.
Для монтирования ресурсов, предоставляемых сервером Samba, используются команды smbclient и smbmount. Обо всех возможностях этих комавд можно узнать из соответствующих man-страниц, краткие сведения о команде smbclient вы получите в этой главе.
Принтеры
Принтер, установленный в системе с сервером Samba, предоставить в общее пользование Samba-клиентам очень просто. Все принтеры, которые определены в файле /etc/printcap, становятся доступными после того, как вы добавите следующую секцию в конфигурационный файл smb.conf:
[printers]
path = /var/spool/lpd
writeable = no
guest ok = no
printable = yes
Использование ресурсов Samba
Хотя сервер Samba позиционируется как средство доступа Windows-клиентов к ресурсам Linux-систем, тем не менее, в пакете есть средства для того, чтобы Linux-компьютеры могли также просматривать и монтировать SMB-ресурсы. И что особенно приятно, доступ к ресурсам Windows-сети можно получить и в том случае, когда сервером является машина с Windows!
Программа клиента SMB для Linux включена в дистрибутив Samba и называется smbclient. Она обеспечивает FTP-подобный интерфейс командной строки. Также существует пакет smbfs, который позволяет монтировать и размонтировать SMB-ресурсы.
Для того чтобы увидеть доступные SMB-ресурсы, выполните команду:
/usr/bin/smbclient -L host
где host – это имя машины, ресурсы которой вас интересуют. Эта команда вернет список имен доступных сервисов.
Пример команды smbclient:
/usr/bin/smbclient service
где service – имя хоста и сервиса. Например, если вы пытаетесь обратиться к каталогу, который доступен под именем public на машине, названной ziga, то имя сервиса должно представлять собой \\ziga\pubiic. Поскольку в языке С обратный слэш является спецсимволом, то практически необходимо ввести такую строку:
/usr/bin/smbclient WWzigaWpublic
где
smb: \>