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 / unix / 问题

All perguntas(unix)

Martin Hope
mur
Asked: 2018-06-02 04:29:02 +0800 CST

Por que eu faria chroot para sandboxing por segurança se meu aplicativo pode ser executado desde o início em um nível inferior?

  • 15

Estou escrevendo um daemon de servidor HTTP em C (existem razões para isso), gerenciando-o com o arquivo de unidade systemd.

Estou reescrevendo um aplicativo projetado há 20 anos, por volta de 1995. E o sistema que eles usam é chroot e depois setuid, e o procedimento padrão.

Agora, em meu trabalho anterior, a política usual era que você nunca executasse nenhum processo como root. Você cria um usuário/grupo para ele e executa a partir daí. É claro que o sistema executou algumas coisas como root, mas poderíamos realizar todo o processamento da lógica de negócios sem ser root.

Agora, para o daemon HTTP, posso executá-lo sem root se não fizer chroot dentro do aplicativo. Portanto, não é mais seguro para o aplicativo nunca ser executado como root?

Não é mais seguro executá-lo como mydaemon-user desde o início? Em vez de iniciá-lo com root, chrooting e setuid para mydaemon-user?

chroot daemon
  • 3 respostas
  • 2076 Views
Martin Hope
cablewelo2ma
Asked: 2018-05-19 10:47:54 +0800 CST

Como desativar sons de alerta/efeitos sonoros no Gnome a partir do terminal?

  • 15

