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.
O problema principal aqui é que há muitas maneiras de gerenciar o login gráfico e algumas delas podem ler
/etc/profile
, ou/etc/profile.d
arquivos, ou~/.profile
, mas nem todas são garantidas. Então eu tentaria adicionar o comando aos~/.profile
arquivos 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/skel
sistema 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:
Mova o link para um diretório e torne esse diretório não excluível:
Agora, seus usuários não podem excluir o link simbólico, mas ele não está mais diretamente abaixo de
~/
.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:
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:
Salve isso como
fixlinks.sh
e adicione isto a/etc/crontab
:Isso é feio e trabalhoso, mas pelo menos garantirá que ninguém fique sem o link por mais de um minuto ou mais.
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:Você pode adicionar um
@reboot
cron job que configure tudo isso, ou usar/etc/fstab
para a montagem. Agora, o usuário tem um~/links
diretório que é o/path/to/folder
diretório. Ele pode usá-lo, mas não pode excluí-lo ou desmontá-lo:Uma das soluções alternativas pode ser uma solução para você, dependendo dos detalhes do que você está fazendo.