Я работаю в 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
Как я могу поделиться этой папкой?
решение1
После недолгих поисков я сам нашел решение:
Во-первых, мне нужно было дать себе право владения над /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
Я сохранил файл, а затем перезагрузился. Теперь папка была доступна из сети.
решение2
просто смонтируйте каталог ntfs как:
-o uid=current_user,gid=current_usergroup
получить текущего пользователя и текущую группу пользователей, как указано Exeleration-G:
id MyUserName
решение3
Самое простое решение, которое я могу придумать, — это использовать символическую ссылку на раздел NTFS.
Я бы сделал это следующим образом:
- Создайте папку на вашем разделе Ubuntu, к которой вы сможете предоставить общий доступ.
- Свяжите папку на разделе Windows с этой папкой:
ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
- Настройте общий доступ к созданной вами родительской папке по сети, выбрав любые дополнительные параметры по вашему желанию (например, разрешите гостевой режим и т. д.).
- Нажмите «применить разрешения к вложенным файлам» на вкладке разрешений. Конечно, не каждое разрешение будет применено, но доступа на чтение должно быть достаточно.
Я сам это не проверял, но если я правильно понимаю принцип обмена, то это должно работать.