리눅스에서 USB 드라이브를 마운트 할 때 쓰기 권한을 자동으로 설정하려면 어떻게합니까?


18

Linux (CentOs4)에 외부 USB 드라이브를 마운트하면 기본적으로 권한이 읽기 전용으로 설정됩니다. 컴퓨터에는 외부 드라이브를 사용해야하는 여러 명의 사용자가 있으므로 모든 사람 rw이 전체 드라이브에 대한 권한 을 갖기를 원합니다 . 또한 컴퓨터가 실수로 종료 된 경우 드라이브를 마운트 할 수 있기를 원합니다. sudo mount드라이브를 마운트하는 데 사용할 수 있지만 읽기 권한 만 부여하므로 분명히 허용하고 싶지 않습니다 sudo chmod.

모든 새 외부 USB 디스크가 자동으로 rw권한을 갖도록 변경할 수있는 기본 설정이 있습니까?

답변:


17

모든 사람이 rw 액세스를 가능하게하려면 키는 명령을 마운트하는 umask = 0 옵션입니다.

sudo mount -o umask=0,uid=nobody,gid=nobody /dev/something /mnt/somewhere

umask = 0은 명확성을 위해 충분하고, uid와 gid이므로, 반드시 'root'소유자를 더 많이 보지 않아도됩니다.


@Tom의 답변 (/ etc / fstab 항목 작성)을 사용하면 건너 뛸 수 sudo있으며 추가 옵션으로 umask = 0을 쓰면 두 가지 이점을 모두 얻을 수 있습니다.

/ etc / fstab에 이것을 가지고 :

/dev/something /mnt/somewhere auto users,noatime,umask=0 0 0

당신은 그냥 실행할 수 있습니다

mount /dev/something

모든 사람이 모든 파일에 액세스 할 수 있습니다.


자세한 내용을 알고 싶다면 기술 정보를 참조하십시오.

으로 man mount말한다 '의 umask = 0'추가 규칙 파일 액세스 모드에 적용되지 않도록 할 것이다. FAT 파일 시스템 (USB 디스크에서 가장 널리 사용됨)의 경우 액세스 모드가 저장되지 않습니다. 그러나 현재 프로세스에는 umask 값이 설정되어 있습니다 umask. 터미널 에서만 실행하면 볼 수 있습니다 . mount이를 기본값으로 사용하고 마운트 된 디스크의 모든 파일에서 umask 값의 액세스 모드를 제거합니다. 가장 널리 사용되는 umask 값은 (octal) 022-그룹 및 기타 쓰기 없음, 027-그룹 쓰기 없음, 기타 액세스 없음입니다.


umask=0 0 0fstab에 항목으로 추가하면 '나쁜 옵션'이라는 오류가 발생 합니다. 합니까 umask마지막 항목이 될 -entry 필요는? managed=0 0 0현재 마지막 항목은 무엇입니까 ?
Jonas

1
FWIW에서 umask 옵션은 VFAT 전용 옵션입니다. 즉, USB 메모리가 VFAT 파일 시스템을 사용하는 한 솔루션이 도움이됩니다.
Tomislav Nakic-Alfirevic

2
감사합니다. 그러나 작동시키기 위해 변경해야했습니다 sudo mount -o umask=0,uid=nobody /dev/something /mnt/somewhere. gi- 매개 변수를 설정하지 않고 작동합니다.
Nippey

2

/ etc / fstab에 항목을 추가하십시오. Seagate USB 드라이브에 몇 시간 전에 추가 한 항목은 다음과 같습니다.

UUID = 4ACC734ECC733375 / media / Linux ext3 errors = remount-ro, 기본값, 사용자, noatime, nodiratime 0 0

여기서 핵심은 사용자가 드라이브를 마운트 및 마운트 해제 할 수있는 "사용자"항목입니다.

편집 : 이것은 특정 드라이브에서 작동합니다- 하나의 항목으로 모든 드라이브에서 사용할 수 있는지 모르겠습니다 .


사용자가 드라이브를 마운트하면 다른 모든 사용자 rw에게도 권한 이 부여됩니까?
Jonas

1

을 입력하십시오 mount. 현재 위치를 알려줍니다. 여기 내 출력이 있습니다.

rick@rick-Main ~ $ mount
/dev/sda4 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda6 on /media/DATA1 type vfat (rw,uid=1000,utf8,umask=077)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=rick)
/dev/sdf1 on /media/usb0 type vfat (rw,noexec,nodev,sync,noatime,nodiratime)

마지막은 Linux Mint가 자동으로 지원하는 USB 드라이브입니다.

이제 입력

sudo umount /dev/sdf1

이것은 드라이브를 마운트 해제합니다

이제 올바르게 다시 마운트하십시오.

sudo mount -t vfat /dev/sdf1 /media/usb0 -o rw,users,umask=0
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.