Linux에서 마운트하기 위해 사용자가 마운트 / 루트 당 sudo / 특정 적으로 권한을 부여해야하는 이유는 무엇입니까? 사용자가 무언가를 마운트 할 수 있는지 여부는 소스 볼륨 / 네트워크 공유 및 마운트 지점에 대한 액세스 권한을 기반으로 결정해야합니다. 비 루트 마운트의 두 가지 용도는 파일 시스템 이미지를 사용자 소유 방향으로 마운트하고 네트워크 공유를 사용자 소유 디렉토리에 마운트하는 것입니다. 사용자가 마운트 방정식의 양쪽을 제어 할 수 있다면 모든 것이 시원해야합니다.
접근 제한의 명확화 :
사용자가 소유 한 마운트 포인트에 액세스 할 수있는 모든 것을 마운트 할 수 있어야한다고 생각합니다.
예를 들어, 내 컴퓨터에서 / dev / sda1은 권한이있는 사용자 루트 및 그룹 디스크가 소유합니다 brw-rw----
. 따라서 루트가 아닌 사용자는 / dev / sda1을 엉망으로 만들 수 없으며 마운트를 허용하지 않아야합니다. 그러나 사용자가 /home/my_user/my_imagefile.img 및 마운트 지점 / home / my_user / my_image /를 소유 한 경우 다음을 사용하여 해당 마운트 지점에 해당 이미지 파일을 마운트 할 수없는 이유는 무엇입니까?
mount /home/my_user/my_imagefile.img /home/my_user/my_image/ -o loop
Kormac이 지적했듯이 suid 문제가 있습니다. 따라서 suid가 잠재적으로 다른 문제가되는 것을 방지하기 위해 일부 제한을 추가해야합니다. 아마도 이것을 수행하는 한 가지 방법은 OS가 모든 파일을 마운트를 수행 한 사용자의 것으로 취급하게하는 것입니다. 그러나 간단한 읽기 / 쓰기 / 실행의 경우 이것이 왜 문제가되는지 알 수 없습니다.
사용 사례 :
실험실 공간이 8GB로 제한된 실험실에 계정이 있습니다. 이것은 작고 매우 성가시다. 필자는 개인 서버에서 nfs 볼륨을 마운트하여 기본적으로 사용 가능한 공간을 늘리고 싶습니다. 그러나 리눅스는 그런 것들을 허용하지 않기 때문에 나는 scp'ing 파일을 8GB 한도 이하로 유지하기 위해 계속 붙어 있습니다.
sshfs
? ssh
루트 액세스 권한이 없어도 자신을 통해 원격 디렉토리를 마운트합니다 . FUSE (UserSpacE의 파일 시스템) 만 설치하면됩니다.
sftp
경우보다 사용하기에 좋습니다 scp
.