Estou no Android usando o Termux e copiei um arquivo do meu sdcard para minha pasta inicial do Termux. (Eu uso um aplicativo explorador de arquivos com permissões de root para isso ..)
Agora, tendo o arquivo em meu diretório pessoal, verifiquei qual é o nome de usuário e os grupos e defini-o como o proprietário desse arquivo e também defini as permissões para 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
Por que ainda não consigo acessá-lo?
Isso funcionou muito bem:
$ 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
O que estou perdendo, como posso obter acesso a esse arquivo da minha conta de usuário sem usar su / sudo etc?
Eu também tentei descobrir se há algum atributo estendido nesse arquivo. De acordo com a Internet, ls -l teria me mostrado que há atributos estendidos com um caractere +
(por exemplo, -rwxrwxrwx+
). Como você pode ver acima, este não foi o caso. Só para ter certeza, também verifiquei usando o comando 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
Os resultados não ficaram claros para mim. Eu não entendo por que isso me diz que existe um atributo "selinux", mas depois se recusa a me dar o valor e quando eu tento com su -c
ele nem lista o atributo "selinux", sem mencionar que recebendo o valor falhar.