Ruby 기반 스냅 'mdl' 사용 시 권한 문제

Ruby 기반 스냅 'mdl' 사용 시 권한 문제

저는 Ruby를 모르지만 Ruby 기반 프로그램인 mdl(markdownlint)을 사용하고 싶어서 snap을 이용해서 설치했습니다.

프로그램을 실행할 수는 있지만 ~/.mdlrc 파일에 사용자 정의를 설정하려고 하면 문제가 발생합니다. 다음 오류가 발생합니다.

 $ mdl README.md
 
 /snap/mdl/171/lib/ruby/gems/2.4.0/gems/mixlib-config-3.0.6/lib/mixlib/config.rb:63:in
 `read': Permission denied @ rb_sysopen - /home/mikeg/.mdlrc
 (Errno::EACCES)
         from /snap/mdl/171/lib/ruby/gems/2.4.0/gems/mixlib-config-3.0.6/lib/mixlib/config.rb:63:in
 `from_file'
         from /snap/mdl/171/lib/ruby/gems/2.4.0/gems/mdl-0.10.0/lib/mdl/cli.rb:122:in
 `run'
         from /snap/mdl/171/lib/ruby/gems/2.4.0/gems/mdl-0.10.0/lib/mdl.rb:16:in
 `run'
         from /snap/mdl/171/lib/ruby/gems/2.4.0/gems/mdl-0.10.0/bin/mdl:10:in `<top
 (required)>'
         from /snap/mdl/171/bin/mdl:23:in `load'
         from /snap/mdl/171/bin/mdl:23:in `<main>'

권한 문제가 어디서 발생하는지 이해가 되지 않습니다.

 $ ls -l ~/.mdlrc ~/.mdlrc.style.rb
 
 -rw-rw-r-- 1 mikeg mikeg 171 Aug 14 16:06 /home/mikeg/.mdlrc
 -rw-rw-r-- 1 mikeg mikeg   4 Aug 14 16:06 /home/mikeg/.mdlrc.style.rb

그리고

drwxr-xr-x 303 mikeg mikeg 65536 Aug 14 21:53 /home/mikeg

그러므로 이 문제를 해결하는 방법을 모르겠습니다. 누구든지 나를 도와줄 수 있나요?

저는 Mate 18.06을 실행하고 있습니다. SELinux가 설치되지 않았지만 AppArmor가 활성화되어 있고 내가 얻은 /var/log/syslog* 파일을 보고 있습니다.

syslog.7.gz:Aug 17 09:08:40 XXXX kernel: [978608.742842] audit: type=1400 audit(1597669720.954:2800): apparmor="DENIED" operation="open" profile="snap.mdl.mdl" name="/home/mi/.mdlrc" pid=13189 comm="ruby" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000

감사해요,

마이크로폰

답변1

SELinux에 대한 @NasirRiely의 질문은 의류 권한과 스냅의 조합으로 인한 문제의 근본 원인을 식별하는 데 도움이 되었습니다. 분명히 내 홈 디렉토리에 있는 파일을 읽을 수 없으며 mdl 스냅 --classic옵션을 설치해도 도움이 되지 않습니다(보안상의 이유로 무시됨).

나는 그 토끼 구멍을 파헤치기 시작했지만 멈추고 보석을 사용하여 Ruby와 MDL을 설치하기로 결정했습니다. 그건,

$ sudo apt-get install ruby-full
$ gem install mdl

관련 정보