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-288980

mas's questions

Martin Hope
mas
Asked: 2019-03-03 05:33:14 +0800 CST

Por que há tráfego russo nos arquivos de log do meu servidor web?

  • 1

A empresa da minha família administra um site com a GoDaddy para fins promocionais. Verifiquei os logs outro dia e encontrei um tráfego muito estranho que não entendo exatamente:

188.234.248.201 - - [31/Jan/2019:10:22:26 -0700] "GET / HTTP/1.1" 301 241 "http://reduslimofficial.ru/about/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"
185.127.17.253 - - [31/Jan/2019:10:23:15 -0700] "GET / HTTP/1.1" 301 237 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11"
216.244.66.244 - - [31/Jan/2019:11:06:44 -0700] "GET /robots.txt HTTP/1.1" 301 251 "-" "Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, [email protected])"
178.137.89.36 - - [31/Jan/2019:11:37:03 -0700] "GET /index.php/about/ HTTP/1.1" 301 257 "https://videotop.biz/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1"
178.137.89.36 - - [31/Jan/2019:11:37:03 -0700] "GET /index.php/about/ HTTP/1.1" 301 257 "https://videotop.biz/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1"
178.137.89.36 - - [31/Jan/2019:11:37:04 -0700] "GET /index.php/about/ HTTP/1.1" 301 257 "https://videotop.biz/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1"
178.137.89.36 - - [31/Jan/2019:11:37:04 -0700] "GET /index.php/about/ HTTP/1.1" 301 257 "https://videotop.biz/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1"
178.137.89.36 - - [31/Jan/2019:11:37:05 -0700] "GET /index.php/about/ HTTP/1.1" 301 257 "https://videotop.biz/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1"
178.137.89.36 - - [31/Jan/2019:11:37:05 -0700] "GET /index.php/about/ HTTP/1.1" 301 257 "https://videotop.biz/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1"
34.73.100.219 - - [31/Jan/2019:11:40:15 -0700] "GET /robots.txt HTTP/1.0" 301 247 "-" "ZoominfoBot (zoominfobot at zoominfo dot com)"
34.73.100.219 - - [31/Jan/2019:11:40:15 -0700] "GET / HTTP/1.0" 301 237 "-" "ZoominfoBot (zoominfobot at zoominfo dot com)"
180.76.15.9 - - [31/Jan/2019:11:45:18 -0700] "GET / HTTP/1.1" 301 237 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
216.244.66.244 - - [31/Jan/2019:11:53:47 -0700] "GET /robots.txt HTTP/1.1" 301 247 "-" "Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, [email protected])"
60.191.38.77 - - [31/Jan/2019:11:55:31 -0700] "GET / HTTP/1.1" 301 237 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
159.138.5.222 - - [31/Jan/2019:12:01:57 -0700] "GET /administrator/ HTTP/1.0" 301 251 "http://www.alancoxonachip.com/wp-login.php" "Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.12"

Parte disso eu entendo, por exemplo, o ZoominfoBot parece ser apenas um rastreador. Baidu eu entendo ser o Google chinês, e eu vi o Yandex, o Google russo, indexar meu site também. Mas o que são todos esses sites como "videotop.biz/" e "reduslimofficial.ru/about/". Há uma quantidade significativa de tráfego que parece dizer "301" no lugar de "200" e isso me causa alguma preocupação.

Um pensamento é que eu não entendo a natureza dos logs. Que talvez seja um domínio de referência. A outra possibilidade é que haja algum malware no servidor que está sendo usado para um proxy.

Nota: não tenho certeza de qual servidor da web eles usam. Tenho certeza que o sistema operacional é RHEL. Mas sshing no servidor me coloca em sandbox e ps auxfornece informações muito limitadas. Eu suspeito fortemente, dada a natureza da empresa, que seja apache (a página 404 não diz nginx, embora eu não tenha certeza se isso prova alguma coisa).

Então, minha pergunta é: por que há tantos sites estranhos aparecendo nos logs do servidor do site da empresa da minha família (totalmente local para a Flórida)? O que significam os logs?

apache-httpd logs
  • 1 respostas
  • 435 Views
Martin Hope
mas
Asked: 2019-02-12 08:25:42 +0800 CST

Entendendo os logs sshd

  • 5

Eu entendo onde encontrar os logs, mas nem sempre tenho certeza do que eles significam . E não consigo encontrar exatamente um guia abrangente sobre logs sshd explicando o que eles significam.

Estou particularmente preocupado com este conjunto de tentativas de log:

