Modo "Regular" para administradores e moderadores (por exemplo, algo como "sudo")

Sou administrador e participante nos sites de discussão do Fedora. Gostaria de poder separar essas funções. Sei que existe a “cor da equipe” para Posts Oficiais, mas me refiro mais do meu lado. Em vez de chaves e botões de administrador em todos os lugares sempre que estou logado, eu gostaria de um botão de menu que ativasse o Modo de Administrador.

15 curtidas
6 curtidas

Nós também temos

Ambos os plugins permitem disfarçar sua identidade como membro da equipe. Ou seja, você pode fazer uma postagem de uma conta com aparência mais “oficial”, que não pode ser obviamente vinculada a você como indivíduo.

No entanto, acho que não é bem isso que você está pedindo? Você quer uma maneira de fazer o Discourse parecer/sentir como para usuários regulares e, em seguida, “entrar no modo sudo” para tornar toda a funcionalidade extra exclusiva para administradores disponível?

Acho que seria bastante difícil de implementar… mas seria muito legal! Muitos anos atrás (antes de eu me juntar à equipe), criei este componente para meu próprio fórum auto-hospedado. Ele tem o mesmo tipo de ideia (tornar os privilégios regulares/de administrador óbvios), mas é limitado a um caso muito específico:

Se houver outros casos estritamente definidos que costumam ser confusos em seu site, pode ser possível criar componentes de tema semelhantes para exibir avisos antes de realizar ações exclusivas para administradores.

7 curtidas

Sim, exatamente. Acho que isso vem em parte de anos sendo um sysadmin, e tendo a ideia de “menor privilégio necessário” incutida em mim pela experiência prática. (rm -rf como root no lugar errado em um sistema de produção é um rito de passagem!)

6 curtidas

Isso também é de meu interesse. Minha solução alternativa atual é usar tanto o Chrome quanto o Edge. No Chrome, tenho minha conta de administrador, mas no Edge, estou na conta de administrador e assumo a identidade de uma conta de usuário com um e-mail expirado. A personificação é apenas porque não quero falar com o TI.

Na sua situação, você poderia criar um segundo login e ter um navegador para administrador, um navegador para usuário. Não é perfeito, mas para mim tem sido bom o suficiente.

5 curtidas

Aqui está um bom exemplo de onde isso seria útil:

Eu não quero ser capaz de violar acidentalmente as regras de marcação pretendidas. (Moderadores não administradores também podem fazer isso acidentalmente? Não consigo testar facilmente, mesmo.)

Eu poderia criar uma conta de administrador separada e rebaixar a minha principal para um usuário regular, mas tenho medo de perder notificações e mensagens importantes de sinalização.

4 curtidas

Isso é algo tratado pelo próprio navegador, veja

4 curtidas

Isso parece apenas permitir que eu troque perfis inteiros do navegador? Isso não parece ajudar, a menos que você crie uma conta de usuário Discourse totalmente diferente para uso administrativo.

Ou estou perdendo alguma coisa. Por exemplo, @codinghorror, sua conta está listada como administradora aqui, então presumo que, a menos que você esteja fazendo algo que eu entendi totalmente errado, você esteja rodando no modo administrador agora. Mas você também está agindo como um usuário do site. Você não encontra situações em que (por exemplo) você cria acidentalmente posts que não seguem as regras de tags configuradas? (Eu já fiz isso mais de uma vez por acidente…)

2 curtidas

Na verdade não – parte de ser um administrador é entender a responsabilidade que você tem e os limites que deve respeitar. Se você não consegue fazer isso, não deve ter privilégios de administrador.

Mas também me coloco no lugar das pessoas que querem ser ultra seguras e recomendo que usem duas contas e façam login como um usuário regular quando precisarem ter certeza absoluta.. e usando o suporte de perfil de navegador integrado, isso é muito fácil de fazer.

7 curtidas

Bem, é mais ou menos a mesma coisa que rodar como root em um sistema Linux o tempo todo. Não se trata apenas de respeitar limites, mas de não ultrapassá-los acidentalmente quando você não percebe que eles estão lá. Algumas coisas, como acessar as configurações, não acontecerão por acidente, mas parece haver muitas pequenas coisas em que o administrador ignora a configuração sem qualquer indicação de que algo está sendo ignorado.

Como eu disse acima, ter uma segunda conta não é muito bom, porque eu só veria as notificações dessa conta com pouca frequência.

6 curtidas

Entendo a preocupação, mas na prática não é um grande problema, pelo menos não nos 10 anos em que trabalhei neste projeto.

(lembre-se também que revogamos automaticamente o acesso de funcionários e exigimos revalidação por e-mail para funcionários ausentes por muito tempo, o que corrige a maioria disso automaticamente, na minha opinião)

1 curtida

Olá Matt!
Apenas para adicionar um pouco mais de contexto, a possibilidade de um usuário administrador agir como um usuário regular adicionaria uma dimensão extra a toda a lógica de autorização relacionada ao administrador.

