Làm cách nào để chia sẻ thư mục trên phân vùng NTFS qua mạng?


16

Tôi đang dùng Ubuntu 11.10 và tôi muốn chia sẻ một thư mục trên phân vùng NTFS được tự động hóa ( /dev/sda4) qua mạng. Mục đích của mạng này là chia sẻ các tệp giữa các máy tính, nó chứa hầu hết các máy tính Windows. Tôi sử dụng /dev/sda4phân vùng này cả từ Windows 7 và Ubuntu. Sử dụng Nautilus, tôi nhấp chuột phải vào thư mục, sau đó tôi nhấp vào 'Tùy chọn chia sẻ', sau đó tôi đánh dấu ba hộp kiểm. Khi tôi cố gắng áp dụng các cài đặt, nó sẽ báo 'Không thể thay đổi quyền của thư mục "tên người dùng"'.

Tôi đã đặt đầu ra của sudo blkidcat /etc/fstabbên dưới.

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 

Làm thế nào tôi có thể chia sẻ thư mục này?


Khi bạn nói "qua mạng", ý bạn là gì, loại máy tính nào sẽ ở đó? Các cửa sổ? Sau đó, bạn cần samba, chỉ Linux? Sau đó, NFS được khuyến nghị ... Cung cấp cho chúng tôi thêm thông tin.
Bruno Pereira

1
Tôi nghĩ rằng quyền trong fstabcần phải được thay đổi. Hãy thử quy trình tương tự với loại bỏ gid(đừng quên để kể lại) và cho chúng tôi biết nếu nó giúp.
Andrejs Cainikovs

Tôi đã cập nhật câu hỏi. Loại bỏ gidkhỏi /etc/fstablàm cho dòng cuối cùng trông như thế này : /dev/sda4 /media/Data ntfs defaults,umask=007 0 0. /dev/sda4không được gắn khi khởi động, sudo mount /dev/sda4 /media/Datacung cấp cho tôi đầu ra sau: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.
Tăng tốc-G

Câu trả lời:


14

Sau một hồi tìm kiếm, tôi đã tự mình tìm ra giải pháp:

Đầu tiên, tôi phải trao quyền sở hữu cho mình /dev/sda4và tôi phải cho groupothersđọc và thực thi quyền. Tôi đã làm điều đó bằng cách thay đổi mục phân vùng trong /etc/fstab.

Để làm điều đó, tôi phải biết tôi uidgid. Vì vậy, điều đầu tiên tôi làm là viết lệnh sau trong Terminal:

id $USER

Điều này sẽ cung cấp một đầu ra như thế này:

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

Vì vậy, bây giờ tôi biết rằng cả tôi uidvà tôi gidđã 1000.

Bạn đã biết tên của phân vùng NTFS? Nếu không, hãy nhập lệnh này trong Terminal:

sudo blkid

và viết xuống phân vùng NTFS trên một tờ giấy.

Bây giờ, để thay đổi quyền, tôi đã chỉnh sửa /etc/fstabbằng nanotrình soạn thảo văn bản. Vì vậy, lệnh tiếp theo bạn phải nhập vào một thiết bị đầu cuối là:

sudo nano /etc/fstab

Đi xuống và gõ dòng này:

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

(Bạn nên thay thế /dev/sda4bằng phân vùng NTFS mà bạn đã viết trước đó).

Giải thích: umask=0022đặt quyền truy cập ( d) của thư mục thành drwxr-xr-x, để đảm bảo rằng người dùng (tôi) có thể đọc, viết và thực thi ( rwx) trong khi groupotherschỉ có thể đọc và thực thi ( r-x) thư mục, đó là điều tôi muốn.

Sau đó, tôi có thể đánh dấu ba hộp kiểm mà không có bất kỳ lỗi nào và thư mục sẽ được chia sẻ qua mạng. Vì tôi không chắc liệu các cài đặt chia sẻ có được giữ lại sau khi khởi động lại hay không, tôi đã bỏ chọn các hộp kiểm và /etc/samba/smb.confthay vào đó thêm một số dòng . Tôi đã làm theo cách này:

Trong một thiết bị đầu cuối, tôi gõ sudo nano /etc/samba/smb.conf

Tôi cuộn xuống dòng cuối cùng và dán đoạn sau:

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

Tôi đã lưu tập tin, và sau đó khởi động lại. Các thư mục có thể truy cập từ mạng bây giờ.


1
Xuất sắc. Là một người mới hoàn thành linux / ub Ubuntu, tôi đã đập đầu vào tường trong 2 ngày bởi vì nếu đây là một máy tính windows, tôi sẽ hoàn thành nó trong 10 phút.
Patrick

Bạn có thể chỉnh sửa câu trả lời này với tất cả các lệnh bạn phải viết không? Tôi không chắc tôi hiểu ý của bạn với "cho mình quyền sở hữu hơn /dev/sda4".
Lều Enrique Moreno

Chắc chắn, nhưng sau đó, xin vui lòng cho tôi một bản cập nhật về việc các hướng dẫn làm việc cho bạn. Tôi không sử dụng phân vùng NTFS nữa nên tôi không thể tự kiểm tra.
Tăng tốc-G

0

Giải pháp đơn giản nhất tôi có thể nghĩ đến chúng ta là sử dụng symlink đến phân vùng NTFS.

Làm thế nào tôi sẽ làm điều này là:

  • Tạo một thư mục trên phân vùng Ubuntu mà bạn có thể chia sẻ.
  • Liên kết thư mục trên phân vùng windows nằm trong thư mục này:
    ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
  • Đặt thư mục mẹ bạn đã tạo để chia sẻ qua mạng, chọn bất kỳ tùy chọn bổ sung nào bạn muốn (ví dụ: cho phép khách, v.v.).
  • Nhấp vào "áp dụng quyền cho các tệp đính kèm" trong tab quyền. Tất nhiên, không phải mọi sự cho phép sẽ được áp dụng, nhưng truy cập đọc là đủ.

Tôi đã không tự mình kiểm tra điều này, nhưng nếu tôi hiểu chia sẻ chính xác, nó sẽ có thể hoạt động.


Đó sẽ là ln -s, phải không? Hãy thử nó ngay bây giờ.
Tăng tốc-G

@ Exeleration-G: yep xin lỗi vì lỗi đánh máy
RolandiXor

1
Điều này đã không làm việc cho tôi, cảm ơn mặc dù.
Tăng tốc-G

0

chỉ cần gắn thư mục ntfs là:

-o uid=current_user,gid=current_usergroup

lấy người dùng hiện tại và nhóm người dùng hiện tại như được chỉ ra bởi Exeleration-G:

id MyUserName
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.