23.20. Подключение клиентов Linux к домену Samba из командной строки

Проблема

Требуется подключиться к домену Samba при помощи команд smbtree, smbclient и smbmount, но как передать имя пользователя и пароль для доступа к нужным ресурсам?

Решение

Для каждой из перечисленных команд можно указать имя пользователя и пароль Samba. Это позволяет просматривать общие каталоги и подключаться к ним даже при наличии ограничений. Например, можно подключиться к каталогу homes, скрытому для общего доступа, через smbclient:

$ smbtree -U andrew
added interface ip=192.168.1.5 bcast=192.168.1.255 nmask=255.255.255.0
Password:
Got a positive name query response from 192.168.1.5 ( 192.168.1.5 )
HOLSTEIN
\\WINDBAG\andrew User's Home Directories
\\WINDBAG\ADMIN$ IPC Service (Samba PDC)
\\WINDBAG\IPC$ IPC Service (Samba PDC)

Теперь подключитесь к каталогу andrew на сервере windbag командой smbclient:

$ smbclient //windbag/andrew -U andrew
Password:
Domain=[HOLSTEIN] OS=[Unix] Server=[Samba 3.0.5-Debian]
smb: \>

Для монтирования общего каталога используйте команду smbmount:

$ smbmount //windbag/andrew samba -o username=andrew
added interface ip=192.168.1.5 bcast=192.168.1.255 nmask=255.255.255.0
Password:

Завершив работу, отмонтируйте каталог командой:

$ smbumount samba

Советы по безопасности

Пароль можно указать прямо в командной строке после имени пользователя, но это небезопасно, так как он станет видимым другим пользователям системы:

$ smbmount //windbag/andrew samba -o username=andrew,password=bigsecret

Чтобы повысить безопасность, рекомендуется избегать указания пароля напрямую. Вместо этого создайте файл с параметрами подключения и укажите его в команде с помощью параметра -o credentials:

  1. Создайте файл .smbcredentials в домашнем каталоге:
username=andrew
password=bigsecret
  1. Используйте файл в команде smbmount:
$ smbmount //windbag/andrew samba -o credentials=/home/andrew/.smbcredentials

Убедитесь, что доступ к файлу .smbcredentials ограничен для повышения безопасности:

$ chmod 600 /home/andrew/.smbcredentials

См. также

smbmount(8), smbumount(8), smbtree(1).