Normalmente, desligo o som de alerta (por padrão, um som de gota d'água) indo para centro de controle → Som → Efeitos sonoros e silenciando o volume do Alerta. Isso é no Gnome.

Eu queria desativá-lo em uma compilação ao vivo personalizada do Debian por padrão, mas não consigo descobrir onde essa configuração está armazenada. Eu tentei o dconf e procurei nos diretórios de configuração extensivamente sem sucesso. find ~ -mmin -1Também tentei gio monitore inotifywatchsem sucesso. A única saída por find ~ -mmin -1foi .config/dconf/e .config/dconf/userque é editada sempre que o centro de controle é aberto de qualquer maneira. Substituí este arquivo de usuário em uma vm para testar e todas as configurações do dconf foram atualizadas, exceto a que preciso (o som de alerta). Eu também tentei, dconf watch /o que não deu saída quando tentei editar a configuração de som de alerta

Gostaria que alguém me dissesse como silenciar essa configuração na linha de comando e possivelmente me diga onde ela está armazenada.

audio gnome
  • 2 respostas
  • 15903 Views
Martin Hope
Denny00
Asked: 2018-05-08 05:52:52 +0800 CST

Onde posso obter o Unix original? [duplicado]

  • 15
Esta pergunta já tem respostas aqui :
O que é isso que ouvi sobre a restauração do Unix First Edition? (1 resposta)
Como executar o Unix? (4 respostas)
Fechado há 4 anos .

Onde posso obter o Unix original (do ano de 1969)? Eu gostaria de olhar para o código-fonte do Unix original.

historical-unix
  • 3 respostas
  • 3250 Views
Martin Hope
Age87
Asked: 2018-04-24 07:30:50 +0800 CST

Remova as linhas duplicadas adjacentes enquanto mantém a ordem

  • 15

Eu tenho um arquivo com uma coluna com nomes que se repetem várias vezes cada. Quero condensar cada repetição em uma, enquanto mantenho quaisquer outras repetições com o mesmo nome que não sejam adjacentes a outras repetições com o mesmo nome.

Por exemplo, eu quero virar o lado esquerdo para o lado direito:

Golgb1    Golgb1    
Golgb1    Akna
Golgb1    Spata20
Golgb1    Golgb1
Golgb1    Akna
Akna
Akna
Akna
Spata20
Spata20
Spata20
Golgb1
Golgb1
Golgb1
Akna
Akna
Akna

Isto é o que tenho usado: perl -ne 'print if ++$k{$_}==1' file.txt > file2.txt No entanto, este método mantém apenas um representante da esquerda (ou seja, Golb1 e Akna não são repetidos).

Existe uma maneira de manter nomes exclusivos para cada bloco, mantendo nomes que se repetem em vários blocos não adjacentes?

awk sed
  • 5 respostas
  • 3676 Views
Martin Hope
Robert Koszewski
Asked: 2018-04-21 05:28:42 +0800 CST

Como fazer o idmap do NFSv4 funcionar com sec=sys?

  • 15

Tenho um Servidor (Debian) que está servindo algumas pastas via NFS e um Cliente (Debian) que se conecta ao Servidor NFS (Com NFSv4) e monta aquela pasta exportada. Até agora está tudo bem, consigo conectar e modificar o conteúdo das pastas. Mas os usuários estão completamente confusos. Pelo que entendi isso se deve ao NFS usar os UIDs para definir as permissões, e como os UIDs dos usuários do Cliente e do Servidor diferem, então isso acontece, o que ainda é esperado. Mas pelo que entendi, ao habilitar o NFSv4, o IDMAPD deve entrar em ação e usar o nome de usuário em vez dos UIDs. Os usuários existem no servidor e no clientelado, eles apenas têm UIDs diferentes. Mas, por qualquer motivo, o IDMAPD não funciona ou parece não fazer nada.

Então aqui está o que eu fiz até agora:

No lado do servidor:

  • nfs-kernel-server instalado
  • preencheu /etc/exports com as configurações de exportação adequadas --> /rfolder ip/24(rw,sync,no_subtree_check,no_root_squash)
  • e mudou /etc/default/nfs-common para NEED_IDMAPD=yes

Do lado do cliente

  • nfs-common instalado
  • e mudou /etc/default/nfs-common para NEED_IDMAPD=yes
  • e monte a pasta com " mount -t nfs4 ip:/rfolder /media/lfolder "

Reiniciado e reiniciado várias vezes, mas ainda nada. Quando crio no Servidor uma pasta com o usuário A , no Cliente vejo que o dono da pasta é algum usuário X . Quando crio um arquivo do Cliente com o usuário A , no lado do Servidor diz que é de algum usuário Y .

Verifiquei com o HTOP se o processo rpc.idmap está sendo executado no servidor e está de fato. Embora no cliente não pareça estar em execução. Ao tentar iniciar manualmente o serviço no cliente , recebi uma mensagem de erro informando que o IDMAP requer a execução da dependência nfs-kernel-server. Portanto, instalei-o no lado do cliente e agora tenho o processo rpc.idmap em execução no cliente e no servidor . Reiniciei os dois e o problema ainda persiste.

Alguma ideia do que há de errado aqui? Ou como configurar isso corretamente?

linux users
  • 2 respostas
  • 21988 Views
Martin Hope
saw303
Asked: 2018-04-17 22:51:05 +0800 CST

Como instalar a fonte true type da Microsoft no Alpine Linux?

  • 15

Gostaria de criar uma imagem Docker usando Alpine Linux e LibreOffice para renderizar documentos PDF. Os documentos de origem do LibreOffice estão usando a fonte Times New Roman da Microsoft.

Como posso instalar fontes da Microsoft usando apko Alpine Linux? Existe um pacote equivalente ao Ubuntus apt install ttf-mscorefonts-installer?

Atualização 1:

Enquanto isso, encontrei um pacote chamado [msttcorefonts-installer][1]que parece fornecer o que estou procurando. Quando tento instalá-lo no Alpine Linux 3.7 usando apk add msttcorefonts-installer-3.6-r2, recebo o seguinte erro:

ERROR: unsatisfiable constraints:
  msttcorefonts-installer-3.6-r2 (missing):
    required by: world[msttcorefonts-installer-3.6-r2]
alpine-linux ttf
  • 1 respostas
  • 21865 Views
Martin Hope
the_drow
Asked: 2018-04-17 02:49:41 +0800 CST

Falha ao determinar grupos suplementares: Operação não permitida

  • 15

Estou tentando configurar o watchman como um serviço de usuário.

Eu segui a documentação deles tão de perto quanto possível. Isto é o que eu tenho:

O arquivo de soquete:

[Unit]
Description=Watchman socket for user %i

[Socket]
ListenStream=/usr/local/var/run/watchman/%i-state/sock
Accept=false
SocketMode=0664
SocketUser=%i
SocketGroup=%i

[Install]
WantedBy=sockets.target

O arquivo de serviço:

[Unit]
Description=Watchman for user %i
After=remote-fs.target
Conflicts=shutdown.target

[Service]
ExecStart=/usr/local/bin/watchman --foreground --inetd --log-level=2
ExecStop=/usr/bin/pkill -u %i -x watchman
Restart=on-failure
User=%i
Group=%i
StandardInput=socket
StandardOutput=syslog
SyslogIdentifier=watchman-%i

[Install]
WantedBy=multi-user.target

O Systemd tenta executar o watchman, mas está preso em um loop de reinicialização.
Estes são os erros que recebo:

Apr 16 05:41:00 debian systemd[20894]: [email protected]: Failed to determine supplementary groups: Operation not permitted
Apr 16 05:41:00 debian systemd[20894]: [email protected]: Failed at step GROUP spawning /usr/local/bin/watchman: Operation not permitted

Tenho 100% de certeza de que o grupo e o usuário que estou habilitando este serviço e soquete existem. O que estou fazendo errado?

systemd systemd-unit
  • 2 respostas
  • 11990 Views
Martin Hope
geberl
Asked: 2018-04-13 01:39:41 +0800 CST

Mosh com encaminhamento de porta (como SSH)

  • 15

Ao conectar ao meu servidor de desenvolvimento via ssh, posso encaminhar portas remotas para portas locais via:

ssh [email protected] -L 5432:localhost:5432

Porém prefiro usar moshpois minha conexão tende a cair. Tentei estender meu moshcomando usual (que funciona) com o --sshparâmetro:

mosh --ssh "ssh -L 5432:localhost:5432" [email protected]

O que me conecta sem erros - mas não faz nada pelas minhas portas.

Existe uma maneira de fazer o encaminhamento de porta funcionar ao conectar via mosh?

ssh port-forwarding
  • 3 respostas
  • 12147 Views
Martin Hope
Timo
Asked: 2018-03-01 04:24:29 +0800 CST

Como limpar o soquete do túnel reverso SSH após o fechamento da conexão?

  • 15

Se eu executar algo assim:

ssh -4 -f -N -T -R "/home/dude/lol.socket:192.168.4.44:4444" dude@someserver -p 22 -i privatekey -o "ExitOnForwardFailure yes" -o ConnectTimeout=5 -o ConnectionAttempts=3 -o ServerAliveInterval=15 -o

E então digamos que a conexão seja encerrada ou seja interrompida por qualquer motivo. O arquivo de soquete criado /home/dude/lol.socketno someservernão é excluído pelo sshd. Portanto, como o iniciador do túnel reverso está se recuperando e tenta recriar o túnel, ele não pode porque:

Error: remote port forwarding failed for listen path /home/dude/lol.socket

No lado do servidor, você obtém algo como:

error: bind: Address already in use
error: unix_listener: cannot bind to path: /home/dude/lol.socket

Qual seria a maneira suportada / melhor hack para limpar o soquete após a desconexão? Isso é um bug no sshd, não deveria fazer isso automaticamente se/quando as desconexões forem notadas?

história de fundo:

A ideia por trás do uso dos soquetes é simplesmente que o servidor lidará com n "caras", criando túneis reversos para m serviços "lol" em quaisquer portas e o uso de soquetes torna muito mais fácil garantir que um "cara" só possa acessar e vincular para suas próprias tomadas, mas não para as tomadas de outros caras. Também me livra de ter que manter um registro de qual cara está usando qual porta para expor qual serviço. E quando o cara quiser se conectar ao serviço em algum outro servidor, tudo o que ele precisa saber é o nome do serviço e vinculá-lo a alguma porta local aleatória (ou soquete, se ele quiser), ou seja

ssh -v -i -4 -N -T -L "127.0.0.1:3334:/home/dude/lol.sock" -p 22 dude@someserver -o "ExitOnForwardFailure yes" -o ConnectTimeout=5 -o ConnectionAttempts= 3 -o ServerAliveInterval=15 -o ServerAliveCountMax=3

Não há necessidade de saber algum número de porta mágica na qual o túnel reverso no servidor deve estar sendo executado. Portanto, se você tiver ideias melhores sobre como resolver esse problema, sou todo ouvidos.

Testado com cliente/servidor em execução Debian 9(cliente realmente no mac dentro do contêiner docker) usando a versão openssh-client/server7.4p1-10+deb9u2

ssh ssh-tunneling
  • 1 respostas
  • 11456 Views
Martin Hope
Cedric
Asked: 2018-02-23 05:14:56 +0800 CST

tail -f, inserir quebra de linha após o log ficar ocioso por 3 segundos?

  • 15

Ao fazer um tail -f error.log, como inserir programaticamente uma quebra de linha depois que nada foi acrescentado ao arquivo por 3 segundos?

(obviamente, uma vez que uma quebra de linha foi adicionada, nenhuma outra quebra de linha deve ser adicionada até que outras linhas de texto sejam adicionadas ao arquivo de log)

Por exemplo, essas linhas são anexadas a error.log :

foo
bar
boo [[wait 4 seconds]]
2far
2foo
2bar
2boo [[wait 40 seconds]]
2far

Esta seria a saída no console:

foo
bar
boo

2far
2foo
2bar
2boo

2far
shell-script text-processing
  • 3 respostas
  • 2156 Views
Prev
Próximo

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