저는 Android에서 Termux를 사용하고 있으며 SD 카드의 파일을 Termux 홈 폴더로 복사했습니다. (루트 권한이 있는 파일 탐색기 앱을 사용하고 있습니다..) 이제 홈 디렉터리에 파일이 있고, 내 사용자 이름과 그룹을 확인하고 나를 파일 소유자로 설정하고 권한 설정을 777로 변경했습니다.
$ whoami
u0_a87
$ groups
u0_a87
$ su -c chown u0_a87:u0_a87 Files.zip
$ su -c chmod 777 Files.zip
$ ls -la
total 7292
drwx------ 2 u0_a87 u0_a87 4096 Jul 22 09:13 .
drwx------ 4 u0_a87 u0_a87 4096 Jul 22 09:13 ..
-rwxrwxrwx 1 u0_a87 u0_a87 7454766 Jul 22 01:24 Files.zip$ unzip
Files.zip
unzip: can't open Files.zip[.zip]
$ cat Files.zip
cat: Files.zip: Permission denied
왜 아직도 접속할 수 없나요?
그런데, 이것은 잘 작동합니다:
$ mkdir test
$ zip -r test.zip test
adding: test/ (stored 0%)
$ ls -la
total 7300
drwx------ 3 u0_a87 u0_a87 4096 Jul 22 09:31 .
drwx------ 4 u0_a87 u0_a87 4096 Jul 22 09:13 ..
-rwxrwxrwx 1 u0_a87 u0_a87 7454766 Jul 22 01:24 Files.zip
drwx------ 2 u0_a87 u0_a87 4096 Jul 22 09:31 test
-rw------- 1 u0_a87 u0_a87 160 Jul 22 09:31 test.zip
$ rm -rf test
$ unzip test.zip
Archive: test.zip
$ unzip test.zip
Archive: test.zip
$ ls -la
total 7300
drwx------ 3 u0_a87 u0_a87 4096 Jul 22 09:31 .
drwx------ 4 u0_a87 u0_a87 4096 Jul 22 09:13 ..
-rwxrwxrwx 1 u0_a87 u0_a87 7454766 Jul 22 01:24 Files.zip
drwx------ 2 u0_a87 u0_a87 4096 Jul 22 09:31 test
-rw------- 1 u0_a87 u0_a87 160 Jul 22 09:31 test.zip
무엇이 빠졌나요? su/sudo 등을 사용하지 않고 내 사용자 계정에서 이 파일에 어떻게 액세스할 수 있나요?
또한 파일에 확장된 속성이 있는지 알아보려고 했습니다. 인터넷에 따르면 ls -l은 +
문자에 대한 확장된 속성(예 : ) 이 있음을 알려줍니다 -rwxrwxrwx+
. 위에서 볼 수 있듯이 이는 사실이 아닙니다. 확실히 하기 위해 attr
다음 명령을 사용하여 확인했습니다.
$ attr -l ./Files.zip
Attribute "selinux" has a 28 byte value for ./Files.zip
$ attr -g selinux ./Files.zip
attr_get: No data available
Could not get "selinux" for ./Files.zip
$ su -c attr -l ./Files.zip
sush: attr: not found
$ su -c attr -g selinux ./Files.zip
sush: attr: not found
나는 결과를 모른다. "selinux" 속성이 있다고 알려주는 이유를 이해할 수 없지만 값 제공을 거부하고 이를 사용하려고 하면 su -c
값을 가져오는 것은커녕 "selinux" 속성도 나열되지 않습니다. 실패합니다.
답변1
나는 똑같은 문제에 직면했습니다. 여기서 정확히 무슨 일이 일어나고 있는지는 모르겠지만 해결 방법은 별도의 파일 탐색기를 사용하지 않고 파일을 복사하는 것입니다. 대신, termux에 관련 Android 권한이 있는지 확인하세요(설정->애플리케이션->권한 및/또는 termux-setup-storage 실행).
SD 카드에 심볼릭 링크된 termux 홈 폴더에 Storage라는 또 다른 폴더가 있어야 합니다.
답변2
루트로 Android 7x가 있습니다.restorecon copy_of_file.db
나는 같은 문제에 직면했고 질문에 자세히 설명된 동일한 결과를 얻었습니다. termux 위키는 이 문제를 해결하기 위한 충분한 단서를 제공합니다. 실행할 수 있어야 합니다 restorecon
(이 경우 루트로 tsudo
).