Temos um banco de dados de modelo com esquemas, tabelas, sequências etc. Criamos um novo banco de dados a partir dele e fornecemos a propriedade do novo banco de dados a um usuário (um novo usuário criado como parte deste fluxo de trabalho). O novo usuário ainda não tem os privilégios para selecionar dados de tabelas existentes. Qual é a melhor maneira de lidar com isso? A versão PG é 16.3. O novo usuário não precisa obter nenhum privilégio em nenhum banco de dados além do novo criado, mas deve ter os privilégios para fazer praticamente qualquer coisa no novo banco de dados.
Não consigo fazer o DoveCot funcionar em um domínio entre vários domínios e usuários. Todos os outros funcionam perfeitamente. Ao tentar conectar-me à caixa de correio deste usuário, recebo um erro de servidor "Ocorreu um erro interno". e encontrei as seguintes mensagens no log de correio do sistema:
14 de abril 08:57:30 servidor dovecot[902917]: imap(@<domain.com>)<908694>: Erro: chdir(/home/<unix_user>/imap/<domain.com>//) falhou: permissão negado (euid=1004(somename) egid=12(mail) faltando +x perm: /home/<unix_user>, não estamos no grupo 1001(access), diretório pertencente a 1007:1001 mode=0710)
Criei os usuários, domínios e caixas de correio Unix com DirectAdmin.
Eu já tentei $ sh /usr/local/directadmin/scripts/set_permissions.sh all (executar como root) sem sucesso. E comparei todas as permissões de todos os arquivos relacionados ao email (/home/<unix_user>/imap/... e /etc/virtual/...) com outro usuário para o qual tudo funciona. Nenhuma diferença encontrada lá.
Estou no Almalinux 8.9 com DirectAdmin 1.661.
Alguma sugestão de como devo encontrar a causa disso?
As instruções do plugin ACL do Dovecot indicam que para ACLs globais, devemos criar um arquivo ACL /etc/dovecot/.
e incluir os itens da lista de controle de acesso nele. Então eu criei /etc/dovecot/global-acls
e incluí...
inbox.Archive owner lrwstipeka
inbox.Drafts owner lrwstipeka
inbox.Sent owner lrwstipeka
inbox.Junk owner lrwstipeka
inbox.Trash owner lrwstipeka
... o que supostamente impede que os usuários excluam essas pastas do sistema .
Este arquivo é então carregado a partir do /etc/dovecot/conf.d/90-acl.conf
plugin ...
protocol imap {
mail_plugins = $mail_plugins acl imap_acl
}
plugin {
acl = vfile:/etc/dovecot/global-acls:cache_secs=300
}
plugin {
acl_shared_dict = file:/path/to/mailbox/root/shared-mailboxes
}
O problema que estou tendo é que estou recebendo os seguintes erros em meu syslog, mostrando que há um problema de permissão com esse arquivo (ou possivelmente com stat()
, não tenho certeza).
Error: acl vfile: stat(/etc/dovecot/global-acls) failed: Permission denied
Fatal: acl: backend vfile init failed with data: /etc/dovecot/global-acls:cache_secs=300
drw-rw----. 3 vmail dovecot 4096 Jan 26 13:37 .
drwxr-xr-x. 126 root root 12288 Jan 26 16:52 ..
drw-rw----. 2 vmail dovecot 4096 Jan 25 15:46 conf.d
-rw-rw----. 1 vmail dovecot 535 Jan 26 20:17 dovecot.conf
-rw-rw----. 1 vmail dovecot 257 Jan 26 13:35 global-acls
Como você pode ver, as permissões são definidas da mesma forma que os outros arquivos em /etc/dovecot
. Procurei por horas por erros relacionados, mas estou perdido.
Alguma sugestão?
Estou executando um domínio do Windows Active Directory usando dois DCs de 2016. Tudo sobre o domínio e minhas políticas de GPO estão funcionando corretamente. No entanto, quando abro o Gerenciamento de Política de Grupo e, em seguida, seleciono um GPO vinculado em uma unidade organizacional e, em seguida, seleciono a guia Delegação, recebo uma caixa de diálogo modal 'Acesso negado'. Se eu selecionar um GPO no contêiner 'Objetos de Política de Grupo', recebo imediatamente uma caixa de diálogo modal 'Acesso negado'.
Não parece importar de que grupo faço parte (administradores, administradores de domínio, administradores corporativos) e revisei as permissões de políticas no SYSVOL e nada parece errado para mim. Até agora, isso é apenas um incômodo, mas estou me perguntando qual é a causa e como corrigi-la.
Também notei alguns outros detalhes:
- A parte Filtragem WMI na guia Escopo dos detalhes da política está faltando.
- Não há usuários listados na parte Filtragem de Segurança da guia Escopo para obter detalhes da política.
Eu faço login em um servidor membro ou no controlador de domínio e o gpmc funciona corretamente (nenhuma mensagem de acesso negado para delegação, a Filtragem WMI aparece, a Filtragem de Segurança tem seus usuários preenchidos)
Ativei o log de gerenciamento de política de grupo por meio de chaves de registro e comparei a saída do log de um sistema bom com um sistema ruim. Está muito claro que minha estação de trabalho está tendo acesso negado, mas não há uma razão clara para que isso aconteça.
Ruim:
[127c.2f4] 11/07/2023 09:32:33:087 [VERBOSE] CEffectivePermissionsTable::Load(): Loading from cn={xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx},cn=policies,cn=system,DC=myname,DC=mydomain,DC=com.
[127c.2f4] 11/07/2023 09:32:33:106 [WARNING] CSecurityUtility::GetDSSecurityDescriptorDacl(): GetNamedSecurityInfo for LDAP://MyDC1.myname.mydomain.com/cn={xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx},cn=policies,cn=system,DC=myname,DC=mydomain,DC=com failed with 0x80070005.
[127c.2f4] 11/07/2023 09:32:33:106 [WARNING] CGPOPermissionsTable::GetSecurityDescriptors(): GetDSSecurityDescriptorDacl failed with 0x80070005.
[127c.2f4] 11/07/2023 09:32:33:106 [WARNING] CEffectivePermissionsTable::Load(): GetSecurityDescriptors failed with 0x80070005.
[127c.2f4] 11/07/2023 09:32:33:106 [WARNING] CGPMSecurityInfo::Load(): Load failed with 0x80070005.
[127c.2f4] 11/07/2023 09:32:33:107 [VERBOSE] CGPMGPO::GetSecurityInfo(): Loading for GPO cn={xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx},cn=policies,cn=system,DC=myname,DC=mydomain,DC=com
[127c.2f4] 11/07/2023 09:32:33:107 [WARNING] CGPMGPO::GetSecurityInfo(): Load failed with 0x80070005.
Bom:
[192c.528] 11/07/2023 03:57:42:427 [VERBOSE] CEffectivePermissionsTable::Load(): Loading from cn={xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx},cn=policies,cn=system,DC=myname,DC=mydomain,DC=com.
[192c.528] 11/07/2023 03:57:42:443 [VERBOSE] CEffectivePermissionsTable::GetOrAddEntry: Entry already found for S-1-5-11
[192c.528] 11/07/2023 03:57:42:443 [VERBOSE] CGPMSecurityInfo::Load(): Dumping permissions table.
[192c.528] 11/07/2023 03:57:42:443 [VERBOSE] ==========BEGIN EFFECTIVE PERMISSIONS LIST DUMP==========
...dumps ACLS.....
Ao ver a mensagem de acesso negado nos logs, usei o ldp.exe vinculado como meu usuário na estação de trabalho e ele também é capaz de consultar e recuperar as ACLs sem problemas.
Além disso, Get-GPPermission da minha estação de trabalho também retorna um acesso negado, mas não em um servidor membro ou controlador de domínio.
Instalei o NFS em um servidor em meu laboratório, o servidor exporta dois discos,/disk1 e/disk2, posso ver com sucesso as unidades exportadas usando:
showmount -e 192.168.1.245
Também posso montar as unidades:
mount 192.168.1.245:/disk1 /disk1
Isso me dá uma unidade montada na minha máquina local (também NetBSD 9.3) /disk1
No entanto, não consigo adicionar, excluir ou modificar arquivos, recebo:
touch: notes.txt: Permission denied
A pasta local usada para o ponto de montagem pertence ao usuário usuário (não raiz), o ponto de montagem no servidor para /disk1 e /disk2 também pertence a um usuário chamado usuário (não raiz), mesmo grupo e uid, 1000 e 100.
Este é meu arquivo /etc/exports:
/data1 -alldirs -mapall=1000:100 -network 192.168.1.245 -mask 255.255.255.0
/data2 -alldirs -mapall=1000:100 -network 192.168.1.245 -mask 255.255.255.0
Já tentei montar como root, tanto localmente quanto no servidor, também tentei a mesma coisa como usuário, nada parece ajudar, qualquer ajuda é muito apreciada!
Atualização não sei o que resolveu, mas está tudo funcionando agora, tentei desmontar os drives e montar novamente, reiniciar o servidor etc. tudo ainda funciona, mesmo arquivo /etc/exports, sem alterações, mesmos usuários e direitos.
Estou administrando um servidor RedHat onde os usuários fazem login através de SSH com autenticação baseada em chave privada/pub.
Eu gostaria de evitar que eles alterem/excluam/chmoding acidentalmente o conteúdo de suas pastas ~/.ssh . Alguns deles já modificaram recursivamente 777-chmode toda a sua própria pasta pessoal porque “era mais fácil compartilhar arquivos com colegas dessa maneira” e se esfaquearam no pé.
Alguma ideia de como posso conseguir isso? De preferência com sistema de permissão Linux padrão.
Eu uso o proxmox em cima do Debian 12 (bookworm).
Como usuário root, configurei o proprietário do diretório '/data' para berdux:berdux e até configurei as permissões para 777.
Então eu monto 4 discos nesta pasta com mergerfs (novamente o usuário berdux tem acesso total e permissões para essas montagens ZFS).
mergerfs -o cache.files=partial,dropcacheonclose=true,category.create=mfs /D2TBa/2TBa:/D2TBb/2TBb:/D4TBa/4TBa:/D4TBb/4TBb /data
Aí mudo para o usuário berdux (su berdux) e perco o acesso a essa pasta.
O que vejo com ls -l do root:
drwxrwxrwx 3 berdux berdux 3 Sep 14 10:56 data
E então com ls -l do usuário berdux:
d????????? ? ? ? ? ? data
Tentei executar o comando mergerfs do usuário berdux com sudo e tentei colocá-lo no fstab (e reiniciei várias vezes), mas nada muda.
Também quero compartilhar esta pasta com o samba, e isso não é possível enquanto o usuário não tiver acesso a ela.
Realizando uma migração de todos os arquivos "pessoais" dos usuários para o OneDrive e sou bastante novo nisso tudo.
Minha pequena organização está migrando para o SharePoint e o OneDrive, e nossos usuários não estão sincronizados entre o On Premise AD e o AzureAD/365.
Bem direto, use a Ferramenta de Migração do SharePoint, use uma conta de administrador que tenha acesso de leitura aos compartilhamentos FS e uma conta da Microsoft que tenha acesso ao destino e configure o CSV com origens e destinos.
Problema, o GPO de redirecionamento de pasta tem a configuração:
- Conceda ao usuário direitos exclusivos. Essa configuração é habilitada por padrão e é uma configuração recomendada. Esta configuração especifica que o administrador e outros usuários não têm permissões para acessar esta pasta.
Sem direitos de administrador nos arquivos de destino. E a ferramenta de migração do SharePoint requer direitos READ na origem e READ/WRITE no destino da migração.
Então temos algo parecido com:
\fileserver\users\user1\Documents \fileserver\users\user2\Documents
O controle total do administrador termina após \user1\ e qualquer coisa além disso exige que você assuma a propriedade ...
Agora, minha ideia original era apenas assumir a propriedade recursivamente, migrar para o OneDrive e pronto, minha visão de "chefe" é que deveria haver uma maneira de fazer logins de usuários.
Correndo completamente em branco...
Principalmente procurando ideias, alternativas ou avisos para problemas que eu não esperaria.
Se não pode ser feito assim, não pode ser feito...
Em um servidor de arquivos, uma pasta base contém as pastas do usuário:
Esta pasta base está protegida contra as ações do usuário (exclusão, renomeação, dump de arquivos, etc), os usuários só podem lê-la e percorrê-la:
Para proteger a pasta raiz de cada usuário, nego explicitamente o direito de excluir sua própria pasta:
Isso implica adicionar um deny
em cada pasta.
Fazer isso na pasta base não funciona: deny
para o grupo Users
de delete
subpastas, para This foler only
--> eles ainda podem excluir sua própria pasta, porque as permissões herdadas (negar para excluir) têm menos precedência do que as permissões explícitas (permitir modificar).
Com meu método, os usuários ainda podem ocultar sua própria pasta raiz. Isso não é um problema, mas mostra que a pasta não está 100% protegida contra ações.
- eu uso o método "canônico"?
- como evitar que os usuários ocultem sua própria pasta? Ou qualquer outra coisa irritante
- alguma sugestão?
Eu quero que um usuário específico altere recursivamente o proprietário e o grupo de todo o conteúdo de um diretório específico e apenas desse diretório. O diretório é uma espécie de "caixa de entrada", onde um serviço grava arquivos e subdiretórios.
Atualmente, tenho um administrador sudo chown
, mas prefiro que o proprietário do destino faça isso sozinho, sem que esse usuário tenha mais permissões do que as necessárias. Digamos que o proprietário original é "chefe", e o proprietário final deve ser "público". Nenhum usuário está no mesmo grupo.
sudo chown -R audience:watchers /usr/files/pathofdir
Não está certo, porque não quero que o público tenha autoridade ilimitada para usar chown. Meu primeiro palpite foi tentar adicionar "audiência" a /etc/ sudoers com permissão para /usr/bin/chown e /usr/bin/chgrp. Mas isso é autoridade demais.
Pensei em escrever um script exclusivamente para audiência, mas não sei como fazer esse script ter as permissões corretas e nada mais.
Qual é uma boa maneira de fazer isso?