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
:
- Создайте файл
.smbcredentials
в домашнем каталоге:
username=andrew
password=bigsecret
- Используйте файл в команде
smbmount
:
$ smbmount //windbag/andrew samba -o credentials=/home/andrew/.smbcredentials
Убедитесь, что доступ к файлу .smbcredentials
ограничен для повышения безопасности:
$ chmod 600 /home/andrew/.smbcredentials
См. также