Root Owns Home Directory, chown không hoạt động


11

Tôi đang chạy Ubuntu 12.04 và gặp nhiều vấn đề khác nhau. Tôi đã bắt nguồn từ thực tế là thư mục chính của người dùng (/ home / user) của tôi được sở hữu bởi root.

Thư mục / home thực sự được gắn trên một ổ đĩa khác, nhưng tôi có thể thấy rằng trong fstab tôi chỉ gắn kết / home và không / home / user:

UUID=DC56D19E56DX3233 /home ntfs user,exec 0 2

Lệnh chown dưới đây dường như không hoạt động:

sudo chown -R user /home/user

Điều này sẽ chạy mà không có lỗi, tuy nhiên nó không thực sự thay đổi quyền sở hữu của direcory. Đây là đầu ra của ls -ldsau khi chạy lệnh:

drwxrwxrwx 1 root root 20480 Sep 25 00:07 /home/user

Điều này giống như trước đây.


1
Bạn có thể thêm dòng tương ứng từ của bạn /etc/fstabvà / hoặc đầu ra của mountlệnh cho phân vùng nhà của bạn (ví dụ mount | grep 'home'?
steeldriver

mount | grep home-> / dev / sdb1 trên / loại nhà fuseblk (rw, nosuid, gật đầu, allow_other, blksize = 4096)
DJElbow

cat /etc/fstab-> UUID = DC56D19E56DX3233 / người dùng ntfs tại nhà, thực hiện 0 2
DJElbow

1
Vì vậy, vấn đề tiềm ẩn có vẻ là bạn đang sử dụng hệ thống tệp không phải linux (ntfs) cho phân vùng nhà của bạn - không thực sự hỗ trợ quyền truy cập tệp kiểu * nix. Có thể làm cho nó hoạt động với các tùy chọn mặt nạ tệp phù hợp trên giá treo nhưng tôi không có bất kỳ kinh nghiệm nào để làm điều đó. Chúc may mắn.
Steeldo

Có, bạn đã gắn kết / nhà của bạn dưới dạng hệ thống tệp windows không phải là cấu hình được hỗ trợ.
psusi

Câu trả lời:


15

NTFS không hỗ trợ 'chủ sở hữu' kiểu Unix, do đó, nhân Linux buộc phải gán chủ sở hữu cho toàn bộ ổ đĩa - thông thường, root. Thay thế cho việc chuyển toàn bộ thư mục chính của bạn sang EXT4, bạn cũng có thể trao quyền sở hữu toàn bộ phân vùng cho một người dùng hoặc nhóm cụ thể bằng cách sử dụng các tùy chọn 'uid' hoặc 'gid' cho mount(hoặc trong fstab). Có ý nghĩa bảo mật trong môi trường nhiều người dùng, nhưng tôi đã sử dụng phương pháp này trên máy tính xách tay khởi động kép của mình.

Một chặng đường dài bên trong trang man cho mount( man mount), chúng tôi tìm thấy điều này trong các tùy chọn dành riêng cho hệ thống tệp cho NTFS:
uid=value, gid=value and umask=value
Set the file permission on the filesystem. The umask value is given in octal. By default, the files are owned by root and not readable by somebody else.

Dòng của bạn fstabsau đó sẽ được thay đổi thành UUID=DC56D19E56DX3233 /home ntfs user,exec,uid=username,gid=group 0 2và bạn có thể tự do chỉnh sửa ô nếu bạn muốn.


3

Vấn đề, như đã đề cập trong các bình luận, là thư mục nhà của tôi được gắn trên một ổ cứng khác với hệ thống tệp NTFS.

Tôi đã sao lưu thư mục nhà của mình với Deja Dup vào một ổ đĩa ngoài. Sau đó, được sử dụng gparted để định dạng ổ đĩa NTFS bên trong và thay đổi hệ thống tệp thành EXT4.

Tiếp theo tôi đã thay đổi / etc / fstab để khớp với UUID mới của ổ đĩa và thay đổi "ntfs" thành "ext4".

Sau khi khởi động lại, tôi phải nhấn Ctrl + Alt + F1 để đăng nhập vào một thiết bị đầu cuối. Tôi đã có thể sử dụng sudo chown -R user: user / home / user.

Sau đó tôi đã có thể đăng nhập vào GUI và khôi phục thư mục chính của mình bằng Deja Dup và bản sao lưu trên ổ đĩa ngoài.

Cho đến nay, mọi thứ đang làm việc tuyệt vời.


1
Thật không may, tôi có cùng một vấn đề nhưng tôi muốn thư mục cũng có thể truy cập được từ windows. Vì tôi là người dùng duy nhất nên tôi sẽ thay đổi chủ sở hữu: nhóm toàn bộ phân vùng theo câu trả lời của Mactrent.
flurbius
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.