유닉스-마운트 : 루트 만 가능


15

루트가 아닌 사용자가 장치를 마운트 / 마운트 해제 할 수 있도록해야합니다. 유닉스와 관련하여 나는 멍청한 놈이기 때문에 나를 위해 바보 짓게하십시오.

나는 interwebz를 통해 답을 찾기 위해 모든 것을 보았고 모든 사람들이 동일한 것을 제공하는 것 같습니다 /etc/fstab. user옵션으로 해당 장치를 포함 하도록 수정 하는 것입니다 (또는 users둘 다 시도했습니다). 나는 그것을했고 여전히 말한다 mount: only root can do that.

내 fstab의 내용은 다음과 같습니다.

# / etc / fstab : 정적 파일 시스템 정보.
#
# 'vol_id --uuid'를 사용하여
# 장치; 이것은 장치의 이름을 지정하는보다 강력한 방법으로 UUID =와 함께 사용될 수 있습니다.
# 디스크를 추가하고 제거하더라도 작동합니다. fstab (5)를 참조하십시오.
#
#                
proc / proc proc 기본값 0 0
# /는 설치 중에 / dev / mapper / minicc-root에있었습니다.
UUID = 1a69f02a-a049-4411-8c57-ff4ebd8bb933 / ext3 관계, 오류 = remount-ro 0 1
# / boot는 설치하는 동안 / dev / sda5에있었습니다
UUID = 038498fe-1267-44c4-8788-e1354d71faf5 / boot ext2 relatime 0 2
# 설치 도중 스왑이 / dev / mapper / minicc-swap_1에있었습니다
UUID = 0bb583aa-84a8-43ef-98c4-c6cb25d20715 없음 스왑 sw 0 0
/ dev / scd0 / media / cdrom0 udf, iso9660 사용자, noauto, exec, utf800
/ dev / scd0 / media / floppy0 자동 rw, 사용자, noauto, exec, utf800
/ dev / sdb1 / mnt / sdcard 자동 자동, 사용자, rw, 실행 0 0

엄지 드라이브 파티션이로 표시됩니다 /dev/sdb1. 내 fstab설정이 정상적이라고 확신 하지만 다른 게시물의 모든 사람은 mount이 항목이 fstab 파일에 있으면 실제로 명령을 호출하는 방법을 언급하지 못하는 것 같습니다 . 나는 이것이 내 문제가 될 수 있다고 생각합니다. 드라이브를 마운트하는 데 사용하는 명령은 다음과 같습니다.

$ mount /dev/sdb1 /mnt/sdcard

/bin/mount루트가 소유하고 루트 그룹에 있으며 4755 권한이 있습니다.
/bin/umount루트가 소유하고 루트 그룹에 있으며 4755 권한이 있습니다.
/mnt/sdcard본인이 소유하고 내 그룹 중 하나에 있으며 0755 권한을 가지고 있습니다.

을 사용하면 mount 명령이 sudo제대로 작동 하지만을 사용 하지 않고 sudoPHP 스크립트에서 수행 할 수 있어야합니다 shell_exec. 어떤 제안?


1
주의가 산만 해지는 "teh interwebz"와 같은 표현은 사용하지 마십시오.
Georg Schölly

9
누군가가 게으름과 무지에서 "u", "ur", "any1"등을 사용하는 것보다 유머와 성격이 주입 된 "the interwebz"를 보는 것이 훨씬 더 낫습니다. 내 요점은 차이가 있으며 상황에 따라 분명하다는 것입니다.
추후 공지가있을 때까지 일시 중지되었습니다.

답변:


17

일반 사용자로 볼륨을 마운트 할 때 마운트 포인트 이름 만 제공하면됩니다.

mount /mnt/sdcard

/etc/fstab파일이 사용되는 장치를 제공한다.


2
또는 장치를 fstab마운트하고 마운트 지점을 제공 할 수 있습니다 .
추후 공지가있을 때까지 일시 중지되었습니다.

아하! 명령 구문에 문제가 있다고 생각했습니다. 너무 간단해서 다행입니다. 감사!!! Dennis의 답변이 이것을 제안하고 문제를 해결할 수도 있었지만이 게시물에 대한 답변은 내 문제에 대한 가장 직접적이고 설명적인 솔루션이므로 수상했습니다.
Travesty3

7

의 소유권 /dev/sdb1을 root로 변경하십시오 .

chown root:root /dev/sdb1

그리고 당신의 fstab라인

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

그리고 mount이런 식으로하십시오 :

mount /dev/sdb1

답변 주셔서 감사합니다! 귀하의 솔루션으로도 문제가 해결되었을 것이므로이 게시물을 읽는 다른 사람들이 귀하의 다른 제안에도 도움이되기를 바랍니다. 다시 감사합니다!
Travesty3

-1

자동 옵션이 ​​엉망이라고 생각합니다. 자동으로 교체하십시오.


독립형 "auto"가 아니라 "auto, user, rw, exec"의 "auto"입니다. 독립형 "auto"는 사용할 파일 시스템을 감지하기위한 것이며 문제가 없습니다.
quck quixote

아뇨, 같은 문제입니다. / dev / sdb1 / mnt / sdcard auto noauto, user, rw, exec 0 0으로 변경했습니다. 필요한지 아닌지 확실하지 않지만 이것이 dev 서버이므로 할 수 있으므로 수정 후 컴퓨터를 다시 시작했습니다. fstab 파일을 사용할 수 없습니다. 제안 tho에 감사드립니다. 계속 오십시오!
Travesty3
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.