Опубликован: 24.07.2006 | Доступ: свободный | Студентов: 8889 / 1218 | Оценка: 3.95 / 3.75 | Длительность: 41:47:00
ISBN: 978-5-94157-183-3
Лекция 14:

Выход в локальные сети

Для того чтобы получить доступ к ресурсу на удаленном компьютере, надо дать команду следующего вида:

[user]$ /usr/sbin/smbclient servicename -U user [password]

где servicename - это имя машины и ресурса, которые должны бы вообще-то иметь вид \\pc1\public, но из-за ограничений оболочки каждый слэш надо удваивать, поэтому команда принимает следующий вид:

[user]$ /usr/sbin/smbclient \\\\PC1\\public -U user mypasswd

(в той версии Samba, которая стоит у меня, прекрасно работают и обратные слэши, которые к тому же не надо удваивать:

[user]$ /usr/sbin/smbclient //PC1/public -U user mypasswd

скорее всего и у вас будет то же самое).

Указывать имя пользователя в опции необходимо только в том случае, если оно не совпадает с именем пользователя, от имени которого вы запустили программу smbclient. Естественно, что пароль необходим только в том случае, если доступ к ресурсу защищен паролем.

Если доступ к ресурсу дан, вы получите приглашение программы:

Server time is Sat Mar 11 15:58:27 2000
Domain=[WORKGROUP] OS=[Windows NT 4.0] Server=[NT LAN Manager 4.0]
smb: \>

В ответ на это приглашение вы можете вводить одну из следующих встроенных команд программы smbclient (этот перечень вы можете получить, введя команду h или ?:

smb: \> h 
ls          dir      du          lcd        cd
pwd         get      mget        put        mput
rename      more     mask        del        open
rm          mkdir    md          rmdir      rd
prompt      recurse  translate   lowercase  print
printmode   queue    cancel      quit       q
exit        newer    archive     tar        blocksize
tarmode     setmode  help        ?          !

Монтирование файловых систем с помощью Samba

Как видите, команды эти во многом похожи на команды ftp-клиента и работа с программой smbclient не очень удобна. Но в пакет samba-client-2.0.5a-2bc.i386.rpm входят еще 2 программы, которые предоставляют некоторые дополнительные удобства. Эти программы называются smbmount и smbumount. С помощью команды smbmount можно смонтировать сетевой ресурс к локальной структуре каталогов, наподобие того, как монтируются файлы на гибком диске. Формат команды таков:

[user]$ /usr/sbin/smbmount //PC1/public /mnt/pc1 -U 123 -W 456'

(в этом примере сетевой ресурс монтируется в локальный каталог /mnt/pc1, причем владельцем каталога объявляется пользователь 123 и группа 456). При необходимости нужно будет ввести пароль пользователя (тот же, по которому вы получали доступ к ресурсу в команде smbclient ).

Команда smbumount позволяет обычным пользователям размонтировать файловую систему, смонтированную командой smbmount (пользователь root может воспользоваться обычной командой umount. Формат команды (используется название точки монтирования из того же примера):

[user]$ /usr/sbin/smbumount /mnt/pc1

Если после монтирования сетевого ресурса запустить программу Midnight Commander и перейти в каталог /mnt/pc1, то вы увидите файлы каталога public на компьютере PC1. Думаю, вы согласитесь с тем, что теперь с ними работать будет значительно проще, чем через smbclient.

Затруднения

Если что-то не получается, то проделайте следующее:

  1. Убедитесь, что между двумя компьютерами имеется связь по сети, для чего дайте команду ping IP-adress с вашего компьютера на тот компьютер, к которому вы хотите получить доступ.
  2. Если такая связь есть, проверьте работу DNS, для чего дайте ту же команду ping, но уже с именем удаленного компьютера: ping RemoteName.
  3. Если вы подключаетесь к общему ресурсу компьютера, работающего под Windows 95/98, то этого должно быть достаточно; если же вы подключаетесь к Windows NT или 2000, то надо проверить имя пользователя и домена, с которыми ваш компьютер обращается к NT, для чего лучше всего просмотреть журнал событий (аудит входа в систему) на удаленном компьютере; если потребуется, то задать имя пользователя и имя домена (последнее задается в файле /etc/smb.conf ).
Владислав Гермак
Владислав Гермак

Приглашения оболочки

Одна из очень важных переменных имеет имя PS1. Эта переменная задает вид приглашения, которое bash выводит, когда ожидает ввода очередной команды пользователем. По умолчанию этой переменной присвоено значение "\s-\v\$ ".

"\s-\v\$ ". -значиние /v замените /u