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 / user-9178

symcbean's questions

Martin Hope
symcbean
Asked: 2025-01-16 00:58:07 +0800 CST

Encaminhamento de agente ssh - o que está acontecendo nos bastidores?

  • 5

Quando pergunto ao Google como o encaminhamento de agentes ssh funciona, ele me dá muitos links para lixo otimizado para SEO explicando como provisionar o ssh-agent. NÃO é isso que estou perguntando.

Atualmente, tenho um problema em que os trabalhos iniciados em uma sessão de tela no lado mais distante de uma conexão VPN falham porque não conseguem se conectar via ssh depois que a VPN falha.

Normalmente, esses trabalhos dependem do encaminhamento de agente do cliente de origem para conectar. Tenho suspeitas sobre o que está errado aqui, mas um melhor entendimento de todo o encaminhamento de agente ajudaria aqui.

Quando eu conecto do host0 para o hosta, o ssh-agent no host0 fornece minha chave privada para o cliente ssh no host0. No hosta, vejo SSH_AUTH_SOCK preenchido referenciando um socket local. Se, no hosta, eu então ssh hostb, o cliente ssh de alguma forma se conecta ao ssh-agent no host0. Presumivelmente, isso está usando um canal alternativo na conexão ssh host0-hosta.

O que está acontecendo em $SSH_AUTH_SOCK no hosta?

(fuser $SSH_AUTH_SOCK sugere que nada está aberto)

No caso da minha sessão de tela, se a sessão SSH que iniciou a sessão de tela tiver terminado e eu iniciar uma nova sessão SSH do host0 para o hosta, as solicitações de chave da sessão de tela serão enviadas pela nova conexão?

ssh
  • 2 respostas
  • 48 Views
Martin Hope
symcbean
Asked: 2024-09-26 23:02:58 +0800 CST

Openssh SendEnv+AcceptEnv não está funcionando como esperado

  • 7

Quero enviar algumas variáveis ​​de ambiente por ssh. Eu alterei o sshd_config no servidor, adicionando um arquivo em /etc/ssh/sshd_config.d contendo:

# NB This DOES NOT conflict with PermitUserEnvironment=No
AcceptEnv NOTIF* LANG LC_*

e reiniciei o sshd. Ao executar ssh -o SendEnv=NOTIF* localhost printenvas variáveis ​​não foram definidas no final remoto.

Já havia uma entrada em /etc/ssh/sshd_config contendo AcceptEnv LANG LC_*. Comentar isso + reiniciar não teve impacto no comportamento.

$ export NOTIFY_WHAT="SERVICE"
$ export NOTIFY_SHORTDATETIME="CRIT"
$ export NOTIFY_HOSTNAME="web.example.com"
$ export NOTIFY_HOSTOUTPUT="host is up"
$ export NOTIFY_HOSTSTATE="OK"
$ export NOTIFY_NOTIFICATIONTYPE="PROBLEM"
$ export NOTIFY_SERVICEDESC="cmk-test"
$ export NOTIFY_SERVICEOUTPUT="oh no its broken!"
$ export NOTIFY_SERVICESTATE="CRIT"

$ ssh -o SendEnv=NOTIF* localhost printenv
SHELL=/bin/bash
LANGUAGE=en_US.UTF-8
SSH_AUTH_SOCK=/tmp/ssh-XXXXIxNz4o/agent.8579
PWD=/home/symcbean
LOGNAME=symcbean
MOTD_SHOWN=pam
HOME=/home/symcbean
LANG=C.UTF-8
SSH_CONNECTION=127.0.0.1 35340 127.0.0.1 22
USER=symcbean
SHLVL=0
SSH_CLIENT=127.0.0.1 35340 22
LC_ALL=C
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games
_=/usr/bin/printenv

Então não está funcionando, mas estranhamente, um LANG modificado é enviado:

$ export LANG=en_GB.UTF-8
$ ssh -o SendEnv=NOTIF* localhost printenv
SHELL=/bin/bash
LANGUAGE=en_US.UTF-8
SSH_AUTH_SOCK=/tmp/ssh-XXXXIxNz4o/agent.8579
PWD=/home/symcbean
LOGNAME=symcbean
MOTD_SHOWN=pam
HOME=/home/symcbean
LANG=en_GB.UTF-8
SSH_CONNECTION=127.0.0.1 35340 127.0.0.1 22
USER=symcbean
SHLVL=0
SSH_CLIENT=127.0.0.1 35340 22
LC_ALL=C
PATH=/usr/local/bin:/usr/bin:/bin:/usr/games
_=/usr/bin/printenv

