cp
새 드라이브가 있고 드라이브에 있는 파일을 쉽게 복사할 수 있습니다. 그러나 이상한 이유로 Permission denied
ffmpeg를 사용하고 있습니다.
뭔가 빠진 것이 없다면 권한은 괜찮아 보입니다.
> ll /media/manos/6TB/
drwxrwxrwx 13 manos 4096 Apr 16 00:56 ./
drwxr-x---+ 6 manos 4096 Apr 16 00:49 ..
-rwxrwxrwx 1 manos 250900209 Apr 15 17:28 test.mp4*
..
하지만 ffmpeg는 계속 불평합니다
> ffmpeg -i test.mp4 test.mov
ffmpeg version n4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
configuration: --prefix= --prefix=/usr --disable-debug --disable-doc --disable-static --enable-avisynth --enable-cuda --enable-cuvid --enable-libdrm --enable-ffplay --enable-gnutls --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopus --enable-libpulse --enable-sdl2 --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-nonfree --enable-nvenc --enable-omx --enable-openal --enable-opencl --enable-runtime-cpudetect --enable-shared --enable-vaapi --enable-vdpau --enable-version3 --enable-xlib
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
test.mp4: Permission denied
아래처럼 복사하시면 됩니다.
> cp test.mp4 test.mp4.bak
'test.mp4' -> 'test.mp4.bak'
무슨 일이 일어나고 있는지에 대한 생각이 있나요? 이것은 매우 성가신 일입니다. ffmpeg는 다음 위치에 설치되어 있습니다./snap/bin/ffmpeg
답변1
그래서 많은 조사 끝에 문제는 스냅 패키지 관리자에 있다고 생각합니다. 분명히 기본적으로 snap은 미디어 디렉터리에 액세스할 수 없으므로 이 문제를 수동으로 수정해야 합니다.
removable-media
다음과 같이 ffmpeg에 액세스 권한이 있는지 확인하십시오.
> snap connections | grep ffmpeg
desktop ffmpeg:desktop :desktop -
home ffmpeg:home :home -
network ffmpeg:network :network -
network-bind ffmpeg:network-bind :network-bind -
opengl ffmpeg:opengl :opengl -
optical-drive ffmpeg:optical-drive :optical-drive -
pulseaudio ffmpeg:pulseaudio :pulseaudio -
wayland ffmpeg:wayland :wayland -
x11 ffmpeg:x11 :x11 -
권한이 누락된 경우 추가하세요.
sudo snap connect ffmpeg:removable-media
답변2
Google에서 권한 문제를 검색하여 이 게시물을 보는 모든 사람:
내 경우 문제는 내 코드에서 방금 만든 파일을 ffmpeg에 전달하기 전에 동일한 방식으로 닫지 않았다는 것입니다. 따라서 ffmpeg가 충돌하는 경우 permission denied
열려 있는 모든 파일 핸들이 닫혀 있는지 확인하십시오.
답변3
스냅을 통한 ffmpeg는 특정 디렉토리만 스냅으로 가져오는 일종의 스냅 제한에 있는 것 같습니다.
현재(2023년 4월) /media 및 /home/$USER는 하드코딩되어 있으며 다른 모든 항목은 작동하지 않습니다(chroot를 생각해 보세요).
자세한 내용은 여기를 참조하세요.https://askubuntu.com/a/1040278/32777특히 댓글창이요
답변4
sudo
명령 앞에 추가되었습니다. 이것은 나에게 효과적입니다.