Termux가 내부 스토리지에 액세스 할 수있는 권한이 없습니다.


19

은 Using termux을 ( https://termux.com ) 터미널 에뮬레이션 프로그램, 나는 다음과 같은 명령을 입력합니다 :

ls /sdcard

다음과 같은 오류가 발생합니다.

ls: can't open '/sdcard': Permission denied

안드로이드 의 / sdcard 디렉토리가 심볼릭 링크 라는 것을 깨닫고 실제 디렉토리의 위치를 ​​찾으려고 노력했습니다. 심볼릭 링크가 아니라 다른 심볼릭 링크에 대한 심볼릭 링크이며 실제 디렉토리는 / storage / emulated / 0

그래서 마지막으로 다음을 입력했습니다.

ls -ld /storage/emulated/0

내가 얻은 결과는 다음과 같습니다.

drwxrwx--x   63 root     sdcard_r      4096 Aug 10 12:04 /storage/emulated/0

간단히 말해서 --- termuxsdcard_r 그룹 의 권한으로 실행 되는지 또는 o 권한이 읽기 / 쓰기를 허용하는 데 사용 되는지 여부 를 알지 못합니다. 내부 SD 카드의 내용에 액세스 할 수 있기 때문에 문제를 해결하는 방법이 매우 중요합니다.

아니요, 기기가 루팅되지 않았거나 루팅 할 계획도 없으므로 기기를 루팅해야하는 정보를 제공 할 수 없습니다. 그러나 과거에 뿌리 내리지 않았기 때문에 / sdcard 디렉토리에 대한 읽기 액세스를 막을 수 없었으므로 이것은 새롭고 혼란 스럽습니다.

허용-이전 에이 작업을 시도한 지 몇 달이 지났지 만 Android의 새로운 제한은 termux 및 who-knows-what-else 의 유용성을 심각하게 저해합니다. 내 SD 카드에. (쓰기 권한이 없어도 모든 것이 아니더라도 많은 일을 할 수는 있지만 현재와 같이 읽기 권한을 얻지 못하면 물에 빠져 있습니다.)


흠, READ_EXTERNAL_STORAGE권한 이있는 것 같아서 액세스 권한이 있어야합니다.
Matthew 읽기

3
예 --- 그러나 분명히 꺼졌습니다. 시스템 환경 설정> 일반> 응용 프로그램> Termux -----로 이동했을 때 깨달았으며 어떻게 든 꺼진 파일에 액세스하기위한 토글 스위치가 있음을 발견했습니다. 말할 것도없이-나는 그것을 다시 켜고 문제가 해결되었습니다. ------ 물론 – 즉각적인 위기는 끝났지 만 --- 그래도 여전히 위기의 원인이 무엇인지에 대한 의문이 제기됩니다. (내가 한 적이 없다는 것을 알고있다.)
user3080003

나는 같은 문제를 겪었고 여기에서 당신의 대답은 나를 위해 고쳤습니다. 편집 : 바보 제출 제출. 새 줄을 만들려고했습니다. 내가 생각한 바는 다음과 같습니다 . Android 7은 이제 권한 거부 (yay!)를 허용하지만 Termux의 경우 어떤 이유로 든 다른 프로그램처럼 권한을 요청하지 않습니다. 따라서 문제는 어떻게 든 전원이 꺼진 것이 아니라 결코 켜지지 않았다는 것입니다. 그러나 이것은 추측입니다.
앤드류

3
termux-setup-storage를 실행하여 앱 요청 저장 권한을 만들 수 있습니다. termux.com/storage.html을 참조하십시오 .
fornwall

답변:



5

최신 버전의 Android에서는 앱이 런타임 중에 권한을 요청해야합니다. 이미 눈치 채 셨을 것입니다. 일례로 처음으로 무언가를 다운로드하려고 할 때 저장소 권한을 요청하는 Chrome이 있습니다. Termux의 경우 이것은 문제입니다. 권한은 기본적으로 "허용되지 않음"으로 설정되어 있으므로 Termux가 작업에 대한 권한을 필요로하는 경우 Termux가 이러한 권한을 요청하도록 업데이트되지 않았기 때문에 어쨌든 작업을 수행하려고 시도하고 결과적으로 오류를 발생시킵니다. 불행히도 개발자는이 문제를 직접 해결해야합니다. 고맙게도 Android는 앱 권한을 수동으로 관리하는 방법을 제공합니다. 개발자가 Termux를 적절하게 업데이트 할 때까지는 이것이 유일한 방법 일 것입니다.

1 단계 : Termux의 앱 정보 페이지로 이동

이 페이지에 도달하는 방법은 여러 가지가 있습니다. 전화기마다 동작이 다를 수 있기 때문에 내가 아는 모든 것을 포함 시켰습니다.

방법 1 : 멀티 태스킹 메뉴 사용

  1. Termux를여십시오.
  2. 언론 멀티 태스킹 버튼 멀티 태스크 메뉴를 엽니을. 왼쪽의 홈 버튼 옆에 있어야합니다.
  3. 응용 프로그램 목록에서 Termux가 첫 번째 여야합니다. 아이콘을 길게 누릅니다.

    일부 전화의 경우 이미 정보 페이지에 있습니다. 다른 전화에서는 상단에 Termux의 앱 상자 변경 사항이 표시되고 정보 아이콘 (ℹ)이 어딘가에 나타납니다. 다른 전화는 "앱 정보"옵션이있는 상황에 맞는 메뉴를 제공 할 수 있습니다. 두 경우 모두 탭하십시오.

방법 2 : 알림 패널 사용

  1. Termux를여십시오. Termux의 알림을 표시하려고합니다.
  2. 알림 패널을 아래로 내리고 Termux의 알림을 찾으십시오.
  3. 아래 중 하나를 시도하십시오.

    • 알림을 왼쪽이나 오른쪽으로 밀고 톱니 바퀴 (⛭) 또는 정보 아이콘 (ℹ)을 찾아서 누릅니다. Termux의 알림을 해제 할 수 없으므로 걱정하지 마십시오.
    • 알림을 길게 누르고 톱니 바퀴 (⛭), 정보 아이콘 (ℹ) 또는 "앱 정보"옵션이있는 상황에 맞는 메뉴를 찾아서 누릅니다.
    • 앱 아이콘 및 / 또는 이름을 찾으십시오. 알림을 아래로 스 와이프해야 할 수도 있습니다. 길게 누릅니다. 톱니 바퀴 (⛭), 정보 아이콘 (ℹ) 또는 상황에 맞는 메뉴가 나타날 수 있습니다. 그에 따라 누릅니다.

방법 3 : 앱 관리자 사용

  1. 설정> 앱으로 이동하십시오.
  2. "응용 프로그램 관리자"또는 이와 유사한 것으로 표시된 옵션을 찾으십시오. 장치에 달려있는 것 같습니다.
  3. Termux 항목을 찾아서 누릅니다. 필터를 "설치된 앱"또는 "다운로드 한 앱"으로 변경해야 할 수 있습니다.

2 단계 : 권한 변경

"Uninstall"및 "Force Stop"이라는 두 개의 단추가있는 Termux의 이름, 아이콘 및 버전 번호가있는 페이지가 표시됩니다. 아래에는 다양한 다른 옵션이 있어야합니다.

  1. "권한"이라고 표시된 옵션을 찾으십시오 (스크롤해야 할 수도 있음). 탭하십시오.
  2. 스토리지 권한에 대한 항목이 있어야합니다. 옆에있는 스위치를 클릭하여 켜십시오. 스토리지 권한이 나열되어 있지 않으면 Termux에서 스토리지 관련 명령을 사용하여 권한 거부 오류가 발생하여 다시 돌아옵니다.

변경 테스트

이제 스토리지에 Termux 액세스 권한이 부여되었습니다. 아래 명령을 사용하여이를 테스트 할 수 있습니다
ls /sdcard/
. 권한 거부 오류가 발생하지 않으면 작동했습니다! Termux를 다시 설치하지 않으면이 작업을 다시 수행 할 필요가 없습니다.


0

2017 년 7 월이며 동일한 문제가 있었으며 Google 검색을 위해 여기에 도착했습니다. Matthew Read의 의견은 해결책으로가는 길을 지적했지만 명확하게 철자하는 대답은 없으므로 여기에 tl; dr이 있습니다.

Termux는 설치시 파일 시스템 권한을 요청하지 않으므로 설정 => 응용 프로그램 => Termux => 권한을 통해 설정해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.