Feb 03 01:08:47 malan-server sshd[8110]: Invalid user centos from 193.106.58.90 port 34574
Feb 03 01:08:47 malan-server sshd[8110]: pam_tally(sshd:auth): pam_get_uid; no such user
Feb 03 01:08:47 malan-server sshd[8110]: pam_unix(sshd:auth): check pass; user unknown
Feb 03 01:08:47 malan-server sshd[8110]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=193.106.58.90
Feb 03 01:08:48 malan-server sshd[8110]: Failed password for invalid user centos from 193.106.58.90 port 34574 ssh2
Feb 03 01:08:49 malan-server sshd[8110]: Connection closed by invalid user centos 193.106.58.90 port 34574 [preauth]
Feb 03 01:14:30 malan-server sshd[8114]: Invalid user centos from 193.106.58.90 port 39249
Feb 03 01:14:30 malan-server sshd[8114]: pam_tally(sshd:auth): pam_get_uid; no such user
Feb 03 01:14:30 malan-server sshd[8114]: pam_unix(sshd:auth): check pass; user unknown
Feb 03 01:14:30 malan-server sshd[8114]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=193.106.58.90
Feb 03 01:14:32 malan-server sshd[8114]: Failed password for invalid user centos from 193.106.58.90 port 39249 ssh2
Feb 03 01:14:34 malan-server sshd[8114]: Connection closed by invalid user centos 193.106.58.90 port 39249 [preauth]
Feb 03 01:20:18 malan-server sshd[8118]: Invalid user centos from 193.106.58.90 port 43934
Feb 03 01:20:18 malan-server sshd[8118]: pam_tally(sshd:auth): pam_get_uid; no such user
Feb 03 01:20:18 malan-server sshd[8118]: pam_unix(sshd:auth): check pass; user unknown
Feb 03 01:20:18 malan-server sshd[8118]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=193.106.58.90
Feb 03 01:20:20 malan-server sshd[8118]: Failed password for invalid user centos from 193.106.58.90 port 43934 ssh2
Feb 03 01:20:22 malan-server sshd[8118]: Connection closed by invalid user centos 193.106.58.90 port 43934 [preauth]
Feb 03 01:26:06 malan-server sshd[8121]: Invalid user centos from 193.106.58.90 port 48611
Feb 03 01:26:06 malan-server sshd[8121]: pam_tally(sshd:auth): pam_get_uid; no such user
Feb 03 01:26:06 malan-server sshd[8121]: pam_unix(sshd:auth): check pass; user unknown
Feb 03 01:26:06 malan-server sshd[8121]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=193.106.58.90
Feb 03 01:26:08 malan-server sshd[8121]: Failed password for invalid user centos from 193.106.58.90 port 48611 ssh2
Feb 03 01:26:08 malan-server sshd[8121]: Connection closed by invalid user centos 193.106.58.90 port 48611 [preauth]

Há muitos naquele dia do mesmo endereço IP, 193.106.58.90em Kiev, Ucrânia .

Outro conjunto de logs de aparência assustadora são estes:

Feb 04 19:58:29 malan-server sshd[9725]: Bad protocol version identification 'RFB 003.003' from 142.44.253.51 port 36772
Feb 04 23:47:52 malan-server sshd[9762]: Bad protocol version identification 'REMOTE HI_SRDK_DEV_GetHddInfo MCTP/1.0' from 162.207.145.58 port 48248
Feb 05 06:40:36 malan-server sshd[9836]: Bad protocol version identification 'REMOTE HI_SRDK_DEV_GetHddInfo MCTP/1.0' from 186.4.174.94 port 34515
Feb 05 07:59:13 malan-server sshd[9850]: Bad protocol version identification 'GET / HTTP/1.1' from 209.17.97.34 port 43944
Feb 05 09:09:48 malan-server sshd[9863]: Bad protocol version identification 'REMOTE HI_SRDK_DEV_GetHddInfo MCTP/1.0' from 98.150.93.187 port 60182
Feb 05 14:09:45 malan-server sshd[9911]: Did not receive identification string from 191.232.54.97 port 63982
Feb 05 14:09:45 malan-server sshd[9912]: Bad protocol version identification '\003' from 191.232.54.97 port 64044
Feb 05 14:09:45 malan-server sshd[9913]: Bad protocol version identification '\003' from 191.232.54.97 port 64136
Feb 05 14:33:37 malan-server sshd[9919]: Bad protocol version identification '' from 198.108.67.48 port 56086

O que isso significa?