(embora eu esteja conectando usando localhost, o cliente e o servidor são executados em contêineres WSL separados. O cliente é 1:8.9p1-3ubuntu0.7, o servidor é openssh-server 1:9.2p1-2+deb12u3).

Só para não haver ambiguidade:

$ ssh -o SendEnv=NOTIF* localhost 'find /etc/ssh -type f -exec grep -H AcceptEnv {} \;'
grep: /etc/ssh/ssh_host_ed25519_key: Permission denied
grep: /etc/ssh/ssh_host_rsa_key: Permission denied
grep: /etc/ssh/ssh_host_ecdsa_key: Permission denied
/et`c/ssh/sshd_config.d/allowcheckmk:AcceptEnv NOTIF* LANG LC_*
/etc/ssh/sshd_config:# AcceptEnv LANG LC_*

ATUALIZAÇÃO Com isso, -vvposso ver que o cliente parece estar enviando os dados - eles não estão sendo aceitos/estão sendo descartados no terminal remoto...

debug1: Sending environment.
debug1: channel 2: setting env NOTIFY_SERVICESTATE = "CRIT"
debug2: channel 2: request env confirm 0
debug1: channel 2: setting env NOTIFY_HOSTSTATE = "OK"
debug2: channel 2: request env confirm 0
debug1: channel 2: setting env NOTIFY_WHAT = "SERVICE"
debug2: channel 2: request env confirm 0
...
ssh
  • 1 respostas
  • 22 Views
Martin Hope
symcbean
Asked: 2024-01-04 19:22:09 +0800 CST

Script Bash - verifique se algum arquivo foi alterado recentemente

  • 6

Estou escrevendo um script que precisa verificar se algum arquivo em um determinado diretório foi modificado recentemente. Achei que poderia simplesmente usar find, mas ele relata sucesso mesmo que não encontre uma correspondência:

$ touch afile
$ find . -mtime -1 -iname ????*
./afile
$ echo $?
0
$ find . -mtime +1 -iname ????*
$ echo $?
0

(Estou apenas usando o predicado iname para excluir '.' aqui - mas o mesmo comportamento com -type f)

Eu preferiria não ter que analisar a saída, lspois isso pode ser temperamental .

Usar test -n "$(find . -mtime -1 -iname ????*)"parece dar o resultado desejado, mas não me parece uma solução particularmente elegante.

Não preciso saber quais arquivos foram modificados - apenas se ALGUM tiver sido alterado recentemente (onde "recentemente" geralmente será de 1 dia).

Existe uma maneira melhor de fazer isso?

(pesquisando no Google, encontro muitas porcarias de SEO sobre como executar uma busca simples)

bash
  • 4 respostas
  • 90 Views
Martin Hope
symcbean
Asked: 2023-07-11 00:44:29 +0800 CST

Bash gerenciar lista separada de espaço

  • 5

Eu tenho um script de shell bastante complexo que processa várias listas de valores que são lidos de um arquivo como valores separados por espaço, por exemplo

SET1="value1 value2 value3"

for i in ${SET1}; do
   ...

Agora quero criar uma lista formatada de forma semelhante no script para escrever. No entanto, se eu fizer (por exemplo) isso:

DISCOVERED=''
DISCOVERED+=( us-east-1 )
DISCOVERED+=( us-east-2 )
DISCOVERED+=( us-west-1 )
for REGION in ${DISCOVERED} ; do
    echo $REGION
done

Eu não recebo nenhuma saída. Eu recebo saída se eu especificar in ${DISCOVERED[@]}. Parece que estou trabalhando com diferentes tipos de dados em SET1 e DISCOVERED.

Posso anexar facilmente a uma string com valores separados por espaço, mas acabo com um espaço inicial ou final que precisa ser limpo:

function append_discovered {
   local VALUE="$1"
   if [ -z "${DISCOVERED}" ] ; then
      DISCOVERED="$VALUE"
   else
      DISCOVERED="${DISCOVERED} ${VALUE}"
   fi
}

.... mas isso parece bastante complicado.

Eu poderia tratar minha variável de saída como uma matriz - mas preciso convertê-la de volta ( DISCOVERED="${DISCOVERED[@]}") em locais apropriados para usar uma construção diferente para iterar por meio desta lista do que para as outras listas.

Qual é o tipo de dados para meus dados de entrada (por exemplo, $SET1 acima) se não for um array?

Existe uma maneira mais simples de anexar esta lista e manter o mesmo tipo de dados?

bash
  • 2 respostas
  • 66 Views
Martin Hope
symcbean
Asked: 2022-04-09 05:32:29 +0800 CST

Log do Systemd/rsyslog não está funcionando conforme o esperado

  • 1

Eu tenho uma caixa Ubuntu 20.04LTS bastante baunilha, onde implantei o Tomcat9 do repositório. Fora da caixa, isso parece estar configurado para gravar seus logs em /var/log/tomcat9/ e, de fato, existem arquivos de log lá. No entanto, eles têm apenas uma pequena fração das informações que eu esperava - o restante é visível na saída systemctl status tomcat9e está sendo gravado em /var/log/syslog.

A única coisa relevante no arquivo de unidade fornecido é.....

SyslogIdentifier=tomcat9

Enquanto a instalação do tomcat também criou /etc/rsyslog.d/tomcat9.conf contendo....

# Send Tomcat messages to catalina.out when using systemd
$template TomcatFormat,"[%timegenerated:::date-year%-%timegenerated:::date-month%-%timegenerated:::date-day% %timegenerated:::date-hour%:%timegenerated:::date-minute%:%timegenerated:::date-second%] [%syslogseverity-text%]%msg%\n"

:programname, startswith, "tomcat9" {
  /var/log/tomcat9/catalina.out;TomcatFormat
  stop
}

Um exemplo de saída desystemctl status tomcat9

● tomcat9.service - Apache Tomcat 9 Web Application Server
     Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/tomcat9.service.d
             └─override.conf
     Active: active (running) since Fri 2022-04-08 13:07:39 UTC; 17min ago
       Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html
    Process: 1006 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=0/SUCCESS)
   Main PID: 1026 (java)
      Tasks: 53 (limit: 2274)
     Memory: 332.9M
     CGroup: /system.slice/tomcat9.service
             └─1026 /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.C>

Apr 08 13:20:14 myhost.example.com tomcat9[1026]: [cfPullService] DEBUG 13:20:14 ConnectionManager.openConnection(444) | opening JDBC connection
Apr 08 13:20:14 myhost.example.com tomcat9[1026]: [cfPullService] DEBUG 13:20:14 JDBCTransaction.begin(87) | current autocommit status: true
Apr 08 13:20:14 myhost.example.com tomcat9[1026]: [cfPullService] DEBUG 13:20:14 JDBCTransaction.begin(90) | disabling autocommit
Apr 08 13:20:14 myhost.example.com tomcat9[1026]: [cfPullService] DEBUG 13:20:14 JDBCTransaction.commit(134) | commit
Apr 08 13:20:14 myhost.example.com tomcat9[1026]: [cfPullService] DEBUG 13:20:14 JDBCTransaction.toggleAutoCommit(227) | re-enabling autocommit

O "cfPullService" acima vem do código java implantado (que é efetivamente uma caixa preta) e pode conter outros valores em outros momentos.

E exemplo das entradas em /var/log/syslog...

Apr  8 13:20:12 myhost tomcat9[1026]: [cfPullService] INFO 13:20:12 RunSearchManagerImpl.runEarlyEngagementSearch(165) | Finished saving early engagement notices.
Apr  8 13:20:12 myhost tomcat9[1026]: [cfPullService] INFO 13:20:12 RunSearchManagerImpl.runPipelineSearch(176) | Running pipeline search

O /etc/rsyslog.d/tomcat9.conf fornecido se parece com isso:

# Send Tomcat messages to catalina.out when using systemd
$template TomcatFormat,"[%timegenerated:::date-year%-%timegenerated:::date-month%-%timegenerated:::date-day% %timegenerated:::date-hour%:%timegenerated:::date-minute%:%timegenerated:::date-second%] [%syslogseverity-text%]%msg%\n"

:programname, startswith, "tomcat9" {
  /var/log/tomcat9/catalina.out;TomcatFormat
  stop
}

Eu tentei criar um arquivo de substituição do systemd (e apliquei um reload do daemon) com ....

[Service]
StandardOutput=syslog
StandardError=syslog

mas isso não teve impacto no comportamento.

Como é que eu

  1. obtenha a saída do tomcat para ir para um arquivo em /var/log/tomcat9
  2. pare de enviar a saída do tomcat para /var/log/syslog
ubuntu systemd
  • 1 respostas
  • 302 Views
Martin Hope
symcbean
Asked: 2021-10-15 06:17:09 +0800 CST

Desvio louco do relógio na VM antiga

  • 1

Estou preso a uma VM Centos 5.3 (executando no Proxmox) que exibe um enorme desvio de relógio. Ele foi configurado para executar o ntpdate a cada 5 minutos, mas o relógio ainda estava ficando fora de sincronia em até 20 segundos entre as execuções. Eu tentei executar o ntpd (e parar o cron job), mas não está relatando nenhum erro / não consigo ver um arquivo ntp.drift sendo criado em qualquer lugar e o relógio continua a oscilar.

Estou executando aproximadamente 30 VMs e o mesmo número de contêineres no cluster - nada mais apresenta o mesmo problema. Além do endereço do servidor não há outra configuração em /etc/ntp.conf

ntp
  • 1 respostas
  • 92 Views
Martin Hope
symcbean
Asked: 2021-09-23 01:10:57 +0800 CST

O Postfix acha que está em um sistema de arquivos somente leitura?

  • 1

Eu quero executar algumas análises no meu mail.log (postfix 3.2.13 no Ubuntu 20.04 LTS), incluindo a atualização de um banco de dados de e-mails não entregues, então escrevi o script, excluí mail.log do script genérico /var/log logrotate e criei um new /etc/lorotate.d/mail_log que executou o script na seção post-rotate. Embora o script estivesse sendo invocado, não foi possível gerar o arquivo db:

postfix/postmap[540039]: fatal: open /etc/postfix/bad_recipients.db: Read-only file system

Pensando que isso pode realmente ser um problema de permissões, adicionei uma regra sudoers para o usuário syslog (os arquivos /var/log/mail são de propriedade do usuário syslog) e alterei o script logrotate:

/var/log/mail.log
{
        rotate 30
        daily
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
                /usr/lib/rsyslog/rsyslog-rotate
                sudo /usr/local/sbin/mailfail.sh
        endscript
}

Mas ainda recebo o mesmo erro relatado na parte superior de cada mail.log ( Read-only file system) e o banco de dados não é atualizado.

O fato de o script estar sendo executado sugere que não é um problema de configuração incorreta de chroot ou permissões ou sudo no script. Os outros arquivos que estão sendo gravados para ter permissões para o usuário syslog (o usuário que possui os arquivos de log).

O Rsyslogd parece ser o único executável na cadeia que está sujeito a um perfil apparmor - mas adicionar o caminho /etc/postfix* (rwk) ao perfil e alternar de reforçar para reclamar não teve impacto no erro.

(executar o script a partir do comando funciona conforme o esperado)

ubuntu postfix
  • 1 respostas
  • 166 Views
Martin Hope
symcbean
Asked: 2019-12-04 03:36:21 +0800 CST

Como configurar o fail2ban sem um arquivo de log?

  • 0

Estou tentando configurar uma política no fail2ban - a detecção e a identidade de mau comportamento são bastante complexas no meu caso, então eu estava planejando lidar com isso em um programa dedicado. Em vez de ter esse programa gravando no log e fail2ban pesquisando o log para ver se ele deveria agir, pensei que seria mais simples invocar fail2ban-client banipdiretamente do detector. no entanto, fail2ban está se recusando a reconhecer minha configuração de jail porque não possui um filtro definido.

Devo fornecer um arquivo de log e filtro? Existe uma maneira de convencer o fail2ban a funcionar sem isso? Se eu precisar informar ao fail2ban sobre um arquivo de log, ele precisa existir no sistema de arquivos?

fail2ban logs
  • 1 respostas
  • 116 Views
Martin Hope
symcbean
Asked: 2019-09-20 06:13:29 +0800 CST

Ubuntu não responderá na mesma interface

  • 0

Eu tenho uma VM Ubuntu 18.04 (ou seja, NetworkManager / netplan / systemd-networkd) que estava funcionando bem até que eu tentei adicionar uma segunda interface. Inicialmente, tive problemas com o DHCP ainda em execução depois de configurar um endereço estático (ainda estava definindo um gw e DNS padrão adicional) que acho que agora está resolvido. A nova interface (ens192) é responsiva, mas não consigo me conectar à interface original (ens160).

Eu testei isso tentando me conectar à interface 10.2.0.20 (ens160) de um cliente em 10.1.1.1 (ou seja, através do roteador configurado como gateway padrão).

Verificando com o dump TCP, vejo o pacote TCP syn chegando do cliente no ens160, mas o host está respondendo (ack) na nova interface. Não há regras do iptables configuradas.

Esta foi a tabela de roteamento:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use 
Iface
0.0.0.0         10.2.0.254      0.0.0.0         UG    100    0        0 ens160
10.1.0.0        0.0.0.0         255.255.0.0     U     101    0        0 ens192
10.2.0.0        0.0.0.0         255.255.0.0     U     100    0        0 ens160
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ens160

(Não tenho ideia de onde veio o endereço 169.254.0.0). Observei que a rota ens192 lan tem uma métrica mais alta que a ens160. Eu esperava que isso explicasse exatamente o oposto do comportamento que vejo (ou seja, a métrica mais alta pode significar que os pacotes enviados para 10.1.0.0 são respondidos acima de 10.2.0.0), mas apenas para verificar, alterei isso para o mesmo valor que o outros:

 # ip route del 10.1.0.0/16 dev ens192
 # ip route add 10.1.0.0/16 dev ens192 metric 100
 # route -n
 Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
 0.0.0.0         10.2.0.254      0.0.0.0         UG    100    0        0 ens160
 10.1.0.0        0.0.0.0         255.255.0.0     U     100    0        0 ens192
 10.2.0.0        0.0.0.0         255.255.0.0     U     100    0        0 ens160
 169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ens160

Isso não teve impacto no comportamento.

Hopw faço as duas interfaces funcionarem conforme o esperado (de preferência sem quebrar o netplan)?

Eu li isso - mas não estou tentando enviar tráfego através de um roteador, apenas para a LAN conectada. Caso seja relevante, aqui está meu netplan atual:

 # This file describes the network interfaces available on your system
 # For more information, see netplan(5).
 network:
   version: 2
   renderer: networkd
   ethernets:
     ens160:
       dhcp4: no
       addresses: [10.2.0.27/16]
       gateway4: 10.2.0.254
       nameservers:
         addresses: [10.2.0.52,10.2.0.61]
     ens192:
       dhcp4: no
       addresses: [10.1.0.73/16]
ubuntu
  • 1 respostas
  • 667 Views
Martin Hope
symcbean
Asked: 2019-09-05 13:15:43 +0800 CST

Definir código de saída incorreto no alias

  • 0

Estou adicionando alguns aliases ao .bashrc para desencorajar as pessoas de usarem comandos padrão onde há um processo mais complexo envolvido na obtenção do resultado desejado. Mas como posso definir o código de saída caso o alias seja invocado a partir de um script? Idealmente, sem gerar uma mensagem de erro espúria como "nenhum arquivo ou diretório" (encontrei isso , mas certamente existe uma maneira mais limpa?)

por exemplo

 alias useradd='echo "Nope....you should be using the custom script."'

deve resultar.....

 # useradd newuser
 Nope....you should be using the custom script.
 # echo $?
 -1
 #
bash
  • 1 respostas
  • 639 Views
Martin Hope
symcbean
Asked: 2019-06-28 01:53:02 +0800 CST

Pegada de arquivo invisível (du vs df)

  • 3

Estou ciente dos motivos esperados pelos quais du e df relatarão diferenças , no entanto, não posso imaginar que justifiquem a discrepância que estou vendo:

[[email protected] mynfsmount]# df -h /opt/mynfsmount
Filesystem            Size  Used Avail Use% Mounted on
192.168.0.92:/data/export/examplecom
                      3.0T  2.7T  391G  88% /opt/mynfsmount
[[email protected] mynfsmount]# du -sh /opt/mynfsmount
13G     /opt/mynfsmount

ou seja, df está relatando ~300 vezes o uso de relatórios.

Pode ser significativo que o servidor NFS seja uma caixa Synology, o host seja Centos 5.11 (erk!) e não haja nenhum diretório perdido+encontrado em /opt/mynfsmount. Este é um sistema que herdei e há pouca informação disponível sobre a quantidade de dados que se espera que esteja lá.

Atualmente lsof relata apenas um único arquivo excluído ainda aberto.

Alguma sugestão do que eu tento em seguida?

files nfs
  • 1 respostas
  • 652 Views
Martin Hope
symcbean
Asked: 2019-05-11 08:02:12 +0800 CST

su: não pode abrir a sessão: permissão negada

  • 0

Estou recebendo "acesso negado" tentando fazer login como root no console e via ssh (sim, eu sei que o acesso root ssh deve ser desabilitado - acabei de herdar esta caixa). Eu posso fazer login como usuário não root que tem acesso sudo a "ALL", mas quando sudo su -recebo:

su: cannot open session: Permission denied

Se eu executar 'su' com o que acredito ser a senha correta, recebo "Falha de autenticação".

Olhando ao redor da Internet, posso ver muitos casos em que as pessoas não podem "su - usuário não-root ", mas nenhum dos remédios que funcionaram lá parecem se aplicar aqui. As permissões em /etc, /etc/pam.d são 0755, e /etc/pam.d/* são todas 0644 exceto pelos links simbólicos que são mais permissivos. O shell do root em /etc/passwd é /bin/bash (trabalhando para meu usuário não root). Não há /etc/nologin

Este é um anfitrião Centos bastante envelhecido.

Prefiro não colocar a caixa offline para repará-la, a menos que seja necessário. O que mais poderia estar impedindo logins de root /su/sudo su?

Atualização O host não é tão antigo quanto eu pensava - é Centos 7.4

Eu posso obter privilégios de root executando

sudo -u root /bin/bash

(mas os métodos mais convencionais ainda estão falhando com o mesmo erro).

Ao tentar executar 'su', as seguintes entradas de log aparecem (mas su relata o erro para stdout e sai)

 May 17 15:25:06 myhost su: pam_limits(su:session): Could not set limit for 'nofile': Operation not permitted
 May 17 15:25:06 myhost su: pam_unix(su:session): session opened for user root by symcbean(uid=0)
authentication root
  • 1 respostas
  • 6898 Views
Martin Hope
symcbean
Asked: 2018-03-23 12:28:21 +0800 CST

Armazenamento temporário seguro

  • 3

Estou tentando encontrar uma maneira de armazenar dados com segurança durante uma sessão - especificamente para senhas em uma caixa de salto - para que o usuário só precise inserir a senha para um determinado destino uma vez em sua sessão de caixa de salto. Idealmente, eu gostaria de ocultar os dados até mesmo da raiz.

Embora eu confie nas pessoas com acesso root, não confio necessariamente em todos os programas executados como root - por exemplo, backups que podem expor os dados.

O SELinux não funciona - as políticas disponíveis no RHEL precisariam de muito trabalho, não é portátil e, é claro, o SELinux é péssimo .

A criptografia não funcionará - então preciso descobrir onde armazenar a chave.

Executando um daemon e colocando os dados lá / autenticando usando passagem de credencial de soquete, no entanto, há algum esforço na implementação disso e gostaria de ter certeza de que os dados foram limpos no final da sessão (que nem sempre termina corretamente ).

Usar O_TMPFILE para criar um arquivo sem nome parece resolver muitos problemas de preenchimento dos dados e limpeza no final da sessão. Mas como outro processo pode obter acesso aos dados? Suponho que a resposta seria fazer com que o processo proprietário também abrisse um soquete de escuta e manuseasse as solicitações dessa maneira - mas existe uma solução mais fácil?

Devo repensar isso completamente?

security data
  • 1 respostas
  • 388 Views
Martin Hope
symcbean
Asked: 2018-02-10 07:15:39 +0800 CST

Gravação de sessão X Window / VNC

  • 1

Embora eu esteja ciente do recurso x11grab do rfbproxy e do ffmpeg, todos os exemplos on-line parecem ser direcionados a usuários que desejam gravar suas próprias sessões. Meu modelo de uso é manter um registro de auditoria (razoavelmente) confiável de acesso remoto a um sistema.

Meu problema é como reconciliar os arquivos que eles criam com os metadados da sessão (principalmente o nome de usuário autenticado). Se a gravação for iniciada dentro da sessão, posso capturar o nome de usuário, embora isso exponha a invocação ao usuário (por exemplo, se for feito por meio de um início automático XDG).

(registrar os eventos de entrada pode ser uma alternativa viável à gravação de vídeo completa)

Se o início/parada da gravação não for invocado na sessão do usuário, como sincronizo o início/parada com o início/edição da sessão do usuário?

Os usuários se conectarão a um desktop Linux (ainda não comecei a pensar em como o Wayland se encaixa nisso tudo) via VNC.

x11 vnc
  • 1 respostas
  • 952 Views

Sidebar

Stats

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

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

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