Я нашел этот вопрос, исследуя волшебство, которое я недавно сделал, чтобы сделать именно это для одного из моих пользователей. Мой рабочий процесс значительно отличается от других ответов. Обратите внимание, что это самый простой случай.
Предполагая, что ваше имя пользователя ae, а ваш дом - /home/ae
1) Настройте smbfs: mkdir /home/ae/.smb
1a) Если необходимы учетные данные для входа в Windows, создайте и отредактируйте файл: /home/ae/.smb/smbnetfs.conf, чтобы иметь содержимое:
auth winuser "winpassword"
winuser - пользователь, созданный в Windows компьютер, к которому вы хотите получить доступ. winpassword - это пароль пользователя для входа в Windows на этом компьютере.
2) Создайте точку монтирования: mkdir /home/ae/nethood
3) Выполните команда smbnetfs: smbnetfs /home/ae/nethood
Обратите внимание, что вся «сетевая окрестность» будет отображаться в разделе /home/ae/nethood, при этом рабочие группы будут первым слоем подкаталогов.
Все перечисленные ниже списки были скопированы из моего просмотра папок в качестве не привилегированного пользователя на узле ubuntu. Имя пользователя и группа изменены на ae. sudo никогда не использовался.
$ cd nethood
$ ls -alh
total 12K
drwxrwxrwx 9 ae ae 0 Dec 31 1969 .
drwxr-xr-x 9 ae ae 21 Jul 28 11:49 ..
drwxrwxrwx 2 root root 0 Dec 31 1969 WORKGROUP
Просмотр рабочей группы WORKGROUP:
$ cd WORKGROUP
$ ls -alh
total 0
drwxrwxrwx 2 root root 0 Dec 31 1969 .
drwxrwxrwx 9 root root 0 Dec 31 1969 ..
lrwxrwxrwx 1 root root 11 Dec 31 1969 HTPC -> ../HTPC
lrwxrwxrwx 1 root root 14 Dec 31 1969 NEWPC -> ../NEWPC
Изменить каталог на компьютеры и любые общие папки будут перечислены и доступны как обычно.
$ cd NEWPC
$ ls -alh
total 0
drwxrwxrwx 2 root root 0 Dec 31 1969 .
drwxrwxrwx 9 root root 0 Dec 31 1969 ..
drwxrwxrwx 2 root root 0 Dec 31 1969 Desktop
drwxrwxrwx 2 root root 0 Dec 31 1969 Users
И файлы:
$ cd Desktop/
$ ls -alh
ls: cannot access desktop.ini: No such file or directory
total 30M
drwxrwxrwx 2 root root 0 Dec 31 1969 .
drwxrwxrwx 2 root root 0 Dec 31 1969 ..
-rwxr--r-- 1 ae ae 1.5K Jan 25 2013 Command Prompt.lnk
-????????? ? ? ? ? ? desktop.ini
-rwxr--r-- 1 ae ae 156K May 28 2013 Download %25285%2529.iif
-rwxr--r-- 1 ae ae 2.4K Jul 24 12:28 Google Chrome.lnk
-rwxr--r-- 1 ae ae 178 Feb 4 2013 import orders.bat
-rwxr--r-- 1 ae ae 2.3M Mar 30 2012 msvc2008_x86_vcredist_x64.exe
drwxr-xr-x 2 ae ae 0 May 20 2014 OpenOffice 4.1.0 (en-US) Installation Files
-rwxr--r-- 1 ae ae 406K Jun 6 2013 Paypal_Jan_1_2012_to_Dec_31_2012.iif
-rwxr--r-- 1 ae ae 15M May 8 2012 php-5.4.3-Win32-VC9-x86.zip
-rwxr--r-- 1 ae ae 1.9K Jul 24 13:03 PSPad.lnk
-rwxr--r-- 1 ae ae 1.1K Jul 24 12:31 VB Demo.lnk
Обратите внимание, что указанные выше каталоги имеют право собственности root root. Владение файлами будет таким же, как ваш пользователь.
Ни один другой пользователь не сможет получить доступ к папкам независимо от точки монтирования или прав собственности или прав этой папки. Если ваш пользователь может «написать» в эту папку (и он пуст), smbnetfs будет монтировать сетевой район там и не разрешать кому бы то ни было доступ, даже root. Для доступа root вы должны su ae.
Если общих папок нет, каталог компьютера будет пустым.
Если у вас нет учетных данных для компьютера Windows, вы можете получить сообщение об ошибке: ls: cannot open directory .: Input/output error
Не нужно устанавливать более старую версию JDK. Если вы хотите использовать более старую версию JDK, вы можете сделать это и с последней версией.
Скомпилируйте свою программу с этими параметрами. -source & amp; -target.
Например,
javac -source 1.6 -target 1.6 Program.java
Если вы используете eclipse, он всегда запрашивает у вас версию jdk перед тем, как создавать классы или проекты.