Entendo que a Internet é um lugar muito ruim e assustador, onde endereços IP voltados para o público são constantemente bombardeados com ataques de bots. Mas eu tenho meu roteador configurado para encaminhar conexões na porta 9000 para a porta 22 do meu servidor, então não tenho certeza de como ainda existem ataques de bots. Parecia improvável para mim que eles estariam verificando todas as 65.535 portas possíveis.

Vou escrever uma lista de perguntas:

  1. Acabei de escolher uma porta que é muito fácil de adivinhar? Qual seria um número de porta melhor?
  2. O que os números de porta nesses logs sshd significam? Como eles podem ter acesso à porta 44493 se meu roteador está configurado apenas para encaminhar a porta 9000 para a porta 22? Parece óbvio para mim que o número da porta listado não é a mesma coisa que a porta do computador voltada para fora, porque só acesso pela porta 9000, mas o número da porta listado para meus próprios logins externos não é 9000.
  3. O que [preauth]significa?
  4. O que Bad protocol version identification 'REMOTE HI_SRDK_DEV_GetHddInfo MCTP/1.0' from 162.207.145.58 port 48248significa?
ssh logs
  • 3 respostas
  • 4546 Views
Martin Hope
mas
Asked: 2019-01-10 13:49:10 +0800 CST

Problemas ao configurar uma prisão sftp chroot

  • 1

Estou seguindo o wiki chroot do SFTP no ArchWiki e encontrando um grande problema: não consigo sftponlyautorizar meus usuários.

Saída de tail -2 /etc/passwd(meus 2 usuários):

chris:x:1001:1002::/home/jail:/usr/bin/nologin
rick:x:1002:1002::/home/jail:/usr/bin/nologin

Saída de groups chrise groups rick:

sftponly

O diretório:

$ ls -l /home
total 24
drwxr-xr-x 3 root  root   4096 Jan  9 16:12 jail/

$ ls -l /home/jail
total 4
drwxrwxr-x 3 rick sftponly 4096 Jan  9 16:12 dropbox/

nota : a única razão pela qual o dropbox/diretório é de propriedade rické porque eu estava experimentando alterar a propriedade de arquivos dentro do diretório chroot jail porque isso era algo que eu li em minha extensa pesquisa no Google. Gostaria dos dois chrise rickpoder editar os mesmos arquivos. Investigarei as permissões facl quando chegar ao ponto de poder logá-las.

A seção relevante em/etc/ssh/sshd_config

Subsystem sftp /usr/lib/ssh/sftp-server

Match Group sftponly
  ChrootDirectory %h
  ForceCommand internal-sftp
  AllowTcpForwarding no
  X11Forwarding no
  PasswordAuthentication yes

Do log quando tento fazer login via sftp rick@localhoste digito a senha:

Jan 09 16:44:17 dell-dropbox sshd[688]: Failed password for rick from ::1 port 57410 ssh2
Jan 09 16:44:23 dell-dropbox sshd[688]: Failed password for rick from ::1 port 57410 ssh2
Jan 09 16:44:28 dell-dropbox sshd[688]: Failed password for rick from ::1 port 57410 ssh2
Jan 09 16:44:29 dell-dropbox sshd[688]: Connection closed by authenticating user rick ::1 port 57410 [preauth]

nota : Ambos têm senhas definidas. Estou digitando a senha corretamente. Eu posso sftp como eu mesmo sem nenhum problema.

O que diabos estou perdendo?

ssh chroot
  • 1 respostas
  • 627 Views
Martin Hope
mas
Asked: 2019-01-03 07:44:58 +0800 CST

Existe uma maneira de desabilitar o pip fora de um ambiente virtual?

  • 5

Desde que fiz uma pergunta sobre Pip vs Package Manager para lidar com pacotes Python , aprendi muito, especialmente sobre ambientes virtuais com o venvmódulo. Hoje em dia instalo quase exclusivamente pacotes com ambientes virtuais pip internos . Eu quase raramente instalo um pacote python em todo o sistema.

Uma coisa que eu sempre morro de medo, porém, é a possibilidade de eu executar um pip installcomando sem perceber que não tenho um venvativado.

Existe uma maneira de colocar o pip na lista negra apenas quando não estou em um venv?

package-management python
  • 2 respostas
  • 620 Views
Martin Hope
mas
Asked: 2019-01-01 14:04:17 +0800 CST

Página de manual para números de permissão de arquivo

  • 1

Existe uma página de manual para os números de permissão de arquivo?

Estou falando especificamente

r = 4
w = 2
x = 1

Nunca consigo me lembrar deles e tenho que pesquisar no Google toda vez que preciso definir permissões além de 755. Também não acho que estou sozinho, pois existe até um site que calcula o número para você .

