AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1527782
Accepted
Marco Montevechi Filho
Marco Montevechi Filho
Asked: 2024-09-23 17:31:26 +0800 CST2024-09-23 17:31:26 +0800 CST 2024-09-23 17:31:26 +0800 CST

script de todo o sistema para sessões gráficas remotas no Ubuntu 22.04 com xfce

  • 772

Estou usando o Ubuntu 22.04 com xfce.

Quero colocar um script que faça:

ln -fs /path/to/folder ~/

Toda vez que um usuário faz login via acesso remoto gráfico (particularmente, estou usando remmina). Eu tentei /etc/profile.d, /etc/bash.bashrc, /etc/X11/Xsession.d, /etc/gdm3/PostLogin/Default.sample... nada funciona. Talvez eu precise reiniciar algum serviço?

Eu encontrei isso , mas isso é específico do usuário. O mesmo para isso . Várias outras discussões do fórum não me levaram a lugar nenhum.

Agradeço desde já qualquer ajuda a esta alma desesperada.

20.04
  • 1 1 respostas
  • 24 Views

1 respostas

  • Voted
  1. Best Answer
    terdon
    2024-09-24T20:54:55+08:002024-09-24T20:54:55+08:00

    O problema principal aqui é que há muitas maneiras de gerenciar o login gráfico e algumas delas podem ler /etc/profile, ou /etc/profile.darquivos, ou ~/.profile, mas nem todas são garantidas. Então eu tentaria adicionar o comando aos ~/.profilearquivos do usuário, mas não há garantia de que isso funcione.

    Em vez disso, eu modificaria o processo de criação do usuário, usando o /etc/skelsistema ou configurando por meio dele /etc/adduser.conf, para garantir que o link simbólico seja criado quando o usuário for criado.

    Agora, você mencionou corretamente que os usuários fazem coisas estranhas, e essa é uma preocupação muito válida. Então, mesmo que você crie o link na criação do usuário, você também quer se proteger contra seus usuários fazendo algo, hum, criativo, como excluí-lo. Posso pensar em algumas soluções alternativas:

    1. Mova o link para um diretório e torne esse diretório não excluível:

      ## create a directory with rwxr-xr-x permissions, owned by root
      $ sudo mkdir /home/$username/links
      $ sudo ln -sf  /path/to/folder /home/$username/links/
      

      Agora, seus usuários não podem excluir o link simbólico, mas ele não está mais diretamente abaixo de ~/.

    2. Execute uma tarefa cron a cada minuto para criar o link simbólico.

      Crie um script que percorra todas as casas e crie o link simbólico:

      #!/bin/bash
      
      for userhome in /home/*; do
        [[ -l "$userhome/folder" ]] || ln -s /path/to/folder "$userhome"
      done
      

      Ou, se você também quiser se proteger contra seus usuários usando o mesmo nome de link simbólico para apontar para outro lugar, basta:

      #!/bin/bash
      
      for userhome in /home/*; do
        ln -sf /path/to/folder "$userhome"
      done
      

      Salve isso como fixlinks.she adicione isto a /etc/crontab:

      * *    * * *   root    /path/to/fixlinks.sh
      

      Isso é feio e trabalhoso, mas pelo menos garantirá que ninguém fique sem o link por mais de um minuto ou mais.

    3. Use uma montagem de encadernação.

      Esqueça os links simbólicos, em vez disso, monte o diretório em outro diretório dentro do . do usuário $HOME. Você precisaria, novamente, fazer isso como parte do processo de criação de usuário para novos usuários. A ideia é algo como isto:

      sudo mkdir /home/$username/links/
      sudo mount --bind /path/to/folder /home/$username/links/
      

      Você pode adicionar um @rebootcron job que configure tudo isso, ou usar /etc/fstabpara a montagem. Agora, o usuário tem um ~/linksdiretório que é o /path/to/folderdiretório. Ele pode usá-lo, mas não pode excluí-lo ou desmontá-lo:

      $ mkdir link
      $ sudo mount --bind /test/ link
      $ rm -r link
      rm: cannot remove 'link': Device or resource busy
      $ umount link
      umount: /home/terdon/link: must be superuser to unmount.
      

    Uma das soluções alternativas pode ser uma solução para você, dependendo dos detalhes do que você está fazendo.

    • 1

relate perguntas

  • Como posso configurar a resolução de domínio curinga local (127.0.0.1) em 18.04..20.04?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve