Ok, isso é novo. Eu já vi casos como esse com dispositivos de armazenamento com defeito, com falhas no armazenamento remoto (SAN, NAS), acho que vi algo semelhante causado por permissões de montagem. Mas é a primeira vez que vejo isso acontecendo no mesmo sistema de arquivos que meu homedir ....
Estou muito curioso sobre isso ... Que tipo de permissão está entrando aqui? Definitivamente não monta (eu estou no mesmo sistema de arquivos ext4), não SELinux, nem ACLs. Então o que???
Não me lembro de como esse diretório foi criado. É provável que tenha sido criado por algum tipo de software.
Para mim, a parte mais estranha é que o diretório nem mesmo pode ver as informações de seus pais ou de seus pais (último comando) ...
Linux Mint Sarah
user01@MyPC ~/somedirectory $ ls -l ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:
ls: negaliu pasiekti './deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:/workspace': Permission denied
viso 0
d????????? ? ? ? ? ? workspace
user01@MyPC ~/somedirectory $ ls -ld ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:
drw-r--r-- 3 user01 user01 4096 Rgs 27 2016 ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:
user01@MyPC ~/somedirectory $
user01@MyPC ~/somedirectory $
user01@MyPC ~/somedirectory $ ls -l ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:
ls: negaliu pasiekti './deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:/workspace': Permission denied
viso 0
d????????? ? ? ? ? ? workspace
user01@MyPC ~/somedirectory $
user01@MyPC ~/somedirectory $
user01@MyPC ~/somedirectory $ sudo file ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:
./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:: directory
user01@MyPC ~/somedirectory $ sudo ls -l ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:
viso 4
drwxr-xr-x 3 user01 user01 4096 Rgs 27 2016 workspace
user01@MyPC ~/somedirectory $ sudo stat ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:
File: './deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:'
Size: 4096 Blocks: 8 IO Block: 4096 aplankas
Device: 807h/2055d Inode: 3937216 Links: 3
Access: (0644/drw-r--r--) Uid: ( 1000/ user01) Gid: ( 1000/ user01)
Access: 2017-09-21 12:57:33.990819052 +0300
Modify: 2016-09-27 11:18:38.309775066 +0300
Change: 2017-03-13 14:56:40.960468954 +0200
Birth: -
user01@MyPC ~/somedirectory $ sudo getfacl ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:
# file: deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:
# owner: user01
# group: user01
user::rw-
group::r--
other::r--
user01@MyPC ~/somedirectory $ stat ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:
File: './deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:'
Size: 4096 Blocks: 8 IO Block: 4096 aplankas
Device: 807h/2055d Inode: 3937216 Links: 3
Access: (0644/drw-r--r--) Uid: ( 1000/ user01) Gid: ( 1000/ user01)
Access: 2017-09-21 12:57:33.990819052 +0300
Modify: 2016-09-27 11:18:38.309775066 +0300
Change: 2017-03-13 14:56:40.960468954 +0200
Birth: -
user01@MyPC ~/somedirectory $ stat ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:/workspace
stat: nepavyksta patikrinti './deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:/workspace': Permission denied
user01@MyPC ~/somedirectory $ sudo stat ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:/workspace
File: './deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:/workspace'
Size: 4096 Blocks: 8 IO Block: 4096 aplankas
Device: 807h/2055d Inode: 3937217 Links: 3
Access: (0755/drwxr-xr-x) Uid: ( 1000/ user01) Gid: ( 1000/ user01)
Access: 2017-09-21 12:58:46.845727190 +0300
Modify: 2016-09-27 11:18:38.309775066 +0300
Change: 2016-12-02 13:56:08.298109826 +0200
Birth: -
user01@MyPC ~/somedirectory $ stat .
File: '.'
Size: 4096 Blocks: 8 IO Block: 4096 aplankas
Device: 807h/2055d Inode: 3278479 Links: 23
Access: (0755/drwxr-xr-x) Uid: ( 1000/ user01) Gid: ( 1000/ user01)
Access: 2017-09-21 09:46:22.102269130 +0300
Modify: 2017-09-20 17:33:04.564009275 +0300
Change: 2017-09-20 17:33:04.564009275 +0300
Birth: -
user01@MyPC ~/somedirectory $ ll ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:/
ls: negaliu pasiekti './deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:/workspace': Permission denied
ls: negaliu pasiekti './deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:/.': Permission denied
ls: negaliu pasiekti './deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:/..': Permission denied
viso 0
d????????? ? ? ? ? ? ./
d????????? ? ? ? ? ? ../
d????????? ? ? ? ? ? workspace/
user01@MyPC ~/somedirectory $
Atributos:
user01@MyPC ~/somedirectory $ sudo lsattr ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:/
-------------e-- ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:/workspace
user01@MyPC ~/somedirectory $ sudo lsattr ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D\:/workspace
-------------e-- ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D:/workspace/directory2
user01@MyPC ~/somedirectory $
fonte
Respostas:
Nos arquivos, a leitura é suficiente para verificar as permissões. Você precisa ler E executar nas pastas para executá-las.
Capital X para definir apenas a execução em pastas (e arquivos que já possuem o conjunto de bits).
fonte
A leitura das permissões de um arquivo requer que
stat(2)
ele seja chamado , e isso requer a permissão de execução / acesso no diretório que contém (todos os diretórios no caminho). Na verdade, é o mesmo com todas as outras chamadas de sistema que usam um nome de arquivo. No entanto, a leitura do conteúdo de um diretório (a lista de nomes de arquivos) requer apenas acesso de leitura no diretório.No seu snippet de amostra:
ls
tentou ligarstat(".../bin/D:/workspace")
, conseguiu um erro e reclamou. Em alguns sistemas, você pode obter informações parciais das chamadasreaddir
/getdents
junto com os nomes dos arquivos, sem precisar usarstat
. Como aqui,workspace
é mostrado para ser um diretório.E aqui vemos que não há x bit para nenhum usuário:
Como root, você obtém uma lista completa, pois ser root ignora completamente os bits de permissão.
fonte
LC_ALL=C
exportado para o seu ambiente?Para examinar os atributos do arquivo, é necessário o direito de ler o diretório. Se isso não for possível, pontos de interrogação serão mostrados.
Pelo motivo pelo qual esse usuário não pode ler as informações, consulte os atributos do diretório (
.../D:/.
acima). Outra causa possível seria se o diretório foi removido ou está inacessível (por exemplo, sistema de arquivos de rede, identificador obsoleto) por um motivo diferente dos modos de acesso.fonte
ll
falha comouser01
em qualquer um dos pais até a raiz). Não há necessidade de postar a saída, diga-nos o resultado, por favor.ls
teste. O resultado é idênticox
mostra a bandeira, então HoD está certo. Eu não tinha visto isso em sua saída desordenada.strace
teria lhe dito isso. também.Hoje tive um problema muito parecido, com sintomas semelhantes: pontos de interrogação nos campos de permissões e propriedade e, mesmo com root / sudo, não consegui alterar nada disso. Por fim, lembrei-me de que esse diretório em particular era realmente o ponto de montagem para um diretório no compartilhamento de arquivos do Windows, que eu havia configurado algumas semanas atrás (em uma sessão de teste para ver se o Samba / CIFS é bom para o meu projeto) e aparentemente entretanto, foi desmontado. Depois de reemitir o
mount.cifs
comando e inserir minhas credenciais para a parte Windows da nossa rede, o 'ls' relatou informações normais de permissão e propriedade no diretório. Como os sintomas se pareciam exatamente com os seus, pergunto-me se você está em uma situação semelhante, também porque "D:" parece muito Windows-ish.fonte
~
). Além disso, eles já sabem que problemas como esse podem ocorrer devido a problemas no armazenamento remoto.stat
comando confirma isso. Compare oDevice
campo parastat .
vs sudo stat ./deploy_dir/liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/bin/D \: File: './deploy_dir/liferay-portal-6.1.1-ce -ga2 / tomcat-7.0.27 / bin / D: ''. É o mesmo. Esta saída é uma boa evidência de que eles estão no mesmo sistema de arquivos.