Acabei de perceber que a página de manual para chmodnão tem nenhuma descrição dos números e não consigo descobrir qual outra página os teria. Eu acho que uma infopágina funcionaria também, já que aparentemente ela vem pré-instalada (eu tenho arch; eu pensei que teria que instalar essa eu mesmo - aparentemente não). Seria muito mais fácil para mim se eu pudesse me referir a uma página de manual 'on-line' (eu uso 'on-line' no sentido usado em man man).

permissions man
  • 1 respostas
  • 1119 Views
Martin Hope
mas
Asked: 2019-01-01 04:36:57 +0800 CST

Por que uma operação de cópia para um diretório que serve como ponto de montagem não copia os dados para a unidade montada?

  • 1

Por que uma operação de cópia para um diretório que serve como ponto de montagem não copia os dados para a unidade montada?

Comprei uma unidade de 2 terabytes e montei-a em um subdiretório dentro do meu diretório pessoal.

Onde /dev/sdbestá minha unidade de sistema de 500 GB e /dev/sdaminha unidade de dados de 2 TB:

Partition        Mountpoint
/dev/sdb1   ->   /
/dev/sdb3   ->   /home
/dev/sdb2   ->   swap
/dev/sda1   ->   /home/data

Tudo isso parece funcionar e até aparece df -hcorretamente (ou seja, /dev/sda1está montado em /home/data[para regenerar o fstab que inicializei no meu ambiente ao vivo do disco de arco e montei as partições nas pastas nas /mntquais eu queria particionar, executando genfstab -U /mnt > /mnt/etc/fstab; funcionou] )

Ontem à noite, configurei minha caixa para executar uma operação de cópia de 650 GB para /home/data. Imagine minha surpresa quando toneladas de operações de cópia falharam devido à falta de espaço em disco.

df -hmostra que /dev/sdb3está cheio, mas /dev/sda1está quase vazio (77 MB). O ponto de montagem está funcionando corretamente, até onde posso dizer, mas a operação de cópia colocou todos os dados em /dev/sdb3! Presumivelmente, se eu desmontar a unidade, a música ainda estará no formato /home/data.

Claramente, há algo sobre montagem e fstab que não estou entendendo completamente.

A entrada específica no fstab diz:

# /dev/sdb1
UUID=<UUID>    /            ext4     rw,relatime 01

# /dev/sdb3
UUID=<UUID>    /home        ext4     rw,relatime 02

# /dev/sda1
UUID=<UUID>    /home/data   ext4     rw,relatime 02

Antes de regenerar o fstab, eu tinha uma entrada de troca no fstab. Não sei porque não se regenerou.

Atualização: consegui obter a saída de mount:

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=4051032k,nr_inodes=1012758,mode=755)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
/dev/sdb1 on / type ext4 (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=44,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13569)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
configfs on /sys/kernel/config type configfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
/dev/sdb3 on /home type ext4 (rw,relatime)
/dev/sda1 on /home/data type ext4 (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=811560k,mode=700,uid=1000,gid=1000)
partition mount
  • 1 respostas
  • 165 Views
Martin Hope
mas
Asked: 2018-09-01 04:26:45 +0800 CST

Como lidar com falhas de atualização não documentadas do Arch Linux?

  • 3

Estou usando o Arch há cerca de 3-4 meses e nunca tive que lidar com um erro de atualização. Ontem quando eu corri sudo pacman -Syueu consegui

:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (2) fontconfig-1:2.13.1-1  librsvg-2:2.44.2-1

