루트가 아닌 사용자가 장치를 마운트 / 마운트 해제 할 수 있도록해야합니다. 유닉스와 관련하여 나는 멍청한 놈이기 때문에 나를 위해 바보 짓게하십시오.
나는 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
제대로 작동 하지만을 사용 하지 않고 sudo
PHP 스크립트에서 수행 할 수 있어야합니다 shell_exec
. 어떤 제안?