Embora essa lógica esteja em grande parte centralizada em guardian.rb e /lib/guardian/*.rb, a complexidade e o potencial de bugs para tal mudança seriam muito grandes, e a necessidade dessa funcionalidade precisaria superar isso em muito, o que não acontece, dadas as alternativas.

1 curtida

Seria possível considerar uma “proteção” mais direcionada para algumas das coisas mais acidentalmente possíveis? Como uma configuração: “A equipe deve seguir as regras de marcação de categoria”? Honestamente, apenas isso resolveria a maior parte do problema prático que estou enfrentando.

Ou… acho meio estranho que outras coisas como o tamanho da postagem ainda sejam protegidas até mesmo para administradores… talvez, na verdade, essa coisa em particular seja uma questão de simplesmente fazer com que funcione assim em vez de adicionar uma opção?

Adicionar o comprimento da postagem exigiria a alteração de todo o banco de dados. Há um número máximo de caracteres que podemos armazenar no banco de dados por campo.

Para mim, isso parece um non sequitur, mas talvez eu esteja apenas perdendo alguma coisa. Quero dizer:

  • Se eu for um administrador e tentar postar uma postagem menor que min post length, recebo a mensagem de erro normal e não consigo prosseguir.
  • Se eu for um administrador e tentar postar sem tags em uma categoria que exige uma, o sistema simplesmente me deixa prosseguir.

O que está sendo armazenado no banco de dados aqui?

3 curtidas

Ah, desculpe, eu quis dizer apenas o comprimento da postagem/título – existe um tamanho máximo para o conteúdo do comprimento da postagem no campo real do banco de dados onde ele é armazenado. Existe uma regra semelhante para o título da postagem, um número máximo de caracteres alocado para esse campo específico no banco de dados.

Portanto, se um administrador decidisse: “ei, eu quero uma postagem de 900.000 caracteres” ou “ei, eu quero uma postagem com um título de 500 caracteres”, isso não seria possível sem alterar o banco de dados.

É realmente uma questão técnica, mas como você mencionou o comprimento da postagem, eu estava pensando sobre isso.

1 curtida

Ah, ok. Sim, é realmente o oposto do problema com o qual estou preocupado :slight_smile:

Assumo que o OP pretendia funcionar a maior parte do tempo como um usuário regular. Para mim, também quero me sentir como um usuário simples:

  • menos botões
  • sem acesso a ações de moderador/administrador
  • usar casos de uso simples

Após atualizações ou ajustes, gostaria de interagir com o fórum como um usuário regular o vê para evitar mal-entendidos.

Para mim, o modo de administrador da comunidade é necessário apenas para atualizações ou testes com plugins e interface do usuário. Não preciso ser moderador o tempo todo também. Além disso, acho que para algumas pessoas como eu, alternar temporariamente para administrador é melhor do que ter duas contas.

O OP escreveu sobre sudo. Isso é quase o mesmo, mas invertido. Geralmente, alterno temporariamente para anônimo para verificar alguns casos. De qualquer forma, seria ótimo ter alguma opção leve para ativar o modo de administrador, como ‘fingir’ sob uma conta regular especial.

6 curtidas

Isso me lembra de algo que aconteceu há alguns dias. Estou no processo de migrar um fórum.

Concedi privilégios de administrador ao admin do fórum antigo.
Ele é um usuário do Discourse em dois outros fóruns, e também um moderador. Então ele sabe um pouco sobre a interface e navegação do Discourse.

De sua conta de administrador (não escrevi nenhuma orientação para ele, deixei que ele descobrisse as coisas) ele me disse que ficou surpreso ao ver que podia acessar mensagens diretas de outras pessoas; Ele clicou um pouco aleatoriamente em uma página de perfil público e viu uma lista de mensagens diretas, o que o surpreendeu.

Ele me disse que de repente pensou: “Ah, bem, parece que estou em um lugar onde não deveria estar” (para ser entendido como: ele não deveria estar aqui se não tiver um propósito administrativo/de moderação neste momento).

Ele não tem ideia de que poderia acessar essas mensagens da interface tão facilmente quanto acessa suas próprias mensagens diretas de seu perfil.

E também aconteceu comigo algumas semanas atrás, apesar do fato de eu ser administrador de dois fóruns Discourse desde 2018… :sweat_smile:

Na minha opinião, na aba “mensagem direta” do perfil público de um usuário, como admin, deveria haver um ícone ou qualquer tipo de aviso de que clicar nele é uma ação de moderação ou administração, pois você verá coisas destinadas a serem “privadas” (na mente de 99% dos usuários, de qualquer forma). :man_shrugging:

5 curtidas

Então… tenho pensado sobre isso, e estou menos convencido de que seja uma grande mudança, afinal. Claro, há muita lógica espalhada, mas tudo se resume a verificar is_admin ou is_staff?

O “sudo” apenas precisaria adicionar uma opção “staff_mode”, e as funções is_staff e is_admin poderiam verificar o estado dessa opção E o sinalizador user.admin ou user.staff. (Claro, ativar a opção precisaria de uma verificação especial que apenas olharia o valor de user.admin ou user.staff.)