Como obter permissões do Cygwin no Windows 7

3

Eu instalei o Cygwin, depois deletei minha conta do Windows 7 e recriou a conta com o mesmo nome. Agora estou tendo problemas para editar arquivos na pasta do Cygwin ou criar novas pastas / arquivos. Existe um comando que eu possa executar para recuperar minhas permissões?

    
por Stuart 25.01.2012 / 00:30

3 respostas

7

Eu tive que usar o takeown no cygwin para primeiro tomar posse de todos os arquivos. Eu corri o cygwin no modo admin (clique com o botão direito). Assumir a propriedade do diretório cygwin é complicado, porque o cygdrive irá vincular a todos os seus discos rígidos, então eu sugiro não fazer recursivamente na pasta cygwin. A sintaxe é:

takeown / pasta / R

onde / R é recursivo. Então 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 do mouse na pasta "cygwin", vá para a guia "segurança", verifique se o seu nome de usuário está na janela superior. Também removi o usuário "desconhecido", que presumo ser minha conta anterior. Se você não está lá: Clique em editar- > Adicionar > Digite seu nome e clique em "Verificar nomes". Ele deve encontrar quem você pensa que é e, em seguida, clique em "OK". Clique na caixa de seleção para permitir "Full Control" e deve marcar todas as caixas. Clique OK".

Você ainda deve estar na guia de segurança, clicar em "Avançado" - > "Alterar permissões" - > Realce seu nome de usuário- > "editar" - > verifique se todas as caixas estão marcadas em "permitir" e o Aplicar a é "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 do objeto filho ..." esteja marcada, clique em "OK", "OK", "OK".

E você deve ser bom para ir.

    
por 25.01.2012 / 22:39
2

Nomes humanos são irrelevantes. Computadores trabalham com números.

Neste caso particular, os números são identificadores de segurança , SIDs.

Quando você criou a nova conta, ela recebeu um novo SID. O antigo SID 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 antigo SID como seu criador-proprietário. Eles também provavelmente concedem direitos de acesso, em suas ACLs, a seus proprietários criadores ou diretamente ao SID antigo. Assim, o antigo SID é o que continua a ter os direitos de acesso.

Assim, por exemplo, se sua conta antiga tiver o SID S-1-5-21-90593156-579754539-1338337383-1002 , sua nova conta terá um SID diferente, como S-1-5-21-90593156-579754539-1338337383-1003 . Os arquivos e diretórios concedem leitura / gravação / pesquisa / qualquer acesso ao -1002 SID, enquanto o -1003 SID não tem acesso.

Assumir a propriedade, com uma ferramenta como takeown é uma resposta para isso, para o caso em que as ACLs concedem acesso ao criador-proprietário em vez de diretamente ao SID antigo. Basta alterar quem é o proprietário do criador e as ACLs que concedem direitos ao proprietário do criador concedem automaticamente direitos ao SID correto. O problema é que, no Windows NT, a permissão para assumir a propriedade deve ser concedida pelo proprietário original ao novo proprietário pretendido. A posse não pode (sem privilégios especiais) ser doada, nem assumida sem permissão. Você excluiu a conta com o SID antigo, então agora não há proprietário original para conceder esse direito. Assim você tem que usar um procedimento de três passagens. Primeiro, uma conta com a capacidade de apropriar-se de qualquer coisa (como uma conta de Administradores) deve assumir a propriedade. Em seguida, essa conta deve conceder direitos de propriedade para sua nova conta. Por fim, 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 criador-proprietário, a propriedade não será a resposta a isso, embora seja possível fazer isso posteriormente por outros motivos . Substituindo o novo SID para o antigo SID nas ACEs é. Você faz isso com a ferramenta subinacl , do Resource Kit, e seu parâmetro /replace .

Outras leituras

por 25.01.2012 / 12:33
2

Então eu pude usar o takeown como administrador sob o cygwin. Concordo que SOMENTE o diretório cygwin /, em vez de cygdrive, deve ser alterado de forma recursiva. A única coisa que posso adicionar é que, uma vez que tomei posse, fui capaz de emitir comandos unix, como administrador, para alterar as permissões

chmod 744 *

Altera as permissões para que o proprietário tenha o rwx e todos os demais tenham somente leitura. Então, não mexer com o lado do Windows.

    
por 05.02.2013 / 23:41