Bagaimana cara saya berbagi folder pada partisi NTFS melalui jaringan?

16

Saya di Ubuntu 11.10, dan saya ingin berbagi folder pada partisi NTFS yang diautomatiskan ( /dev/sda4) melalui jaringan. Tujuan dari jaringan ini adalah untuk berbagi file antar komputer, sebagian besar berisi komputer Windows. Saya menggunakan /dev/sda4partisi ini baik dari Windows 7 dan Ubuntu. Menggunakan Nautilus, saya klik kanan direktori, lalu saya klik 'Opsi Berbagi', lalu saya tandai tiga kotak centang. Ketika saya mencoba menerapkan pengaturan, ia mengatakan 'Tidak dapat mengubah hak folder "nama pengguna".

Saya sudah memasukkan output dari sudo blkiddan di cat /etc/fstabbawah ini.

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 

Bagaimana saya bisa membagikan folder ini?

Percepatan-G
sumber
Ketika Anda mengatakan "melalui jaringan" apa maksud Anda, komputer seperti apa yang akan ada di sana? Windows? Maka Anda perlu samba, hanya Linux? Maka NFS direkomendasikan ... Beri kami info lebih lanjut.
Bruno Pereira
1
Saya pikir izin dalam fstabperlu diubah. Coba prosedur yang sama dengan dihapus gid(jangan lupa untuk mengirim ulang), dan beri tahu kami jika itu membantu.
Andrejs Cainikovs
Saya telah memperbarui pertanyaan. Menghapus giddari /etc/fstabmerek yang terakhir garis terlihat seperti ini: /dev/sda4 /media/Data ntfs defaults,umask=007 0 0. /dev/sda4tidak dipasang pada startup, sudo mount /dev/sda4 /media/Datamemberi saya output berikut:Mount 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.
Exeleration-G

Jawaban:

14

Setelah sedikit mencari, saya menemukan solusinya sendiri:

Pertama, saya harus menyerahkan diri kepada saya /dev/sda4, dan saya harus memberi groupdan othersmembaca dan melaksanakan izin. Saya melakukannya dengan mengubah entri partisi /etc/fstab.

Untuk melakukan itu, saya harus tahu uiddan gid. Jadi hal pertama yang saya lakukan adalah menulis perintah berikut di Terminal:

id $USER

Ini akan memberikan output seperti ini:

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

Jadi sekarang saya tahu bahwa kedua saya uiddan saya gidberada 1000.

Apakah Anda sudah tahu nama partisi NTFS? Jika tidak, ketikkan perintah ini di Terminal:

sudo blkid

dan tulis partisi NTFS di selembar kertas.

Sekarang, untuk mengubah izin, saya edit /etc/fstabdengan nanoeditor teks. Jadi, perintah selanjutnya yang harus Anda ketik di terminal adalah:

sudo nano /etc/fstab

Turun semua dan ketik baris ini:

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

(Anda harus mengganti /dev/sda4dengan partisi NTFS yang Anda tulis sebelumnya).

Penjelasan: umask=0022mengatur dizin direktori ( ) untuk drwxr-xr-x, untuk memastikan bahwa pengguna (saya) dapat membaca, menulis dan mengeksekusi ( rwx) sementara groupdan othershanya dapat membaca dan mengeksekusi ( r-x) direktori, yang merupakan apa yang saya inginkan.

Setelah itu, saya bisa menandai tiga kotak centang tanpa kesalahan, dan folder akan dibagikan melalui jaringan. Karena saya tidak yakin apakah pengaturan berbagi akan disimpan setelah restart, saya hapus centang pada kotak centang dan menambahkan beberapa baris /etc/samba/smb.confsebagai gantinya. Saya melakukannya dengan cara ini:

Di terminal, saya mengetik sudo nano /etc/samba/smb.conf

Saya menggulir ke bawah ke baris terakhir, dan menempel yang berikut di sana:

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

Saya menyimpan file, dan kemudian reboot. Folder itu dapat diakses dari jaringan sekarang.

Percepatan-G
sumber
1
Cemerlang. Sebagai pemula linux / ubuntu lengkap saya membenturkan kepala ke dinding selama 2 hari karena jika ini adalah mesin windows saya akan menyelesaikannya dalam 10 menit.
Patrick
Bisakah Anda mengedit jawaban ini dengan semua perintah yang harus Anda tulis? Saya tidak yakin saya mengerti apa yang Anda maksud dengan "berikan diri saya kepemilikan /dev/sda4".
Tenda Enrique Moreno
Tentu, tetapi setelah itu, tolong beri saya pembaruan tentang apakah petunjuknya berhasil untuk Anda. Saya tidak menggunakan partisi NTFS lagi jadi saya tidak bisa memeriksa sendiri.
Percepatan-G
0

Solusi paling sederhana yang dapat saya pikirkan adalah menggunakan symlink ke partisi NTFS.

Bagaimana saya akan melakukan ini adalah:

  • Buat folder di partisi Ubuntu Anda yang dapat Anda bagikan.
  • Tautkan folder di partisi windows ke dalam folder ini:
    ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
  • Atur folder induk yang Anda buat untuk dibagikan melalui jaringan, pilih opsi tambahan apa pun yang Anda inginkan (misalnya, mengizinkan tamu, dll.).
  • Klik "terapkan izin ke file terlampir" di tab izin. Tidak setiap izin tunggal akan diterapkan, tentu saja, tetapi akses baca harus cukup.

Saya belum menguji ini sendiri, tetapi jika saya memahami berbagi dengan benar, itu harus bisa berfungsi.

RolandiXor
sumber
Itu ln -sbenar, kan? Cobalah sekarang.
Percepatan-G
@ Exeleration-G: ya maaf atas kesalahan ketik
RolandiXor
1
Ini tidak berhasil bagi saya, terima kasih.
Percepatan-G
0

cukup pasang dir ntfs sebagai:

-o uid=current_user,gid=current_usergroup

dapatkan pengguna saat ini dan grup pengguna saat ini seperti yang ditunjukkan oleh Exeleration-G:

id MyUserName
ashishsony
sumber