O que é uma boa alternativa para o comando sux?

12

Com a próxima versão 14.04, o sux (invólucro em torno do su que transferirá suas credenciais X) não será mais incluído no Ubuntu. (Eu acho que está sendo removido porque está sendo retirado do Debian, devido à falta de manutenção do código original.)

Estou procurando alternativas simples, não algo que exija que você mexa com os arquivos de configuração ou execute o sshd localmente.

Søren
fonte
Revisores: Isso não é fora de tópico, não tem nada a ver com o 14.04.
Seth
Você realmente precisa disso? Se as opções do sudoers estiverem configuradas da mesma forma (ou seja, para que o sudo preserve HOME ao alterar identidades), não será necessário fazer nada de especial com o .Xauthority. É assim que meu laptop está configurado, e eu nunca uso sux ... apenas 'sudo {command}'
Stabledog
@Stabledog, como isso funcionaria? Onde eu configuraria isso? Existe um arquivo de configuração do sudo? Meu objetivo é efetuar login na área de trabalho do usuário A e obter um terminal como usuário B, onde todo x está passando pela área de trabalho. Espero que isso faça sentido ... Exemplo do que eu poderia fazer agora com sux, que preciso de alternativas para: O usuário A efetua login e abre o terminal A @ desktop: ~ $ sux - BB @ desktop: ~ $ firefox O Firefox é aberto, mas com as configurações, favoritos e arquivos do usuário B acessam o diretório inicial do usuário B.
Søren
Sim, eu faço esse tipo de coisa o tempo todo. Há duas coisas a entender: ~ / .Xauthority para o usuário "externo" precisa se tornar a .Xauthority também para o usuário interno, e a configuração da variável DISPLAY por ssh precisa corresponder no shell interno. Assim, você pode, por exemplo, copiar o arquivo ~ / .Xauthority de '/ home / tom' para / home / jerry, corrigir as permissões, definir o valor DISPLAY no shell 'jerry'. Ao iniciar um programa X como jerry, o valor DISPLAY diria às bibliotecas X como encontrar a exibição e o arquivo .Xauthority em / home / jerry forneceria os dados de autenticação.
precisa saber é
Mas isso é complicado de fazer em cada login. É mais fácil corrigir seus / etc / sudoers para que os valores HOME e DISPLAY de tom sejam preservados quando ele faz um 'sudo -u jerry bash' para abrir um shell como jerry. Existem comentários nos sudoers que explicam como propagar variáveis ​​de ambiente em uma chamada sudo. Certifique-se de usar o visudo ao editar sudeors, para não ficar fora da máquina se você estragar tudo!
precisa saber é

Respostas:

9

Também fiquei muito triste ao ver que não havia uma alternativa fácil sux, mas terminei com isso:

  • em /etc/pam.d/su, para encaminhar chaves xauth entre usuários ao chamar su, adicione: session optional pam_xauth.so

  • em ~ olivier / .bashrc: export $(dbus-launch) (não tenho certeza se é realmente necessário)

  • e, em seguida, um simples su olivierdo meu usuário conectado
olivm
fonte
1
Eu recebo "Nenhum protocolo especificado" quando eu "su" depois de fazer isso
Claudiu
-1
  • Faça o download do sux aqui http://fgouget.free.fr/index-en.shtml
  • Copie sux para o diretório em seu caminho (/ usr / local / bin, por exemplo)
  • Alterar permissões para executável (chmod 755 sux), não sei se essas permissões são as mais apropriadas
  • Substitua / bin / sh por / bin / bash

O sistema Mi é o debian 10

Saudações

user999562
fonte
1
Olá e bem-vindo ao AskUbuntu. Como o nome de domínio sugere, este site é sobre o Ubuntu. A solução da sua solução funciona no Ubuntu? Por que é necessário substituir /bin/shpor /bin/bash?
Simon Sudler