Total Download Size:   1.81 MiB
Total Installed Size:  6.09 MiB
Net Upgrade Size:      0.06 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 fontconfig-1:2.13.1-1-x86_64                          871.8 KiB   830K/s 00:01 [#############################################] 100%
 librsvg-2:2.44.2-1-x86_64                             980.1 KiB  2.19M/s 00:00 [#############################################] 100%
(2/2) checking keys in keyring                                                  [#############################################] 100%
(2/2) checking package integrity                                                [#############################################] 100%
(2/2) loading package files                                                     [#############################################] 100%
(2/2) checking for file conflicts                                               [#############################################] 100%
(2/2) checking available disk space                                             [#############################################] 100%
:: Processing package changes...
(1/2) upgrading fontconfig                                                      [#############################################] 100%
Rebuilding fontconfig cache...Fontconfig error: "/etc/fonts/local.conf", line 1: XML or text declaration not at start of entity
/usr/share/fonts/OTF: failed to write cache
/usr/share/fonts/cyrillic: failed to write cache
/usr/share/fonts/encodings/large: failed to write cache
/usr/share/fonts/util: failed to write cache
 done.
(2/2) upgrading librsvg                                                         [#############################################] 100%
:: Running post-transaction hooks...
(1/2) Probing GDK-Pixbuf loader modules...
(2/2) Arming ConditionNeedsUpdate...

A primeira página da última falha de atualização documentada do archlinux.org foi em julho, e eu nunca tive que lidar com isso.

Como posso saber se isso é um erro significativo? Meu computador parece estar funcionando bem, mas ainda não reiniciei. Uma falha em reescrever o cache de fontes não parece grande coisa, mas eu realmente não sei.

Algum conselho?

Observação: faço a pergunta com o título atual porque estou interessado especialmente em conselhos sobre como buscar soluções para falhas de atualização não documentadas do Arch, além da solução para esse problema específico. Eu faria a pergunta técnica "erro de atualização do fontconfig" se isso fosse tudo em que eu estivesse interessado.

atualização: por conselho nos comentários (@Mioriin) descobri que meu bug é praticamente sem sentido. Eu não vou excluir a pergunta, no entanto. Estou solicitando conselhos sobre as etapas a serem seguidas após falhas de atualização no Arch

upgrade arch-linux
  • 1 respostas
  • 707 Views
Martin Hope
mas
Asked: 2018-08-29 05:19:45 +0800 CST

O alias global da bomba garfo impediria sua execução?

  • 14

Se você definir globalmente

alias ':(){ :|:& };:'='echo fork bomb averted'

essa seria uma estratégia de segurança eficaz para evitar a execução da bomba Bash fork ou ainda haveria uma maneira de executá-la?

Suponho que a pergunta seja: existe uma maneira de executar um comando quando ele é alias a outra coisa?

bash security
  • 4 respostas
  • 4280 Views
Martin Hope
mas
Asked: 2018-08-25 08:20:58 +0800 CST

Por que o pip do Python é redefinido para a versão 10.0.1 em cada novo ambiente virtual?

  • 5

tl; dr: Por que a versão do pip é redefinida para 10.0.1 toda vez que eu crio um novo ambiente virtual e não é clonado automaticamente da minha instalação global 18.0?

Toda vez que crio um novo ambiente virtual me dizem que o meu pipestá desatualizado. eu corro

$ pip install --upgrade pip

E obtenha a seguinte saída:

Collecting pip
  Using cached https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 10.0.1
    Uninstalling pip-10.0.1:
      Successfully uninstalled pip-10.0.1
Successfully installed pip-18.0

A execução pip -Vfora de um ambiente virtual retorna

pip 18.0 from /usr/lib/python3.7/site-packages/pip (python 3.7)

Então a versão desatualizada só é criada quando eu crio um novo ambiente virtual.

Este é um recurso do módulo de ambiente virtual do python?

Para constar, o comando que executo para criar um novo ambiente virtual é:

$ python -m venv <venv>

Eu instalei executando

$ pacman -S python python-pip

Estou executando-o no Arch e a saída python -Vé Python 3.7.0.

arch-linux package-management
  • 1 respostas
  • 2741 Views
Martin Hope
mas
Asked: 2018-08-24 05:06:38 +0800 CST

Definir um alias quando aspas duplas e aspas simples falham

  • 1

Esta pergunta não é uma duplicata de Por que o alias se comporta diferente de executar o comando bash diretamente? porque eu tentei essa solução e não funcionou. Substituí todas as minhas aspas simples por aspas duplas e vice-versa. O comando não funciona de nenhuma maneira.

Estou tentando implementar um alias, sys, que abrirá um arquivo no qual acompanho as alterações no meu sistema, sys.md, anexar uma data, arrancar essa linha, colar a linha, substituí-la por -'s para o formato markdown h2, abrir um nova linha e insira um -para o formato de marcador de redução. De vi.stackexchange.com, recebi ajuda para implementar o comando. Funciona:

nvim +'$pu_|r!date' +'norm yypVr-o ' ~/notes/sys.md

Quando substituo as aspas simples por aspas duplas, o $pu_ é avaliado e recebo

zsh: event not found: date

Portanto, as aspas simples são importantes. No entanto, quando implemento o alias

alias sys="nvim +'$pu_|r!date' +'norm yypVr-o- ' ~/notes/sys.md"

O alias falha. nvimopens , mas a data é anexada à segunda linha e não à parte inferior. Claramente $pu_ está sendo avaliado como uma variável do BASH. ( nvimo verificador de sintaxe do 's até mostra que ele é avaliado.) Invertendo os doubles e singles para produzir

alias sys='nvim +"$pu_|r!date" +"norm yypVr-o- " ~/notes/sys.md'

Tem o mesmo comportamento. Backticks,

alias sys=`nvim +"$pu_|r!date" +"norm yypVr-o- " ~/notes/sys.md`

Congela o bash source .zshrc. Não sei como proceder. Qualquer ajuda seria muito apreciada.

vim quoting
  • 2 respostas
  • 490 Views
Martin Hope
mas
Asked: 2018-08-14 10:21:50 +0800 CST

Existem forks ou refatorações bem-sucedidas do Kernel Linux?

  • 2

Uma pesquisa no google revela esta história do slashdot produzindo este repositório github que não teve um commit desde 2016 . Existem 22.602 forks listados no github.com, mas estes serão principalmente (se não praticamente todos) simplesmente forks de desenvolvimento para torvalds/linux .

Eu li antes que o Linux se tornou bastante grosseiro. Parece-me que, pelo menos em termos de experiência do usuário, o Linux se tornou muito mais polido do que eu me lembro há mais de 10 anos (obviamente, esta não é uma avaliação precisa do kernel; só agora estou lendo K&R e nunca mergulhei em a fonte do kernel, exceto um olhar superficial que rendeu um "uau, não consigo entender uma linha disso", mas estou ciente de uma grande quantidade de desenvolvimento em relação aos recursos do linux-on-the-laptop no kernel, por exemplo) . Independentemente disso, eu sei que vi pessoas do BSD reclamando do Linux cruft. Considerando o fork neovim do vim baseado no cruft do vim, acho que esforços semelhantes seriam recompensadores para o kernel.

O que leva a essa pergunta foi este artigo sobre LWN discutindo tentativas de compilar Linux com clang. Eu li que o kernel usa muitas peculiaridades/recursos especiais específicos do gcc para otimização (embora o artigo vinculado pareça minimizá-los em comparação com minha memória), e comecei a me perguntar se alguém havia tentado refatorar/fork o kernel para fazer é mais portátil, ou pelo menos compilável fora do ambiente gnu. Eu também entendo que o próprio gcc é grosseiro, e o próprio Linus o criticou.

Eu sei que não estou sozinho em meu desgosto pessoal por RMS e GNU e interesse em Linux sem GNU; Estou ciente do Alpine Linux que dispensa ferramentas gnu, mas o kernel ainda é compilado com gcc, não é? Existem muitas referências a cadeias de ferramentas alternativas e software de usuário, mas estou especificamente me perguntando sobre o kernel e se existem forks que eliminam dependências gcc/gnu - considere isso uma questão subsidiária do título - parece-me que seria um desperdício de pedir separadamente.

linux-kernel gcc
  • 2 respostas
  • 2088 Views
Martin Hope
mas
Asked: 2018-06-21 05:40:55 +0800 CST

Como os pipelines limitam o uso de memória?

  • 41

Brian Kernighan explica neste vídeo a atração inicial do Bell Labs por pequenas linguagens/programas baseados em limitações de memória

Uma máquina grande teria 64 k-bytes - K, não M ou G - e isso significava que qualquer programa individual não poderia ser muito grande, e então havia uma tendência natural de escrever programas pequenos, e então o mecanismo de pipe, basicamente o redirecionamento de entrada e saída, tornou possível vincular um programa a outro.

Mas não entendo como isso pode limitar o uso de memória, considerando o fato de que os dados precisam ser armazenados na RAM para transmitir entre os programas.

Da Wikipédia :

Na maioria dos sistemas do tipo Unix, todos os processos de um pipeline são iniciados ao mesmo tempo [ênfase minha], com seus fluxos adequadamente conectados e gerenciados pelo agendador junto com todos os outros processos em execução na máquina. Um aspecto importante disso, separando os pipes Unix de outras implementações de pipe, é o conceito de buffer: por exemplo, um programa de envio pode produzir 5.000 bytes por segundo, e um programa de recebimento pode aceitar apenas 100 bytes por segundo, mas não dados são perdidos. Em vez disso, a saída do programa de envio é mantida no buffer. Quando o programa receptor estiver pronto para ler os dados, o próximo programa no pipeline fará a leitura do buffer. No Linux, o tamanho do buffer é de 65.536 bytes (64 KB). Um filtro de terceiros de código aberto chamado bfr está disponível para fornecer buffers maiores, se necessário.

Isso me confunde ainda mais, pois isso anula completamente o propósito de pequenos programas (embora eles sejam modulares até uma certa escala).

A única coisa que posso pensar como uma solução para minha primeira pergunta (as limitações de memória sendo problemáticas dependendo do tamanho dos dados) seria que grandes conjuntos de dados simplesmente não eram computados na época e os pipelines de problemas reais deveriam resolver era o quantidade de memória exigida pelos próprios programas. Mas dado o texto em negrito na citação da Wikipedia, até isso me confunde: como um programa não é implementado de cada vez.

Tudo isso faria muito sentido se os arquivos temporários fossem usados, mas é meu entendimento que os pipes não gravam no disco (a menos que a troca seja usada).

Exemplo:

sed 'simplesubstitution' file | sort | uniq > file2

Está claro para mim que sedestá lendo o arquivo e cuspindo-o linha por linha. Mas sort, como BK afirma no vídeo vinculado, é um ponto final, então todos os dados precisam ser lidos na memória (ou é?), então são passados ​​para uniq, o que (na minha opinião) seria um -programa linha por vez. Mas entre o primeiro e o segundo pipe, todos os dados têm que estar na memória, não?

pipe history
  • 3 respostas
  • 9115 Views
Martin Hope
mas
Asked: 2018-06-16 06:09:08 +0800 CST

Pip vs Package Manager para lidar com pacotes Python

  • 31

Os pacotes Python são frequentemente hospedados em muitos repositórios de distribuição. Depois de ler este tutorial, especificamente a seção intitulada "Você realmente quer fazer isso" evitei usar o pip e preferi usar o repositório do sistema, apenas recorrendo ao pip quando preciso instalar um pacote que não está no repositório.

No entanto, como esse é um método de instalação inconsistente, seria melhor usar apenas o pip? Quais são os benefícios/detratores de usar o pip sobre o próprio repositório do sistema para pacotes que estão disponíveis em ambos os lugares?

O link que incluí indica

A vantagem de sempre usar pacotes padrão Debian / NeuroDebian, é que os pacotes são cuidadosamente testados para serem compatíveis entre si. Os pacotes Debian registram dependências com outras bibliotecas para que você sempre obtenha as bibliotecas necessárias como parte da instalação.

Eu uso arco. Este é o caso de outros sistemas de gerenciamento de pacotes além do apt?

apt package-management
  • 5 respostas
  • 6410 Views
Martin Hope
mas
Asked: 2018-05-30 06:16:04 +0800 CST

Quando a variável de ambiente PS1 foi criada?

  • 3

Sempre vi referência a pwd como sendo muito essencial 'antigamente'. Hoje em dia, temos prompts de comando personalizados, como o PS1, que exibem o diretório atual e o pwd está bastante desatualizado. Mas quando a ideia do ps1 foi introduzida nos sistemas * nix? Observando isso dos arquivos da AT&T, posso ver que o PS1 definitivamente não existia nos anos setenta.

environment-variables prompt
  • 1 respostas
  • 321 Views
Martin Hope
mas
Asked: 2018-05-25 10:08:15 +0800 CST

Ambiente de Trabalho Debian no Instalador

  • 25

Pesquisei muito sobre essa questão e encontrei duas páginas sobre o assunto, mas não o esclareci.

No debian-installer durante a fase de seleção de software opcional você tem estas opções:

Debian desktop environment (already ticked by default)
    ... GNOME (not ticked)
    ... xfce (not ticked)
    ... KDE (not ticked)
    ... Cinnamon (not ticked)
    ... MATE (not ticked)
    ... LXDE (not ticked)

O que o ambiente de desktop Debian realmente instala? Ele instala uma GUI (o Gnome, no meu entendimento, é o padrão) ou apenas instala um punhado de programas úteis para usuários de desktop, mas que não incluem uma GUI? Você precisa marcar o Gnome para obter a GUI ou não? E se não, qual é o propósito da opção de marcar o Gnome além do Debian Desktop Environment?

A página sobre Ambientes de Desktop no Debian Wiki não esclarece o problema.

Este tópico nos Fóruns de Usuários do Debian trata exatamente desse assunto, mas tem uma série de respostas contraditórias.

debian gnome
  • 2 respostas
  • 28212 Views
Martin Hope
mas
Asked: 2018-05-18 11:40:17 +0800 CST

Kali Linux não pode fazer login como usuário não root e wireshark reclamando de root

  • 1

Quando abri o wireshark (nova instalação do live usb kali com persistência) pela primeira vez, ele reclamou que eu era root . Isto é o que eu encontrei no Google:

Sim, é recomendável e aconselhável não executar essas ferramentas em superusuário ou conta de alta permissão. Dar raiz a essas ferramentas pode dar errado caso a ferramenta funcione mal. Você pode criar uma conta não superusuário ou não root e isso deve corrigir a caixa de diálogo de erro. Além disso, a ferramenta ainda deve funcionar quando a caixa de diálogo de erro aparecer. Ela apenas avisa sobre os privilégios que você está atribuindo à ferramenta.

https://null-byte.wonderhowto.com/forum/problems-with-wireshark-as-root-user-kali-0169494/

Mas quando crio um usuário e tento sair como root , fico preso em um loop de login automático como root. Também vi em outro lugar que a maioria das ferramentas em Kali requer permissões de root (achei que apenas sudo tudo. Comecei no ubuntu anos atrás e me acostumei tanto com o sudo que prefiro a conta root ).

Mas minha pergunta é: qual é a maneira correta de fazer as coisas em Kali? Criar uma subconta e desabilitar o login (portanto, minha subquestão é como?) ou desabilitar os avisos em wireshark. O que pode dar errado wiresharkse você executá-lo na raiz ?

E finalmente: isso é algum tipo de ritual de trote com Kali? (Bill Labanovic brinca em seu livro sobre python que a instalação do pip é uma espécie de ritual de trote para novos programadores em python. Achei que talvez fosse assim).

ATUALIZAÇÃO: Mesmo quando encontro uma maneira de fazer login como não root (esperando a tela bloquear e selecionando um usuário diferente), não consigo executar o wireshark porque não tenho as permissões! E não consigo descobrir uma maneira de executar o wireshark com permissões sem recorrer ao cli!

Update2: Não sou novo no Linux. Por uma "nova instalação do live usb com persistência", quero dizer que acabei de configurar um stick usb ao vivo com o kali linux e configurei a persistência seguindo tutoriais como este .

A mensagem de erro no wireshark é esta . A maioria dos tutoriais que encontrei online são sobre como desabilitar o aviso.

Eu configurei uma conta sudoer, mas toda vez que inicializo o Kali ou tento sair do Kali, passo pelo processo de inicialização e o último item é sempre algo como 'Gerenciador de usuários inicializado para UID 0', como em raiz . Como faço para desabilitar isso?

Atualização3:Vou esclarecer minha pergunta: qual é a maneira normal e correta de fazer isso em Kali. De acordo com a meta pergunta sobre as perguntas do Kali, o Kali nem mesmo tem o suporte adequado. Portanto, tenho medo de seguir as instruções que Draconis postou, porque requer a instalação de bibliotecas especiais. Não estou tentando executar o Kali como um ambiente de produção ou um desktop normal (eu o tenho em uma unidade flash), estou apenas tentando usar algumas ferramentas nele para testar meu servidor (sou totalmente novo em pentesting e embora o pentesterlab diga para não se incomodar em usar o Kali, mas apenas usar a distribuição com a qual você já se sente confortável, não queria instalar o wireshark e um monte de outras ferramentas na minha distribuição de desktop - pensei em começar a aprender o básico de pentesting em Kali com ferramentas pré-laminadas. Talvez isso tenha sido um erro).root : requer o uso do botão da tela de bloqueio. Parece amador não saber disso, mas não estou acostumado com gnomos e passo mais tempo no cli do que não . Eu corro um servidor ubuntu e principalmente uso minha caixa bunsenlabs para mexer com bancos de dados mysql e escrever scripts python com vim. E parece engraçado para mim que não consigo sair como root sem ficar preso em um loop de login automático.

Eu não sou novo no linux. Mas tenho usado, nos últimos 10 anos, de vez em quando, distros um pouco mais fáceis (ubuntu, crunchbang e agora bunsenlabs. Até mergulhei os pés no slackware e no fedora). Mas para uma ferramenta que imaginei que deveria ser inicializada em uma unidade flash, há uma enorme quantidade de configuração que deve acontecer antes que eu possa começar a usar o wireshark. Isso não faz sentido para mim. Não há como um pentester criar contas especiais para executar o wireshark toda vez que ele inicializa seu pen drive (considerando que a maioria das pessoas, eu imagino, nem se incomodaria em configurar a persistência).

Portanto, minha pergunta é: é totalmente normal executar o wireshark como root no Kali Linux ao executá-lo a partir de uma unidade flash? Se não for, qual é a maneira típica de fazer as coisas em Kali?

kali-linux root
  • 2 respostas
  • 1505 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