// mount samba directory
sudo mount -t cifs //$host/$path $mountpath -o username=$user,noauto,user,uid=1001,gid=1002,forceuid,forcegid
//mount remote ftp
echo $key | sshfs $user@$host: $mount -C -p $port -o idmap=user -o password_stdin
sudo 권한으로 첫 번째 명령을 실행해야 합니다. 그렇지 않으면 mount.cifs: permission denied: no match for XXXX found in /etc/fstab
프롬프트가 나타납니다.
그러나 내가 실행하는 두 번째 명령은 sudo 권한 없이 성공합니다.
두 명령 모두 원격 디렉터리를 Linux 파일 시스템에 마운트하지만 왜 다르게 동작합니까?
보안 정책을 보장하기 위해 권한이 있는 사용자가 설치 작업을 수행해야 한다고 생각했는데, 오해가 있습니까?
사용자가 sudo 권한을 부여하지 않고 파일을 마운트할 수 있나요?
답변1
이는 특정 파일 시스템에 따라 다릅니다.
sshfs는 FUSE(사용자 공간의 파일 시스템)이며 슈퍼유저 권한이 필요하지 않습니다.
CIFS는 커널 모듈이며 루트가 필요합니다. 바라보다:CIFS 드라이버가 사용자 모드입니까, 아니면 커널 모드입니까?
일반 사용자로 공유를 마운트 하려는 경우 cifs
사용합니다 sudo
. 바라보다:사용자가 cifs 공유를 마운트할 수 있는 sudoer 사양은 무엇입니까?
게다가fuse-nfs
https://github.com/sahlberg/fuse-nfs