UNIX - mount: chỉ root mới có thể làm điều đó


15

Tôi cần cho phép người dùng không root để gắn kết / ngắt kết nối thiết bị. Tôi là một người hoàn toàn mới khi nói đến UNIX, vì vậy xin vui lòng cho tôi biết.

Tôi đã tìm khắp nơi để tìm câu trả lời và dường như mọi người đều đưa ra cùng một câu, đó là sửa đổi /etc/fstabđể bao gồm thiết bị đó với usertùy chọn (hoặc users, đã thử cả hai). Tôi đã làm điều đó và nó vẫn nói mount: only root can do that.

Dưới đây là nội dung của fstab của tôi:

# / etc / fstab: thông tin hệ thống tệp tĩnh.
#
# Sử dụng 'vol_id --uuid' để in định danh duy nhất trên toàn cầu cho một
# thiết bị; điều này có thể được sử dụng với UUID = như một cách mạnh mẽ hơn để đặt tên cho thiết bị
# hoạt động ngay cả khi đĩa được thêm và xóa. Xem fstab (5).
#
#                
Proc / Proc Proc mặc định 0 0
# / was on / dev / mapper / minicc-root trong khi cài đặt
UUID = 1a69f02a-a049-4411-8c57-ff4ebd8bb933 / ext3 relatime, lỗi = remount-ro 0 1
# / boot đã bật / dev / sda5 trong khi cài đặt
UUID = 038498fe-1267-44c4-8788-e1354d71faf5 / boot ext2 tương đối 0 2
# hoán đổi là trên / dev / mapper / minicc-exchange_1 trong khi cài đặt
UUID = 0bb583aa-84a8-43ef-98c4-c6cb25d20715 không trao đổi sw 0 0
/ dev / scd0 / media / cdrom0 udf, người dùng iso9660, noauto, exec, utf8 0 0
/ dev / scd0 / media / floppy0 auto rw, người dùng, noauto, exec, utf8 0 0
/ dev / sdb1 / mnt / sdcard tự động, người dùng, rw, exec 0 0

Phân vùng ổ ngón tay cái của tôi hiện lên như /dev/sdb1. Tôi khá chắc chắn rằng tôi đã fstabđược thiết lập OK, nhưng mọi người trên các bài đăng khác dường như không đề cập đến cách họ thực sự gọi mountlệnh khi mục này nằm trong tệp fstab. Tôi nghĩ đây là vấn đề của tôi. Lệnh tôi sử dụng để gắn ổ đĩa là:

$ mount /dev/sdb1 /mnt/sdcard

/bin/mountđược sở hữu bởi root và nằm trong nhóm root và có 4755 quyền.
/bin/umountđược sở hữu bởi root và nằm trong nhóm root và có 4755 quyền.
/mnt/sdcardthuộc sở hữu của tôi và thuộc một trong các nhóm của tôi và có 0755 quyền.

Lệnh mount của tôi hoạt động tốt nếu tôi sử dụng sudo, nhưng tôi cần có thể làm điều này mà không cần sudo(cần phải có thể thực hiện nó từ một tập lệnh PHP bằng cách sử dụng shell_exec). Bất kỳ đề xuất?


1
Vui lòng không sử dụng các biểu thức như "teh interwebz", điều đó chỉ gây mất tập trung.
Georg Schölly

9
Tôi thà thấy "teh interwebz" được tiêm hài hước và cá tính hơn là thấy ai đó sử dụng "u", "ur", "any1" và thích sự lười biếng và thiếu hiểu biết. Quan điểm của tôi là có một sự khác biệt và nó rõ ràng dựa trên bối cảnh.
Tạm dừng cho đến khi có thông báo mới.

Câu trả lời:


17

Khi gắn âm lượng như một người dùng thông thường, bạn chỉ cần cung cấp tên điểm gắn kết, nghĩa là:

mount /mnt/sdcard

Các /etc/fstabtập tin cung cấp các thiết bị sẽ được sử dụng.


2
Hoặc bạn có thể gắn thiết bị và fstabsẽ cung cấp điểm gắn kết.
Tạm dừng cho đến khi có thông báo mới.

AHA! Tôi đoán nó sẽ là một cái gì đó sai với cú pháp lệnh của tôi. Vì vậy, rất vui vì nó là một cái gì đó đơn giản. Cảm ơn!!! Trao giải cho câu trả lời cho bài đăng này vì đây là giải pháp trực tiếp và mô tả nhất cho vấn đề CỦA TÔI, mặc dù câu trả lời của Dennis cũng gợi ý điều này và cũng sẽ giải quyết được vấn đề.
Travesty3

7

Hãy thử thay đổi quyền sở hữu của /dev/sdb1root:

chown root:root /dev/sdb1

fstabdòng của bạn để

/dev/sdb1   /mnt/sdcard auto    rw,user,noauto,exec,utf8   0   0

Và làm mountnhư thế này:

mount /dev/sdb1

Cảm ơn vì sự trả lời! Giải pháp của bạn cũng đã giải quyết được vấn đề và hy vọng những người khác đọc bài đăng này cũng sẽ được giúp đỡ bởi những đề xuất khác của bạn. Cảm ơn một lần nữa!
Travesty3

-1

Tôi nghĩ rằng tùy chọn tự động làm lộn xộn. Thay thế nó bằng noauto.


lưu ý rằng "tự động" trong "tự động, người dùng, rw, exec", không phải là "tự động" độc lập. "tự động" độc lập là để phát hiện hệ thống tập tin sẽ sử dụng và sẽ ổn.
quack quixote

Không, cùng một vấn đề. đã thay đổi thành say các tập tin fstab, vô ích. cảm ơn bạn đã gợi ý tho, hãy tiếp tục đến!
Travesty3
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.