Eu instalei o Cygwin, depois excluí minha conta do Windows 7 e recriei a conta com o mesmo nome. Agora estou tendo problemas para editar arquivos na minha pasta Cygwin ou criar novas pastas/arquivos. Existe um comando que posso executar para recuperar minhas permissões?
Responder1
eu tive que usartomar posseno cygwin para primeiro se apropriar de todos os arquivos. Executei o cygwin no modo admin (clique com o botão direito). Tomar posse do diretório cygwin é complicado, porquecygdriveirá vincular a todos os seus discos rígidos, então sugiro não fazer isso recursivamente na pasta cygwin. A sintaxe é:
tomar posse /Fpasta/R
onde /R é recursivo. Faça isso para todos os arquivos e pastas no cygwin (ou tente na pasta cygwin, mas eu não recomendo).
Depois disso, precisei configurar minhas permissões através do Windows Explorer. Clique com o botão direito na pasta "cygwin", vá até a aba "segurança", certifique-se de que seu nome de usuário esteja na janela superior. Também removi o usuário "desconhecido", que presumo ser minha conta anterior. Se você não estiver lá: Clique em editar->Adicionar-> Digite seu nome e clique em "Verificar Nomes". Ele deve encontrar quem você pensa que é e clicar em "OK". Clique na caixa de seleção para permitir "Controle total" e deverá marcar todas as caixas. Clique OK".
Então você ainda deve estar na guia de segurança, clique em "Avançado"->"Alterar permissões"->Destaque seu nome de usuário->"editar"->certifique-se de que todas as caixas estejam marcadas em "permitir" e oInscreva-se emé "Esta pasta, subpastas e arquivos" (a caixa de seleção não deve ser marcada). Pressione "OK" uma vez, certifique-se de que "Substituir todas as permissões de objeto filho..." esteja marcado, clique em "OK", "OK", "OK".
E você deve estar pronto para ir.
Responder2
Nomes humanos são irrelevantes. Os computadores trabalham com números.
Neste caso específico, os números sãoidentificadores de segurança, SIDs.
Quando você criou a nova conta, ela recebeu um novo SID. O SID antigo da conta antiga não foi reutilizado. (Isso seria uma bagunça de segurança.) Todos os seus arquivos e diretórios são marcados com o SID antigo como seu criador-proprietário. Eles também provavelmente concedem direitos de acesso, em suas ACLs, aos seus criadores-proprietários ou diretamente ao antigo SID. Assim, ovelhoSID é o que continua a ter os direitos de acesso.
Assim, por exemplo, se sua conta antiga tivesse o SID S-1-5-21-90593156-579754539-1338337383-1002
, sua nova conta teria um SID diferente, como S-1-5-21-90593156-579754539-1338337383-1003
. Os arquivos e diretórios concedem acesso de leitura/gravação/pesquisa/qualquer coisa ao -1002
SID, enquanto o -1003
SID não tem acesso.
Assumir a propriedade, com uma ferramenta como essa, takeown
é uma resposta para isso, no caso em que as ACLs concedem acesso ao criador-proprietário em vez dediretamentepara o antigo SID. Basta alterar quem é o criador-proprietário e as ACLs que concedem direitos ao criador-proprietário concedem automaticamente direitos ao SID correto. O problema é que no Windows NT a permissão para apropriar-sedeve ser concedido pelo proprietário originalao novo proprietário pretendido. A propriedade não pode (sem privilégios especiais) ser cedida, nem assumida sem permissão. Você excluiu a conta com o SID antigo, então agora não há proprietário originalconcedereste direito. Portanto, você deve usar um procedimento de três passagens. Primeiro, uma conta com a capacidade de assumir a propriedade de qualquer coisa (como uma conta de Administrador) deve assumir a propriedade. Em seguida, essa conta deve conceder direitos de propriedade à sua nova conta. Finalmente, sua nova conta deve assumir a propriedade da conta de Administradores.
Se as ACLs concederem acesso diretamente ao SID antigo, em vez de indiretamente por meio do proprietário-criador, a apropriação seránãoa resposta para isso, embora alguém possa querer fazer isso mais tarde por outras razões. Substituir o novo SID pelo antigo SID nas ACEs é. Você faz isso com a subinacl
ferramenta, do Resource Kit, e seu /replace
parâmetro.
Leitura adicional
- Corporação Microsoft (2004).BaixarSubInACL. Centro de downloads.
- Corporação Microsoft (08/03/2003).Descritores de segurança e ferramentas e configurações de listas de controle de acesso. TechNet.
- Jesper M. Johansson (2008).Ferramentas de vigilância de segurança para gerenciamento de ACLs. Revista MSDN. TechNet.
- Jesper M. Johansson (08/11/2005).Como dar um tiro no pé com segurança, parte 2: ACL ou não ACL. TechNet.
- Corporação Microsoft (01/11/2006). Como migrar objetos de um domínio para outro no Windows NT. ID 301940. Base de conhecimento da Microsoft.
Responder3
Então, consegui usar o takeown como administrador no cygwin. Concordo que SOMENTE o diretório cygwin/, em vez de cygdrive, deve ser alterado recursivamente. A única coisa que posso acrescentar é que, depois de assumir a propriedade, consegui emitir comandos unix, como administrador, para alterar as permissões
chmod 744 *
Altera as permissões para que o proprietário tenha rwx e todos os demais tenham somente leitura. Portanto, não há necessidade de mexer no lado do Windows.