Как открыть общий доступ к папке в разделе NTFS по сети?

16

Я нахожусь на Ubuntu 11.10, и я хочу открыть общий доступ к папке на автоматически смонтированном разделе NTFS ( /dev/sda4) по сети. Цель этой сети - обмениваться файлами между компьютерами, в основном это компьютеры Windows. Я использую этот /dev/sda4раздел как из Windows 7, так и из Ubuntu. Используя Nautilus, я щелкаю правой кнопкой мыши по каталогу, затем нажимаю «Параметры общего доступа», затем отмечаю три флажка. Когда я пытаюсь применить настройки, появляется сообщение «Невозможно изменить права папки« имя_фоли »».

Я поставил вывод sudo blkidи cat /etc/fstabниже.

sudo blkid

/dev/sda2: LABEL="Windows" UUID="481319C261268D8D" TYPE="ntfs" 
/dev/sda3: UUID="23dac5e8-aae7-43ac-964c-c8a5a033b0d7" TYPE="ext4" 
/dev/sda4: LABEL="Data" UUID="00F1B269675B86AE" TYPE="ntfs" 
/dev/sda5: UUID="6de8b757-f17e-4e36-935c-a3fd6012c628" TYPE="ext4" 
/dev/sda6: UUID="d504bae2-fad6-4f6a-b489-7719ad0fe3b3" TYPE="swap" 

cat /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda3 during installation
UUID=23dac5e8-aae7-43ac-964c-c8a5a033b0d7 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=d504bae2-fad6-4f6a-b489-7719ad0fe3b3 none            swap    sw              0       0
/dev/sda4 /media/Data ntfs defaults,umask=007,gid=46 0 0 

Как я могу поделиться этой папкой?

Exeleration-G
источник
Когда вы говорите «по сети», что вы имеете в виду, какие компьютеры будут там? Окна? Тогда вам нужна самба, только Linux? Тогда рекомендуется NFS ... Дайте нам больше информации.
Бруно Перейра
1
Я думаю, что разрешения fstabдолжны быть изменены. Попробуйте gidвыполнить ту же процедуру с удаленным (не забудьте перемонтировать), и скажите нам, помогло ли это.
Андрейс Каиников
Я обновил вопрос. Удаление gidиз /etc/fstabделает последний взгляд линии , как это: /dev/sda4 /media/Data ntfs defaults,umask=007 0 0. /dev/sda4не sudo mount /dev/sda4 /media/DataMount is denied because the NTFS volume is already exclusively opened. The volume may be already mounted, or another software may use it which could be identified for example by the help of the 'fuser' command.
запускается

Ответы:

14

После небольшого поиска я нашел решение самостоятельно:

Во-первых, я должен был отдать себя в собственность /dev/sda4, и я должен был дать groupи othersпрочитать и выполнить разрешение. Я сделал это, изменив запись раздела в /etc/fstab.

Чтобы сделать это, я должен был знать мои uidи gid. Итак, первым делом я написал следующую команду в Терминале:

id $USER

Это даст вывод как это:

UID=1000(myname) GID=1000(myname) groups=1000(myname),4(adm),24(cdrom), ...

Так что теперь я знал, что и мои, uidи мои gidбыли 1000.

Вы уже знаете название раздела NTFS? Если нет, введите эту команду в Терминале:

sudo blkid

и запишите раздел NTFS на листе бумаги.

Теперь, чтобы изменить разрешение, я редактировал /etc/fstabс nanoтекстовым редактором. Итак, следующая команда, которую вы должны ввести в терминале:

sudo nano /etc/fstab

Пройдите весь путь вниз и введите эту строку:

/dev/sda4 /media/Data ntfs defaults,umask=0022,uid=YourUIDHere,gid=YourGIDHere 0 0

(Вы должны заменить /dev/sda4на раздел NTFS, который вы записали ранее).

Объяснение: umask=0022задает dразрешения для каталога ( ) drwxr-xr-x, чтобы убедиться, что пользователь (я) может читать, записывать и выполнять ( rwx), в то время как groupи othersможет только читать и выполнять ( r-x) каталог, что я и хотел.

После этого я могу отметить три флажка без каких-либо ошибок, и папка будет доступна по сети. Поскольку я не был уверен, сохранятся ли настройки общего доступа после перезапуска, я снял флажки и добавил несколько строк /etc/samba/smb.conf. Я сделал это так:

В терминале я набрал sudo nano /etc/samba/smb.conf

Я прокрутил до последней строки и вставил туда следующее:

[MyShare]
    comment = My Share
    path = /media/Data/FolderToBeShared
    browseable = yes
    guest ok = yes
    read only = yes
    create mask = 0755

Я сохранил файл, а затем перезагрузил. Теперь папка была доступна из сети.

Exeleration-G
источник
1
Brilliant. Как новичок в Linux / Ubuntu, я бился головой о стену в течение 2 дней, потому что, если бы это была машина для Windows, я бы сделал это за 10 минут.
Патрик
Можете ли вы отредактировать этот ответ со всеми командами, которые вы должны были написать, пожалуйста? Я не уверен, что понимаю, что вы имеете в виду под «отдать себя в собственность /dev/sda4».
Энрике Морено Палатка
Конечно, но после этого, пожалуйста, дайте мне обновленную информацию о том, работали ли инструкции для вас. Я больше не использую раздел NTFS, поэтому я не могу проверить сам.
Exeleration-G
0

Самое простое решение, которое я могу придумать, - это использовать символическую ссылку на раздел NTFS.

Как бы я это сделал:

  • Создайте папку в своем разделе Ubuntu, которой вы можете поделиться.
  • Свяжите папку в разделе Windows с этой папкой:
    ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
  • Установите созданную вами родительскую папку для общего доступа по сети, выбирая любые дополнительные параметры по своему усмотрению (например, разрешение гостя и т. Д.).
  • Нажмите «Применить разрешения к вложенным файлам» на вкладке разрешений. Конечно, не каждое разрешение будет применено, но доступа для чтения должно быть достаточно.

Я не проверял это сам, но если я правильно понимаю, что делиться, он должен быть в состоянии работать.

RolandiXor
источник
Это было бы ln -sправильно? Попробую прямо сейчас.
Exeleration-G
@ Exeleration-G: да, извините за опечатку
RolandiXor
1
Это не сработало для меня, спасибо.
Exeleration-G
0

просто смонтировать каталог NTFS как:

-o uid=current_user,gid=current_usergroup

получить текущего пользователя и текущую группу пользователей, как указано Exeleration-G:

id MyUserName
ashishsony
источник