{"subject_id":"3a3cc48d0099819d9bbce0f0d9140224","topico":"Linux: FHS, permissões (rwx, octal, chmod/chown), processos, systemd, cron, pipes","stems":["Julgue os seguintes itens, relativos a conceitos e configuração básica do Linux.","Em relação a sistemas operacionais baseados em GNU/Linux, julgue os itens que se seguem.","A respeito de Red Hat Enterprise Linux e Oracle Linux 9, julgue os itens a seguir.","Em relação a sistemas operacionais, programas do Microsoft Office, navegadores e Microsoft Outlook, julgue os itens a seguir.","Julgue os próximos itens, relativos à administração de sistemas operacionais Linux e Windows.","Em relação à gestão de processos e à administração de sistemas operacionais, julgue os itens que se seguem.","Acerca do sistema operacional Red Hat Enterprise Linux 7, julgue os próximos itens.","Acerca de linguagens de script, julgue os próximos itens.","A respeito de métodos e protocolos de autenticação, hardening de sistemas e criptografia de dados, julgue os itens subsecutivos.","Com relação ao sistema operacional Linux, julgue os itens subsequentes.","Tendo como base o trecho precedente, julgue o próximo item, relativo a conceitos associados ao Bootloader.","Relativamente à administração de servidores Linux, julgue os itens seguintes.","A respeito de fundamentos, operação e configuração do Linux RedHat, julgue os itens subsecutivos.","Julgue os itens a seguir, a respeito de gerenciamento de sistemas de arquivos, gerenciamento de dispositivos de entrada/saída e de administração e suporte do sistema operacional Linux.","Com relação a ambiente Linux e integração com ambiente Windows, julgue os próximos itens.","No que se refere a Shell Script e a Java, julgue os itens a seguir.","Julgue os próximos itens, relativos a sistemas operacionais Windows e Linux.","A respeito de sistemas operacionais, julgue os itens subsecutivos.","Julgue os itens a seguir a respeito dos conceitos de shell bash shell script.","Acerca da administração do sistema operacional Linux e da linguagem de script Shell, julgue os itens subsequentes.","Julgue o próximo item a respeito dos conceitos de Linux.","Julgue os itens subsecutivos, relativos a sistemas operacionais, redes de computadores e arquitetura em nuvem.","Considere o seguinte conteúdo de um dockerfile.\n\nFROM rhel7:latest\nUSER root\nMAINTAINER Joao\nRUN yum -y install deltarpm yum-utils --\ndisablerepo=*-eus-* --disablerepo=*-htb-* *-\nsjis-*\\\n    --disablerepo=*-ha-* --disablerepo=*-rt-* --\ndisablerepo=*-lb-* --disablerepo=*-rs-* --\ndisablerepo=*-sap-*\nRUN yum-config-manager --disable *-eus-* *-htb-*\n*-ha-* *-rt-* *-lb-* *-rs-* *-sap-* *-sjis* >\n/dev/null\nRUN yum install httpd procps-ng MySQL-python -y\nADD action /var/www/cgi-bin/action\nRUN echo \"PassEnv DB_SERVICE_SERVICE_HOST\" >>\n/etc/httpd/conf/httpd.conf\nRUN chown root:apache /var/www/cgi-bin/action\nRUN chmod 755 /var/www/cgi-bin/action\nRUN echo \"Pagina Inicial\" >\n/var/www/html/index.html\nEXPOSE 80\nCMD mkdir /run/httpd ; /usr/sbin/httpd -D\nFOREGROUND\n\nTendo como referência essas informações, julgue os itens seguintes.","Nos itens que avaliarem conhecimentos de informática e(ou) tecnologia da informação informado o contrário, considere que todos os programas mencionados estão em configuração padrão e que não há restrições de Julgue os itens subsequentes, a respeito da administração de sistemas operacionais Linux, considerando que o sistema esteja logado com o usuário root.","Acerca dos sistemas operacionais Windows e Linux e da interoperabilidade entre esses sistemas, julgue os itens que se seguem.","A respeito de segurança de redes de computadores, julgue os itens subsecutivos.","Julgue os itens seguintes, a respeito dos sistemas operacionais Windows e Linux.","Julgue os itens a seguir, acerca de sistemas operacionais.","Acerca de sistemas operacionais Linux, julgue os itens que se seguem.","Acerca dos ambientes Linux e Windows, julgue os itens que se seguem.","Acerca de infraestrutura de TI, julgue os itens subsequentes.","Acerca dos sistemas operacionais GNU/Linux e Windows, julgue os itens subsequentes.","A respeito do ambiente Linux, julgue os próximos itens.","Julgue os itens subsequentes, acerca de becape.","Acerca de redes de computadores, datacenter e sistemas Linux, julgue os próximos itens.","Julgue os próximos itens, acerca dos protocolos Syslog e Microsoft Event Viewer.","Julgue os itens a seguir acerca do emprego da ferramenta shell no desenvolvimento de scripts.","Julgue os itens subsequentes, relativos aos sistemas de arquivos NTFS e EXT4.","A respeito da LVM (logical volume manager), julgue o próximo item.","Julgue os itens seguintes, relativos à segurança em Linux.","No que se refere à arquitetura e às características dos sistemas operacionais, julgue os itens que se seguem.","Acerca dos modos de funcionamento do SELinux, julgue os próximos itens.","A respeito da configuração e da administração de sistemas gerenciadores de bancos de dados (SGBD) e de produtos a eles relacionados, julgue os itens a seguir."],"questions":[{"id":"5351b5ed884c","number":67,"stem":0,"statement":"O sistema de arquivos EXT4 utiliza journaling para manter um registro das alterações realizadas e, por ser escalável, pode ser utilizado em ambientes com grande volume de dados.","answer":"C","source":{"slug":"FUB_25","ano":2025},"explanation":{"verdict_reason":"O EXT4 mantém journaling, registrando as alterações antes de aplicá-las para tornar a recuperação após queda rápida e consistente. Ele também ampliou os limites do antecessor com extents e endereçamento de 48 bits, suportando volumes e arquivos muito maiores — daí o uso em ambientes com grande volume de dados.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"EXT4: journaling e escalabilidade por extents","citation":null,"trap_note":"Guarde a linhagem: ext2 sem journaling, ext3 com journaling, ext4 com journaling mais extents e limites maiores. Item que negue journaling ao ext3 ou ao ext4 está errado."}},{"id":"60367cff1c98","number":68,"stem":0,"statement":"O LVM (logical volume manager) é um sistema de gerenciamento de volumes lógicos no qual a recuperação de um desastre é de fácil administração.","answer":"E","source":{"slug":"FUB_25","ano":2025},"explanation":{"verdict_reason":"O LVM insere uma camada de abstração entre o disco e o sistema de arquivos: volumes físicos formam um grupo de volumes, de onde se recortam volumes lógicos que podem atravessar vários discos. Isso traz flexibilidade, mas complica a recuperação de desastre — é preciso restaurar os metadados do grupo, com vgcfgrestore, e a perda de um volume físico compromete todos os volumes lógicos que passavam por ele, já que o LVM não oferece redundância por si só.","distortion_type":"atribuicao_errada","distorted_span":"no qual a recuperação de um desastre é de fácil administração","corrected_statement":"O LVM (logical volume manager) é um sistema de gerenciamento de volumes lógicos no qual a recuperação de um desastre exige restaurar os metadados do grupo de volumes e depende de becape, pois o LVM não oferece redundância de dados.","concept":"LVM dá flexibilidade, não tolerância a falhas","citation":null,"trap_note":"Não atribua ao LVM o que é de RAID ou de becape. Ele redimensiona, move e tira snapshot; nada disso protege contra a perda de um disco."}},{"id":"49714cc06076","number":71,"stem":1,"statement":"O comando chmod 755 script.sh define permissões de leitura, escrita e execução para o proprietário e permissões de leitura e execução para grupo e outros usuários.","answer":"C","source":{"slug":"TCE_RS_25","ano":2025},"explanation":{"verdict_reason":"O octal se soma por classe com r valendo 4, w valendo 2 e x valendo 1. Assim 7 é 4 mais 2 mais 1, ou rwx para o dono, e 5 é 4 mais 1, ou r-x, repetido para grupo e outros: exatamente leitura, escrita e execução ao proprietário e leitura e execução aos demais.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"octal 755 é rwxr-xr-x","citation":null,"trap_note":"Decore quatro números e resolva quase tudo: 755 script ou diretório público, 644 arquivo de dados, 600 arquivo privado, 777 tudo liberado. O quarto dígito, quando aparece, é dos bits especiais."}},{"id":"f2622aeb1b5a","number":72,"stem":1,"statement":"No compartilhamento de arquivos via Samba, além das permissões POSIX, podem ser aplicadas listas de controle de acesso para granularidade adicional, o que possibilita compatibilidade com permissões herdadas de sistemas Windows.","answer":"C","source":{"slug":"TCE_RS_25","ano":2025},"explanation":{"verdict_reason":"As permissões POSIX só distinguem dono, grupo e outros, o que é pouco para representar as permissões que um cliente Windows espera. As ACLs acrescentam entradas por usuário e por grupo sobre o mesmo arquivo, e o Samba as usa para mapear os direitos vindos do mundo Windows, inclusive as ACLs herdadas de diretório.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"ACL complementa as permissões POSIX no Samba","citation":null,"trap_note":"ACL não substitui os bits rwx: ela se soma a eles, e o ls sinaliza a presença com um sinal de mais no fim das permissões. Item que descreva ACL como substituta do modelo POSIX exagera."}},{"id":"9a7251ceeda0","number":73,"stem":1,"statement":"Durante a configuração de rede em distribuições GNU/Linux, é possível definir endereços IP estáticos ou dinâmicos por meio de arquivos de configuração, como /etc/netplan/ no Ubuntu Server e /etc/sysconfig/network-scripts/ no Red Hat Enterprise Linux.","answer":"C","source":{"slug":"TCE_RS_25","ano":2025},"explanation":{"verdict_reason":"A configuração de rede persiste em arquivos, e cada família tem o seu lugar: o Ubuntu Server moderno usa YAML em /etc/netplan, aplicado por netplan sobre systemd-networkd ou NetworkManager, e o Red Hat Enterprise Linux tradicional usa os scripts ifcfg em /etc/sysconfig/network-scripts. Nos dois casos o endereço pode ser fixo ou obtido por DHCP.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"arquivos de configuração de rede por distribuição","citation":null,"trap_note":"Associe caminho e família: /etc/netplan é Ubuntu, /etc/sysconfig é Red Hat, /etc/network/interfaces é Debian clássico. Trocar o caminho de família é item pronto."}},{"id":"798e05c07428","number":74,"stem":1,"statement":"No GNU/Linux, qualquer usuário pode alterar a senha de outro usuário por meio do comando passwd nome_do_usuario, sem a necessidade de privilégios administrativos.","answer":"E","source":{"slug":"TCE_RS_25","ano":2025},"explanation":{"verdict_reason":"O passwd é SUID root justamente para permitir que o usuário comum altere a própria senha em /etc/shadow, que só o root lê e escreve. Passar o nome de outro usuário como argumento é operação administrativa: o comando verifica o UID efetivo e recusa a quem não for root.","distortion_type":"inversao","distorted_span":"qualquer usuário pode alterar a senha de outro usuário","corrected_statement":"No GNU/Linux, apenas o root pode alterar a senha de outro usuário por meio do comando passwd nome_do_usuario; o usuário comum altera somente a própria senha.","concept":"passwd sem argumento é do próprio usuário; com argumento, é do root","citation":null,"trap_note":"Regra geral para itens de permissão: o que afeta outro usuário ou o sistema exige UID 0. Item que libere para qualquer um uma ação administrativa inverteu a regra."}},{"id":"95902425a66f","number":75,"stem":1,"statement":"No GNU/Linux, os bits especiais setuid, setgid e sticky adicionam regras de segurança a arquivos e diretórios, influenciando a maneira como processos herdam permissões e como arquivos são manipulados em diretórios compartilhados.","answer":"C","source":{"slug":"TCE_RS_25","ano":2025},"explanation":{"verdict_reason":"Os três bits especiais existem acima dos nove bits comuns e alteram herança e manipulação: setuid faz o executável rodar com o UID do dono do arquivo, setgid faz rodar com o GID do arquivo e, em diretório, faz cada arquivo criado herdar o grupo do diretório, e o sticky bit impede que um usuário apague arquivo alheio em diretório de escrita comum, como o /tmp.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"setuid, setgid e sticky: herança de identidade e de grupo e restrição de exclusão","citation":null,"trap_note":"Memorize onde cada um vale: setuid só em executável, setgid em executável e em diretório, sticky só em diretório. E os valores 4, 2 e 1 no quarto dígito octal."}},{"id":"62a067ca2c27","number":76,"stem":1,"statement":"No shell do GNU/Linux, o operador > acrescenta informações ao final de um arquivo existente, sem sobrescrever seu conteúdo original.","answer":"E","source":{"slug":"TCE_RS_25","ano":2025},"explanation":{"verdict_reason":"O sinal de maior simples redireciona a saída padrão truncando o arquivo: o conteúdo anterior é descartado antes da primeira escrita, e o arquivo é criado se não existir. Quem acrescenta ao final preservando o que já estava lá é o duplo maior. O comportamento descrito é o do outro operador.","distortion_type":"troca_de_termo","distorted_span":"o operador > acrescenta informações ao final de um arquivo existente","corrected_statement":"No shell do GNU/Linux, o operador >> acrescenta informações ao final de um arquivo existente, sem sobrescrever seu conteúdo original.","concept":"maior trunca; duplo maior acrescenta","citation":null,"trap_note":"Complete o quadro do redirecionamento: > trunca, >> acrescenta, < lê do arquivo, 2> desvia só o erro, 2>&1 funde erro na saída. É a família de itens mais barata de acertar."}},{"id":"99b04d52c36f","number":51,"stem":2,"statement":"O resultado da execução do comando sudo watch -n 1 mpstat é a execução do comando mpstat repetidamente a cada segundo, em tempo real, e o monitoramento da saída do referido comando.","answer":"C","source":{"slug":"MP_TO_24_SERVIDOR","ano":2024},"explanation":{"verdict_reason":"O watch executa periodicamente o comando que recebe e redesenha a tela com a saída mais recente; a opção -n define o intervalo em segundos, aqui um segundo. O comando observado é o mpstat, que reporta estatísticas de uso dos processadores — o efeito é, portanto, o monitoramento contínuo descrito.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"watch -n repete um comando no intervalo indicado","citation":null,"trap_note":"O watch não sabe nada sobre o comando que executa: ele apenas repete e mostra. Item que atribua ao watch o que é do comando observado troca os papéis."}},{"id":"953c96bb0395","number":52,"stem":2,"statement":"Cada zona de firewall, nas políticas, é associada a um conjunto específico de regras que determinam o tráfego permitido de forma unidirecional e com monitoramento de estado, sendo o retorno do tráfego permitido implicitamente devido à filtragem com monitoramento de estado pelo firewalld.","answer":"C","source":{"slug":"MP_TO_24_SERVIDOR","ano":2024},"explanation":{"verdict_reason":"O firewalld associa cada interface a uma zona e cada zona a um conjunto de regras que descrevem o tráfego permitido em um sentido. Como a filtragem é com estado, a conexão liberada é registrada na tabela de conexões e o tráfego de retorno passa sem regra própria, por ser reconhecido como parte de uma sessão já autorizada.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"zonas do firewalld com filtragem por estado de conexão","citation":null,"trap_note":"Filtro com estado libera o retorno implicitamente; filtro sem estado exigiria regra nos dois sentidos. Item que exija regra de volta em firewall stateful está descrevendo a tecnologia anterior."}},{"id":"f139b92c9f64","number":53,"stem":2,"statement":"O comando nftables é utilizado para configurar e editar as tabelas internas do sistema de arquivos NFS.","answer":"E","source":{"slug":"MP_TO_24_SERVIDOR","ano":2024},"explanation":{"verdict_reason":"O nftables é o subsistema de filtragem de pacotes do kernel Linux, sucessor do iptables, e suas tabelas e cadeias pertencem ao netfilter — nada têm a ver com o NFS, que é protocolo de compartilhamento de arquivos em rede. A semelhança entre as siglas é o disfarce; a ferramenta de linha de comando, aliás, chama-se nft.","distortion_type":"troca_de_termo","distorted_span":"as tabelas internas do sistema de arquivos NFS","corrected_statement":"O comando nft, do framework nftables, é utilizado para configurar e editar as tabelas internas de filtragem de pacotes do netfilter, no kernel Linux.","concept":"nftables é filtragem de pacotes; NFS é compartilhamento de arquivos","citation":null,"trap_note":"Semelhança de sigla é isca frequente: nftables e NFS, SELinux e SELinux policy, cron e crontab. Expanda a sigla antes de julgar o item."}},{"id":"386e78b81fee","number":53,"stem":3,"statement":"Nos sistemas operacionais Linux, os processos podem comunicar-se uns com os outros por meio de canais para trocas de mensagens denominados pipes.","answer":"C","source":{"slug":"TRF6_24","ano":2024},"explanation":{"verdict_reason":"Pipe é exatamente isto: um canal unidirecional mantido pelo kernel entre dois processos, no qual um escreve na saída padrão e o outro lê na entrada padrão. É a forma de comunicação entre processos que o Unix popularizou e que o shell expõe com a barra vertical.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"pipe: canal unidirecional entre processos","citation":null,"trap_note":"Pipe anônimo só liga processos aparentados pelo shell; para ligar processos sem parentesco existe o pipe nomeado, criado com mkfifo e visível no sistema de arquivos."}},{"id":"c92ea79de5de","number":61,"stem":4,"statement":"No Linux, o comando yum upgrade permite baixar pacotes, incluindo-se os marcados como obsoletos, a partir de repositórios especificados nos arquivos de configuração.","answer":"C","source":{"slug":"CODEVASF_24","ano":2024},"explanation":{"verdict_reason":"O yum upgrade é o update com o tratamento de obsoletos ligado: além de atualizar os pacotes instalados, ele processa os marcados como obsoletos, substituindo-os pelos sucessores. As fontes vêm dos repositórios declarados em /etc/yum.conf e nos arquivos de /etc/yum.repos.d.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"yum upgrade é update com obsoletos","citation":null,"trap_note":"Na família Red Hat: install instala, update atualiza, upgrade atualiza tratando obsoletos, search procura, remove desinstala. A banca inventa verbos fora dessa lista."}},{"id":"1da96f3779e1","number":69,"stem":5,"statement":"O Linux impede que dois usuários diferentes tenham o mesmo UID, com exceção do usuário root.","answer":"E","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"O kernel identifica o usuário pelo número, e nada nele impede que dois nomes compartilhem o mesmo UID — o useradd chega a aceitar isso explicitamente com a opção -o. O efeito é que os dois logins passam a ser, para todos os fins de permissão, a mesma identidade, o que é justamente o risco a evitar.","distortion_type":"inversao","distorted_span":"O Linux impede que dois usuários diferentes tenham o mesmo UID","corrected_statement":"O Linux permite que dois usuários diferentes tenham o mesmo UID, caso em que ambos passam a ter exatamente os mesmos direitos sobre os arquivos.","concept":"UID duplicado é permitido e cria identidades equivalentes","citation":null,"trap_note":"Distinga o que o sistema impede do que a boa prática desaconselha. O Linux permite UID repetido, senha fraca e permissão 777; nenhuma dessas coisas é bloqueada pelo kernel."}},{"id":"ab990a13f94f","number":70,"stem":5,"statement":"Qualquer novo usuário criado no Linux, por padrão, recebe um identificador de usuário (UID), que é utilizado quando um processo é criado pelo usuário em seu espaço de usuário (user space).","answer":"C","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"Todo usuário criado recebe um UID registrado no /etc/passwd, e é esse número que o processo carrega como identidade efetiva ao ser criado em espaço de usuário. É contra ele que o kernel confere dono, grupo e permissões em cada acesso a arquivo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"o processo herda o UID do usuário que o criou","citation":null,"trap_note":"A identidade que vale é a do processo, não a do nome digitado. É exatamente por isso que o setuid é poderoso: ele troca o UID efetivo do processo durante a execução."}},{"id":"2e235e2094c5","number":80,"stem":6,"statement":"Considerando que o pacote openssh-server tenha sido instalado, para que o daemon seja imediatamente iniciado e para que seja possível iniciar o serviço automaticamente quando o sistema operacional for reiniciado, devem ser executados os dois comandos a seguir.\n\nsystemctl start sshd.service\nsystemctl enable sshd.service","answer":"C","source":{"slug":"CPNUJE_24","ano":2024},"explanation":{"verdict_reason":"São dois efeitos que não se implicam: start sobe o serviço agora, na sessão corrente, e não deixa registro algum sobre o boot seguinte; enable cria o vínculo simbólico no alvo de inicialização, que faz o serviço subir nos próximos boots, sem iniciá-lo neste momento. Querendo as duas coisas, executam-se os dois comandos.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"start age agora; enable age no próximo boot","citation":null,"trap_note":"Este é o par mais cobrado do systemd. Serviço habilitado e não iniciado não está no ar; serviço iniciado e não habilitado morre no reboot."}},{"id":"60b79946d0ac","number":81,"stem":6,"statement":"Para que seja possível registrar esse sistema operacional e anexar uma subscrição ao Red Hat Subscription Management, é necessário que se esteja logado como usuário root e que se execute o comando subscription-manager register.","answer":"C","source":{"slug":"CPNUJE_24","ano":2024},"explanation":{"verdict_reason":"O registro da máquina no Red Hat Subscription Management é feito pelo subscription-manager com o subcomando register, e a operação altera configuração do sistema e credenciais em /etc/rhsm — por isso exige privilégio de superusuário. Sem o registro, o sistema não recebe os repositórios da subscrição.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"subscription-manager register exige root","citation":null,"trap_note":"Operações que escrevem em /etc ou em /var/lib do sistema são sempre de root. Item que dispense privilégio administrativo para esse tipo de ação normalmente está errado."}},{"id":"ece7e07f42e3","number":82,"stem":6,"statement":"Nesse sistema operacional, para se realizar busca por pacote com o nome pacote1, é necessário que se utilize o comando yum find pacote1.","answer":"E","source":{"slug":"CPNUJE_24","ano":2024},"explanation":{"verdict_reason":"O yum não tem o subcomando find. A busca por nome e descrição de pacote é feita com yum search, e a consulta direta a um pacote conhecido, com yum list ou yum info. O verbo apresentado simplesmente não existe na ferramenta.","distortion_type":"troca_de_termo","distorted_span":"yum find pacote1","corrected_statement":"Nesse sistema operacional, para se realizar busca por pacote com o nome pacote1, é necessário que se utilize o comando yum search pacote1.","concept":"yum search procura pacotes","citation":null,"trap_note":"Mantenha a lista de verbos reais do yum e do dnf — install, remove, update, upgrade, search, list, info, provides — e desconfie de qualquer um fora dela."}},{"id":"7fc3f53bcfea","number":84,"stem":7,"statement":"Considere o seguinte shell script.\n\n#!/bin/bash\nN=6\na=0\nb=1\nfor (( i=0; i<N; i++ ))\ndo\n    echo -n “$ a “\n    c=$ ((a + b))\n    a=$ b\n    b=$ c\ndone\n\nO resultado da execução desse script é o apresentado a seguir. 1 1 2 3 5 8","answer":"E","source":{"slug":"CNJ_24","ano":2024},"explanation":{"verdict_reason":"Basta executar o laço mentalmente. Com a iniciando em 0 e b em 1, o echo imprime o valor de a antes da atualização, de modo que a sequência exibida começa em zero: 0, 1, 1, 2, 3, 5 nas seis iterações. O resultado afirmado omite o primeiro termo e acrescenta um oitavo que nunca é impresso.","distortion_type":"numero_errado","distorted_span":"1 1 2 3 5 8","corrected_statement":"Considere o seguinte shell script.\n\n#!/bin/bash\nN=6\na=0\nb=1\nfor (( i=0; i<N; i++ ))\ndo\n    echo -n “$ a “\n    c=$ ((a + b))\n    a=$ b\n    b=$ c\ndone\n\nO resultado da execução desse script é o apresentado a seguir. 0 1 1 2 3 5","concept":"rastreio de laço: o que é impresso e quantas vezes","citation":null,"trap_note":"Em item com script, monte a tabela de variáveis por iteração e confira duas coisas: o valor impresso e a quantidade de repetições. Deslocar a sequência em um termo é o erro clássico."}},{"id":"6d8ed879b0f9","number":86,"stem":8,"statement":"A execução de hardening em sistema Linux passa pelos controles de autenticação com a utilização do módulo de autenticação plugável (PAM), podendo usar interfaces como auth, que verifica se uma conta tem autorização para usar o sistema por meio de determinado serviço.","answer":"E","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"O PAM tem quatro interfaces, e a descrição dada pertence à errada. A interface auth autentica: pede e confere a credencial, estabelecendo quem o usuário é. Quem verifica se aquela conta está autorizada a usar o serviço — validade, expiração, restrição de horário — é a interface account.","distortion_type":"troca_de_termo","distorted_span":"como auth, que verifica se uma conta tem autorização para usar o sistema","corrected_statement":"A execução de hardening em sistema Linux passa pelos controles de autenticação com a utilização do módulo de autenticação plugável (PAM), podendo usar interfaces como account, que verifica se uma conta tem autorização para usar o sistema por meio de determinado serviço.","concept":"interfaces do PAM: auth autentica, account autoriza","citation":null,"trap_note":"As quatro interfaces do PAM são auth (quem é), account (pode usar), password (troca de credencial) e session (o que fazer antes e depois do acesso). A banca descreve uma e assina outra."}},{"id":"fc2b8cee0421","number":99,"stem":9,"statement":"Em um arquivo criado com o nome script.sh, para ser executado como um script a cada 30 minutos, é necessário conceder permissão de execução por meio do comando apresentado a seguir. chmod +x script.sh","answer":"C","source":{"slug":"MP_GO_24_SERVIDOR","ano":2024},"explanation":{"verdict_reason":"Um arquivo criado com editor nasce sem o bit x, e sem ele o kernel recusa executá-lo diretamente, ainda que o agendador o chame. O chmod na forma simbólica com mais x liga a execução para as classes conforme o umask, que é o que torna o script executável pelo cron.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"script agendado precisa do bit de execução","citation":null,"trap_note":"Duas condições costumam vir juntas em item de cron: bit x no script e caminho absoluto, porque o ambiente do cron é mínimo e o PATH não é o do seu shell."}},{"id":"4e39b97fa8d2","number":100,"stem":9,"statement":"Considere que, a partir do diretório atual, seja necessário criar uma estrutura de 3 subdiretórios com o formato dir2/dir3/dir4. Nesse caso, o comando utilizado deve ser o apresentado a seguir. mkdir -p dir2/dir3/dir4","answer":"C","source":{"slug":"MP_GO_24_SERVIDOR","ano":2024},"explanation":{"verdict_reason":"Sem a opção, o mkdir falha ao criar dir2/dir3/dir4 porque os diretórios intermediários ainda não existem. A opção -p cria toda a cadeia de pais necessária de uma vez e não reclama do que já existe — é exatamente o caso apresentado.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"mkdir -p cria a cadeia de diretórios intermediários","citation":null,"trap_note":"Opções que mudam o comportamento inteiro do comando são o alvo preferido da banca: -p no mkdir, -r no cp e no rm, -f no tail, -a no ls."}},{"id":"736ceb259999","number":102,"stem":10,"statement":"O arquivo /boot/initrd.img-5.4.0-144-generic é o initrd correspondente ao kernel que está sendo carregado, e contém drivers e utilitários essenciais para a inicialização do kernel.\n\nusing System.ServiceProcess;\npublic class MyService : ServiceBase{\n   public MyService(){\n     this.ServiceName = “MySampleService”;\n   }\n   protected override void OnStart(string[]\nargs){\n     // Lógica de inicialização\n   }\n   protected override void OnStop(){\n     // Lógica de parada\n   }\n}\nstatic class Program {\n   static void Main(){\n     ServiceBase[] ServicesToRun;\n     ServicesToRun = new ServiceBase[]{\n        new MyService()};\n     ServiceBase.Run(ServicesToRun);\n   }\n}","answer":"C","source":{"slug":"CPNUJE_24","ano":2024},"explanation":{"verdict_reason":"O initrd, ou initramfs, é um sistema de arquivos raiz temporário carregado junto com o kernel e que contém os módulos e utilitários indispensáveis para chegar ao disco real — driver de controladora, LVM, RAID, criptografia. A convenção de nome amarra a imagem à versão do kernel correspondente, como no par vmlinuz e initrd.img da mesma versão em /boot.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"initrd/initramfs: raiz temporária com os drivers do boot","citation":null,"trap_note":"Em /boot moram o kernel (vmlinuz), o initrd e a configuração do GRUB. Item que ponha o initrd em /etc ou o descreva como parte do kernel erra o lugar e o papel."}},{"id":"64f9c189129c","number":64,"stem":11,"statement":"O comando ls -la é usado para listar detalhes dos arquivos e diretórios no diretório atual, incluindo-se arquivos ocultos.","answer":"C","source":{"slug":"CTI_23","ano":2023},"explanation":{"verdict_reason":"São duas opções somadas: -l troca a listagem simples pela longa, com tipo, permissões, número de ligações, dono, grupo, tamanho e data; -a inclui os nomes iniciados por ponto, que o ls omite por padrão. Juntas produzem a listagem detalhada com os arquivos ocultos do diretório atual.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"ls -l detalha; ls -a mostra os ocultos","citation":null,"trap_note":"No Linux arquivo oculto é apenas o que começa com ponto; não há atributo de ocultação como no Windows. Item que fale em marcar um arquivo como oculto confunde os dois sistemas."}},{"id":"062189bd1fcd","number":65,"stem":11,"statement":"Na estrutura de diretórios padrão no Linux, o /usr é utilizado para armazenar os arquivos pessoais de cada usuário, como, por exemplo, documentos, fotografias, músicas e vídeos.","answer":"E","source":{"slug":"CTI_23","ano":2023},"explanation":{"verdict_reason":"Pelo FHS, /usr guarda programas, bibliotecas e dados compartilhados do sistema, em regra somente leitura — /usr/bin, /usr/lib, /usr/share. Os documentos, fotos e músicas de cada usuário ficam no diretório pessoal, sob /home, e os do superusuário em /root.","distortion_type":"troca_de_termo","distorted_span":"o /usr é utilizado para armazenar os arquivos pessoais de cada usuário","corrected_statement":"Na estrutura de diretórios padrão no Linux, o /home é utilizado para armazenar os arquivos pessoais de cada usuário, como, por exemplo, documentos, fotografias, músicas e vídeos.","concept":"FHS: /usr é do sistema; /home é dos usuários","citation":"Filesystem Hierarchy Standard (FHS), seções /usr e /home","trap_note":"A sigla engana: /usr é de Unix System Resources, não de usuário. Junte a esse par o /root, que é a casa do superusuário e não a raiz do sistema."}},{"id":"f89d7d4acaa5","number":66,"stem":11,"statement":"No sistema operacional Linux, quando um processo está em estado “parado”, significa que o processo está aguardando algum recurso para ser executado.","answer":"E","source":{"slug":"CTI_23","ano":2023},"explanation":{"verdict_reason":"Parado é o estado T, em que o processo foi suspenso por sinal — SIGSTOP ou o Ctrl+Z do terminal — e só volta a concorrer pela CPU ao receber SIGCONT. Quem está à espera de um recurso, de entrada e saída ou de rede, está dormindo, nos estados S ou D. O item descreve um estado e nomeia o outro.","distortion_type":"troca_de_termo","distorted_span":"significa que o processo está aguardando algum recurso para ser executado","corrected_statement":"No sistema operacional Linux, quando um processo está em estado “parado”, significa que ele foi suspenso por um sinal e só retomará a execução ao receber SIGCONT.","concept":"estado T é suspensão por sinal; espera por recurso é S ou D","citation":null,"trap_note":"Guarde as cinco letras do ps: R executando ou pronto, S e D dormindo à espera de recurso, T parado por sinal, Z zumbi já terminado. A banca embaralha parado com bloqueado."}},{"id":"9f45de03a5ba","number":78,"stem":12,"statement":"O diretório padrão para armazenamento de logs do Linux RedHat é /var/log.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"Pelo FHS, /var abriga dados que variam durante a operação do sistema, e os registros de log ficam em /var/log — vale para Red Hat e para qualquer distribuição aderente ao padrão. É lá que estão messages, secure, boot.log e os diretórios dos serviços.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"FHS: logs em /var/log","citation":"Filesystem Hierarchy Standard (FHS), seção /var","trap_note":"Fixe o par de /var: log em /var/log, filas e spool em /var/spool, estado de aplicações em /var/lib. Configuração é /etc, e nunca /var."}},{"id":"81fce816722b","number":79,"stem":12,"statement":"Para a realização da leitura contínua de um arquivo com atualização em tempo real, como um arquivo de log, utiliza-se o comando tail /var/log/meu_arquivo.log.","answer":"E","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"O tail sem opção imprime as dez últimas linhas e termina; não há acompanhamento algum. A leitura contínua depende da opção -f, que mantém o arquivo aberto e exibe o que for acrescentado — é ela que falta no comando apresentado.","distortion_type":"troca_de_termo","distorted_span":"tail /var/log/meu_arquivo.log","corrected_statement":"Para a realização da leitura contínua de um arquivo com atualização em tempo real, como um arquivo de log, utiliza-se o comando tail -f /var/log/meu_arquivo.log.","concept":"tail -f acompanha o arquivo em tempo real","citation":null,"trap_note":"Item que descreva corretamente a finalidade e apresente o comando sem a opção que a realiza é o padrão mais comum deste tópico. Leia a linha de comando antes da justificativa."}},{"id":"0983334bd121","number":94,"stem":13,"statement":"Os sistemas de arquivos journaling mantêm uma cópia, como se fosse um diário, do que o sistema de arquivos vai fazer antes que ele o faça, para que, caso o sistema falhe antes de executar o trabalho planejado, ao ser reinicializado, o sistema possa procurar no diário para verificar o que seria executado no momento da falha e concluir o trabalho.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"Journaling é registrar a intenção antes da execução: o sistema de arquivos grava no diário o que vai fazer, faz, e só então marca a transação como concluída. Depois de uma queda, basta ler o diário e refazer ou descartar o que ficou pela metade, em vez de varrer o disco inteiro com fsck.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"journaling registra a intenção antes da escrita","citation":null,"trap_note":"Journaling protege a consistência dos metadados e acelera a recuperação; não é becape e não garante que o dado gravado pela aplicação sobreviva. Item que prometa não perder dados exagera o alcance."}},{"id":"594dec2729e7","number":95,"stem":13,"statement":"Se um arquivo do Linux tiver as permissões rw–r-----, então o proprietário e o grupo poderão ler este arquivo.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"Lidos em blocos de três, os bits rw- para o dono, r-- para o grupo e --- para os outros dão leitura e escrita ao proprietário, leitura ao grupo e nada aos demais. Como a pergunta se limita a ler, proprietário e grupo de fato podem.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"leitura dos nove bits por classe","citation":null,"trap_note":"Converta sempre para octal ao ler: rw-r----- é 640. O número é mais fácil de comparar com o que o item afirma do que a sequência de letras."}},{"id":"0dd7f8a31ce2","number":96,"stem":13,"statement":"Nos sistemas operacionais como o Unix, todos os dispositivos de entrada e saída são tratados como arquivos e podem ser lidos e escritos como arquivos comuns.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"O princípio de que tudo é arquivo é estrutural no Unix: os dispositivos aparecem como nós em /dev e são manipulados pelas mesmas chamadas open, read, write e close dos arquivos comuns. É por isso que se redireciona a saída para /dev/null ou se lê bytes de /dev/urandom com as ferramentas de sempre.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"tudo é arquivo: dispositivos em /dev com a mesma interface","citation":null,"trap_note":"A uniformidade da interface é o que faz pipe, redirecionamento e permissão valerem para dispositivo, soquete e processo. Item que separe dispositivos do modelo de arquivos contraria a base do sistema."}},{"id":"ade08c900555","number":112,"stem":14,"statement":"Em um computador com Linux instalado, se o resultado da busca das permissões de um arquivo for -rw-rw-r--, então todos os usuários do computador poderão ler e escrever nesse arquivo.","answer":"E","source":{"slug":"INPI_23","ano":2023},"explanation":{"verdict_reason":"Os nove bits lidos em blocos de três dão rw- ao dono, rw- ao grupo e r-- aos outros. Os demais usuários do computador, que caem na terceira classe, só podem ler: falta-lhes o w. Escrita é privilégio do dono e dos membros do grupo dono.","distortion_type":"escopo_ampliado","distorted_span":"todos os usuários do computador poderão ler e escrever nesse arquivo","corrected_statement":"Em um computador com Linux instalado, se o resultado da busca das permissões de um arquivo for -rw-rw-r--, então todos os usuários do computador poderão ler esse arquivo, mas somente o dono e os membros do grupo poderão escrever nele.","concept":"o terceiro terno de bits vale para os outros usuários","citation":null,"trap_note":"O erro típico não está na leitura das letras, e sim no salto: a banca estende ao grupo outros o que só o grupo dono tem. Converta para octal — 664 — e compare classe por classe."}},{"id":"5df99bcd4fb9","number":113,"stem":14,"statement":"Os aplicativos necessários para a configuração do ambiente Linux ficam instalados no diretório /root, o qual não pode ser deletado por qualquer tipo de usuário.","answer":"E","source":{"slug":"INPI_23","ano":2023},"explanation":{"verdict_reason":"O /root é o diretório pessoal do superusuário, o equivalente a /home/usuario para o root — não é a raiz do sistema nem o lugar dos programas, que ficam em /bin, /sbin, /usr/bin e /usr/sbin. E ele é um diretório comum: o próprio root pode removê-lo, com as consequências de sempre.","distortion_type":"troca_de_termo","distorted_span":"ficam instalados no diretório /root","corrected_statement":"Os aplicativos necessários para a configuração do ambiente Linux ficam instalados em diretórios como /usr/bin e /usr/sbin, sendo o /root o diretório pessoal do superusuário.","concept":"FHS: /root é a casa do superusuário, não a raiz nem o diretório de programas","citation":"Filesystem Hierarchy Standard (FHS), seção /root","trap_note":"Três nomes parecidos e três coisas diferentes: / é a raiz, /root é a casa do superusuário e root é o nome do usuário. A banca usa a semelhança."}},{"id":"2c738bf61f0f","number":117,"stem":15,"statement":"A execução da linha de código apresentada a seguir, em Shell Script, resultará na troca de todas as ocorrências do verbete FORA pelo verbete CIMA no arquivo texto.txt. sed -i 's\\FORA\\CIMA\\g' texto.txt","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"O comando s do sed substitui texto, e são dois detalhes que decidem o item: o modificador g ao final troca todas as ocorrências de cada linha, e não apenas a primeira, enquanto a opção -i grava a alteração no próprio arquivo em vez de imprimir o resultado na saída padrão. Com os dois presentes, todas as ocorrências de FORA viram CIMA dentro de texto.txt.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"sed -i grava no arquivo; o modificador g troca todas as ocorrências","citation":null,"trap_note":"Sem g, o sed troca só a primeira ocorrência de cada linha; sem -i, nada é alterado no arquivo. Item de sed costuma remover um desses dois e manter a afirmação de que tudo foi alterado."}},{"id":"42e8962bad3f","number":52,"stem":16,"statement":"Considere-se que, no Linux, haja apenas dois arquivos dentro do diretório /home/usuario e que o tamanho de cada um desses arquivos tenha sido obtido, em uma saída hipotética, como a seguir.\n\n122G /home/usuario/arquivoa\n117M /home/usuario/arquivob\n\nNessa situação, as referidas informações também podem ser obtidas, de forma similar, por meio do seguinte comando. df -h /home/usuario/","answer":"E","source":{"slug":"FUB_22","ano":2022},"explanation":{"verdict_reason":"A saída mostrada é de du, que percorre os arquivos e informa o espaço ocupado por cada um. O df responde outra pergunta: quanto de cada sistema de arquivos montado está usado e livre — daria uma única linha referente à partição que contém /home/usuario, e não o tamanho de cada arquivo.","distortion_type":"troca_de_termo","distorted_span":"df -h /home/usuario/","corrected_statement":"Considere-se que, no Linux, haja apenas dois arquivos dentro do diretório /home/usuario e que o tamanho de cada um desses arquivos tenha sido obtido, em uma saída hipotética, como a seguir.\n\n122G /home/usuario/arquivoa\n117M /home/usuario/arquivob\n\nNessa situação, as referidas informações também podem ser obtidas, de forma similar, por meio do seguinte comando. du -h /home/usuario/","concept":"du mede arquivos e diretórios; df mede sistemas de arquivos","citation":null,"trap_note":"Quando o item mostrar uma saída, pergunte qual comando produz aquele formato. Linha por arquivo com caminho é du; colunas de tamanho, usado, disponível e ponto de montagem é df."}},{"id":"4f2aa225837b","number":90,"stem":17,"statement":"O sistema Linux possibilita atribuir permissões de acesso diferentes em um mesmo diretório para distintas categorias: usuário dono, grupo dono do arquivo e demais usuários.","answer":"C","source":{"slug":"POLC_AL_22","ano":2022},"explanation":{"verdict_reason":"O modelo de permissão do Unix é de três classes fixas — dono, grupo dono e outros — e cada uma recebe seu próprio terno rwx, inclusive em diretórios. É exatamente o que os nove bits mostrados pelo ls -l representam.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"três classes de permissão: dono, grupo, outros","citation":null,"trap_note":"A ordem nunca muda: dono, grupo, outros. Leia os nove bits em blocos de três nessa sequência e metade dos itens de permissão se decide na contagem."}},{"id":"2f33e0ccfb05","number":93,"stem":18,"statement":"O arquivo exec.sh contém o código a seguir.\n\n#!/bin/sh\necho $ !\n\nA execução do referido arquivo terá o seguinte resultado.\n\nbanco do nordeste\n. /exec.sh banco do nordeste","answer":"E","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"O parâmetro especial com exclamação guarda o PID do último comando lançado em segundo plano; como o script não põe nada em segundo plano, ele está vazio e o echo imprime apenas uma linha em branco. Quem devolve os argumentos passados na chamada são os parâmetros com arroba ou asterisco.","distortion_type":"troca_de_termo","distorted_span":"echo $ !","corrected_statement":"O arquivo exec.sh contém o código a seguir.\n\n#!/bin/sh\necho $ @\n\nA execução do referido arquivo terá o seguinte resultado.\n\nbanco do nordeste\n. /exec.sh banco do nordeste","concept":"parâmetros especiais do shell: exclamação é PID de segundo plano","citation":null,"trap_note":"Fixe a tabela: arroba e asterisco são os argumentos, cerquilha é a quantidade deles, cifrão zero é o nome do script, interrogação é o código de saída do último comando e exclamação é o PID do último processo em segundo plano."}},{"id":"2e47af14b5ca","number":94,"stem":18,"statement":"O arquivo arq.sh contém o código a seguir.\n\n#!/bin/bash\necho $ #\n\nA execução do referido código terá o seguinte resultado. ./arq.sh 1 teste %","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"O parâmetro especial com cerquilha expande para a quantidade de parâmetros posicionais recebidos pelo script, e não para o conteúdo deles. Chamado com dois argumentos, o script imprime o número correspondente a essa contagem, que é o resultado apresentado.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"cerquilha expande para a quantidade de argumentos","citation":null,"trap_note":"Não confunda quantidade com conteúdo: cerquilha conta, arroba e asterisco listam. O nome do script nunca entra na contagem, porque ele é o parâmetro zero."}},{"id":"8e9b43986f40","number":103,"stem":19,"statement":"No Linux, o comando vmstat apresenta um relatório de consumo de CPU. Nesse relatório, a coluna id mostra o número do processo que está consumindo o referido recurso.","answer":"E","source":{"slug":"PGE_RJ_22","ano":2022},"explanation":{"verdict_reason":"As colunas de CPU do vmstat são percentuais de tempo, não identificadores: us é tempo em espaço de usuário, sy em espaço de kernel, id ocioso, wa à espera de entrada e saída e st roubado pelo hipervisor. A coluna id informa quanto a CPU ficou sem fazer nada — quem mostra PID e consumo por processo é o ps ou o top.","distortion_type":"troca_de_termo","distorted_span":"a coluna id mostra o número do processo que está consumindo o referido recurso","corrected_statement":"No Linux, o comando vmstat apresenta um relatório de consumo de CPU. Nesse relatório, a coluna id mostra o percentual de tempo em que a CPU permaneceu ociosa.","concept":"vmstat mostra percentuais agregados; id é tempo ocioso","citation":null,"trap_note":"Separe as ferramentas agregadas das por processo: vmstat, iostat e mpstat falam do sistema; ps, top e pidstat falam de processos. Item que peça PID a comando agregado erra o nível."}},{"id":"9b2b8926f07a","number":104,"stem":19,"statement":"Em ambiente Linux, ao se executar um arquivo que contenha a instrução a seguir.\n\necho PGE-RJ celebra o fim das obras de restauro \\\ndo Convento do Carmo\n\nSerá obtido o resultado seguinte.\n\nPGE-RJ celebra o fim das obras de restauro do\nConvento do Carmo","answer":"C","source":{"slug":"PGE_RJ_22","ano":2022},"explanation":{"verdict_reason":"A barra invertida no fim da linha escapa a quebra de linha, e o shell junta as duas linhas físicas em um único comando antes de executá-lo. O echo recebe, então, todas as palavras como argumentos e as imprime separadas por um espaço, em uma só linha lógica — que é o texto apresentado.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"barra invertida no fim da linha continua o comando","citation":null,"trap_note":"A barra invertida remove o significado especial do caractere seguinte, e no fim da linha o caractere seguinte é a quebra. É por isso que ela serve tanto para continuar comando quanto para escapar espaço em nome de arquivo."}},{"id":"77ed5d2f128f","number":113,"stem":20,"statement":"Suponha-se o seguinte código bash. tail nome_arquivo.txt -n2 | head -n1 A execução do código em tela resultará na apresentação da penúltima linha do arquivo nome_arquivo.txt.","answer":"C","source":{"slug":"SEPLAN_RR_22","ano":2022},"explanation":{"verdict_reason":"O pipe encadeia os dois comandos: o tail com -n2 entrega as duas últimas linhas do arquivo, e o head com -n1 devolve a primeira dessas duas. A primeira das duas últimas é a penúltima linha do arquivo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"tail -n2 | head -n1 isola a penúltima linha","citation":null,"trap_note":"Resolva o encadeamento da esquerda para a direita, escrevendo o que sai de cada estágio. A saída de um é a entrada do outro, e o resultado final é sempre o do último comando."}},{"id":"4f7eb333c059","number":74,"stem":21,"statement":"No Red Hat Enterprise Linux 7, systemd é um gerenciador de sistema e de serviços; o comando systemctl se comunica com serviços que são gerenciados pelo systemd. O serviço nfs-server é reiniciado como a seguir. systemctl reload nfs-server.service","answer":"E","source":{"slug":"TCE_SC_21_AUDITOR","ano":2021},"explanation":{"verdict_reason":"Os verbos do systemctl não são intercambiáveis: reload manda o serviço reler a configuração sem derrubar o processo, mantendo as conexões em curso. Quem para e sobe de novo o serviço é restart (ou try-restart, se já estiver ativo). A primeira metade do item, sobre o papel do systemd e do systemctl, está correta; o comando escolhido é que não reinicia coisa alguma.","distortion_type":"troca_de_termo","distorted_span":"systemctl reload nfs-server.service","corrected_statement":"No Red Hat Enterprise Linux 7, systemd é um gerenciador de sistema e de serviços; o comando systemctl se comunica com serviços que são gerenciados pelo systemd. O serviço nfs-server é reiniciado como a seguir. systemctl restart nfs-server.service","concept":"reload relê configuração; restart reinicia o processo","citation":null,"trap_note":"Quatro verbos, quatro efeitos: start e stop agem agora, enable e disable agem no próximo boot, restart derruba e sobe, reload só relê. Item de systemd quase sempre mora nessa tabela."}},{"id":"19bb888f6bd7","number":75,"stem":21,"statement":"No Red Hat Enterprise Linux 7, firewalld é um serviço de firewall baseado em host (host-based firewall) que utiliza os conceitos de zonas e serviços, em que as zonas são conjuntos predefinidos de regras.","answer":"C","source":{"slug":"TCE_SC_21_AUDITOR","ano":2021},"explanation":{"verdict_reason":"O firewalld é o serviço de firewall de host das distribuições Red Hat e organiza a filtragem por zonas: cada zona é um conjunto pronto de regras que expressa um nível de confiança (public, home, trusted, drop), ao qual se associam interfaces e origens. Dentro da zona, a liberação é declarada por serviço, e não por número de porta decorado.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"firewalld organiza regras por zona e por serviço","citation":null,"trap_note":"Guarde a pilha: o firewalld é a camada de administração, e quem filtra de fato no kernel é o netfilter, programado hoje via nftables. Item que ponha o firewalld dentro do kernel inverte a pilha."}},{"id":"94bdb140badb","number":85,"stem":22,"statement":"A imagem base do container é um Red Hat Linux.","answer":"C","source":{"slug":"SERPRO_21","ano":2021},"explanation":{"verdict_reason":"A instrução FROM é a que define a imagem base de onde o novo contêiner parte, e ela aponta para rhel7:latest. Todo o resto do arquivo confirma a família: o gerenciador de pacotes usado é o yum e os repositórios desabilitados são os de subscrição Red Hat.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"FROM define a imagem base do contêiner","citation":null,"trap_note":"Em item com Dockerfile, leia FROM para a base, RUN para o que é executado na construção e CMD para o que roda quando o contêiner sobe. A banca troca essas três."}},{"id":"ba981039838c","number":51,"stem":23,"statement":"Para atualizar pacotes apenas para versões que contenham as atualizações de segurança mais recentes, deve ser utilizado o seguinte comando. yum update-minimal --security","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"O update-minimal aplica a menor atualização capaz de resolver o problema apontado, em vez de levar o pacote à versão mais recente disponível. Combinado com --security, ele restringe o conjunto aos avisos de segurança, atualizando cada pacote apenas até a errata que corrige a falha.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"update-minimal --security sobe só até a correção de segurança","citation":null,"trap_note":"Distinga update de update-minimal: o primeiro leva à última versão, o segundo à menor versão que resolve. A opção --security recorta o escopo, não a profundidade."}},{"id":"c0bfb3b9ea45","number":52,"stem":23,"statement":"O systemd é capaz de gerenciar serviços; o comando a seguir permite listar os status de todos os serviços no sistema operacional. systemctl list-units --type target --anyway","answer":"E","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"São dois erros na mesma linha. A opção --anyway não existe no systemctl; quem inclui as units inativas na listagem é --all. E --type target restringe a saída aos alvos, que são agrupamentos de units, não aos serviços — para serviços o tipo é service.","distortion_type":"troca_de_termo","distorted_span":"systemctl list-units --type target --anyway","corrected_statement":"O systemd é capaz de gerenciar serviços; o comando a seguir permite listar os status de todos os serviços no sistema operacional. systemctl list-units --type service --all","concept":"list-units: --type service seleciona e --all inclui as inativas","citation":null,"trap_note":"Opção inventada com cara de plausível é assinatura da banca. Se você nunca digitou aquela opção, trate-a como suspeita principal do item."}},{"id":"da5484b11677","number":53,"stem":23,"statement":"Se 022 é o umask padrão para todos os usuários, então o comando a seguir modificará o umask para 227 somente para o usuário roberto. echo 'umask 227' >> /home/roberto/.bashrc","answer":"C","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"O umask é herdado do shell, e o .bashrc é lido a cada sessão interativa apenas do dono daquele diretório pessoal — por isso a mudança fica restrita ao roberto, sem tocar no padrão dos demais. O operador de duplo maior acrescenta a linha ao final do arquivo, preservando o conteúdo anterior.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"umask por usuário via .bashrc; redirecionamento com acréscimo","citation":null,"trap_note":"Escopo de configuração cai muito: /etc/profile e /etc/bashrc valem para todos, os arquivos de ponto no diretório pessoal valem só para aquele usuário."}},{"id":"ce9f7d875d1a","number":54,"stem":23,"statement":"O comando timedatectl list --zone é capaz de listar os timezones disponíveis para a configuração de fuso horário no sistema operacional.","answer":"E","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"O subcomando que enumera os fusos horários é list-timezones, escrito como um verbo único do timedatectl. A forma apresentada quebra o subcomando em list mais uma opção --zone que não existe na ferramenta; o comando falharia.","distortion_type":"troca_de_termo","distorted_span":"timedatectl list --zone","corrected_statement":"O comando timedatectl list-timezones é capaz de listar os timezones disponíveis para a configuração de fuso horário no sistema operacional.","concept":"timedatectl list-timezones enumera os fusos","citation":null,"trap_note":"Nas ferramentas do systemd o subcomando é uma palavra composta por hífen: list-units, list-timezones, set-timezone. Item que a parta em duas está inventando sintaxe."}},{"id":"e614e7f0cb48","number":55,"stem":23,"statement":"O comando setfacl é usado para verificar a existência de listas de controles de acesso (ACL) no sistema de arquivos e diretórios.","answer":"E","source":{"slug":"DPDF_20_ANALISTA","ano":2020},"explanation":{"verdict_reason":"O par segue a convenção get e set: o getfacl consulta e exibe as listas de controle de acesso de arquivos e diretórios, e o setfacl é que define, altera ou remove entradas. O item descreve a consulta e assina a ferramenta de escrita.","distortion_type":"troca_de_termo","distorted_span":"O comando setfacl é usado para verificar a existência","corrected_statement":"O comando getfacl é usado para verificar a existência de listas de controles de acesso (ACL) no sistema de arquivos e diretórios.","concept":"getfacl consulta ACL; setfacl define ACL","citation":null,"trap_note":"Sempre que houver um par get e set — getfacl e setfacl, getenforce e setenforce, getsebool e setsebool —, confira se o verbo da frase é consultar ou alterar."}},{"id":"859e2326eb95","number":172,"stem":24,"statement":"No processo de inicialização de um sistema Linux, a função de carregar e descompactar a imagem do kernel é responsabilidade do carregador de boot de primeiro estágio.","answer":"E","source":{"slug":"TCE_RJ_20","ano":2020},"explanation":{"verdict_reason":"O carregador de primeiro estágio cabe no setor de boot — poucas centenas de bytes — e por isso só faz uma coisa: localizar e carregar o segundo estágio. Quem tem código suficiente para ler o sistema de arquivos, achar o vmlinuz, descompactá-lo e passar o controle a ele com o initrd é o segundo estágio, o GRUB propriamente dito.","distortion_type":"troca_de_termo","distorted_span":"carregador de boot de primeiro estágio","corrected_statement":"No processo de inicialização de um sistema Linux, a função de carregar e descompactar a imagem do kernel é responsabilidade do carregador de boot de segundo estágio.","concept":"primeiro estágio chama o segundo; o segundo carrega o kernel","citation":null,"trap_note":"A cadeia do boot é firmware, primeiro estágio, segundo estágio, kernel mais initramfs, systemd. A banca promove ou rebaixa uma etapa e mantém o resto correto."}},{"id":"764da4e347d0","number":103,"stem":25,"statement":"Em um computador com sistema operacional Linux, é possível implantar mecanismo de segurança do tipo MAC (Mandatory Access Control), o qual é capaz de determinar regras para arquivos e processos.","answer":"C","source":{"slug":"FUB_19","ano":2019},"explanation":{"verdict_reason":"MAC é o modelo em que a política é escrita pelo administrador e imposta pelo kernel, acima da vontade do dono do arquivo — diferente do modelo discricionário dos bits rwx, em que o dono decide. O Linux traz isso de fábrica: SELinux e AppArmor rotulam arquivos, portas e processos e autorizam ou negam cada transição. Portanto a implantação descrita é perfeitamente possível.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"MAC no Linux: SELinux e AppArmor sobre arquivos e processos","citation":null,"trap_note":"DAC é o rwx que o dono controla; MAC é a política do sistema, que o dono não relaxa. Guarde que o MAC do Linux alcança processos e não apenas arquivos — é assim que ele confina um daemon comprometido."}},{"id":"9a46a6f81077","number":52,"stem":26,"statement":"O Linux é um sistema operacional em que cada usuário consegue ter apenas um processo ativo por vez, processo esse que é iniciado automaticamente quando o sistema é carregado.","answer":"E","source":{"slug":"FUB_18","ano":2018},"explanation":{"verdict_reason":"O Linux é multitarefa e multiusuário: um único login já sustenta o shell, os comandos que ele dispara, os processos em segundo plano lançados com o e comercial e os serviços do usuário — todos simultâneos, cada um com seu PID. Também não há processo que nasça automaticamente por usuário na carga do sistema; o único iniciado pelo kernel é o PID 1.","distortion_type":"generalizacao","distorted_span":"cada usuário consegue ter apenas um processo ativo por vez","corrected_statement":"O Linux é um sistema operacional multitarefa, em que cada usuário pode ter vários processos ativos ao mesmo tempo, criados a partir do shell de sua sessão.","concept":"multitarefa: vários processos por usuário, cada um com seu PID","citation":null,"trap_note":"Palavras como apenas, um único e sempre em item de processo quase sempre marcam generalização. O Linux permite e contabiliza; raramente proíbe."}},{"id":"adf4d3f37392","number":54,"stem":27,"statement":"Em sistemas operacionais Linux, os processos podem comunicar-se com outros processos por interrupções de software, que são canais entre os processos nos quais um processo pode escrever um fluxo de baites para outro processo ler.","answer":"E","source":{"slug":"MP_PI_18","ano":2018},"explanation":{"verdict_reason":"A descrição — canal entre processos em que um escreve um fluxo de bytes e o outro lê — é a definição de pipe. Interrupção de software é sinal: uma notificação assíncrona que interrompe o processo e carrega apenas um número, sem transportar dados. O mecanismo descrito está certo; o nome dado a ele é o de outro mecanismo.","distortion_type":"troca_de_termo","distorted_span":"por interrupções de software","corrected_statement":"Em sistemas operacionais Linux, os processos podem comunicar-se com outros processos por pipes, que são canais entre os processos nos quais um processo pode escrever um fluxo de baites para outro processo ler.","concept":"pipe transporta fluxo de bytes; sinal apenas interrompe","citation":null,"trap_note":"Leia a descrição e batize o mecanismo antes de olhar o nome que o item usou. Fluxo de bytes é pipe ou socket; notificação sem dados é sinal."}},{"id":"aeaf40470acf","number":65,"stem":28,"statement":"O kernel do sistema operacional Linux tem a função de interpretar os comandos executados em um terminal.","answer":"E","source":{"slug":"EMAP_18","ano":2018},"explanation":{"verdict_reason":"Interpretar a linha digitada, expandir curingas e variáveis, montar pipes e redirecionamentos e então chamar o programa é trabalho do shell — bash, sh, zsh —, que é um processo comum de espaço de usuário. O kernel gerencia memória, processos, arquivos e dispositivos, e só entra quando o shell faz uma chamada de sistema.","distortion_type":"atribuicao_errada","distorted_span":"O kernel do sistema operacional Linux tem a função de interpretar os comandos","corrected_statement":"O shell do sistema operacional Linux tem a função de interpretar os comandos executados em um terminal.","concept":"o shell interpreta comandos; o kernel gerencia recursos","citation":null,"trap_note":"Fronteira que resolve vários itens: espaço de usuário interpreta e pede, kernel atende. Shell, terminal e aplicações estão de um lado; escalonamento, memória e drivers, do outro."}},{"id":"97493a673d32","number":67,"stem":28,"statement":"Caso necessite alterar o arquivo /etc/resolv.conf em diversos servidores Red Hat Enterprise Linux, com a finalidade de gestão de configuração, o administrador de rede poderá usar o Red Hat Satellite.","answer":"C","source":{"slug":"EMAP_18","ano":2018},"explanation":{"verdict_reason":"O Red Hat Satellite é a plataforma de gestão centralizada do parque Red Hat: além de espelhar conteúdo e subscrições, aplica configuração e executa tarefas remotas sobre os hosts registrados. Distribuir uma alteração de /etc/resolv.conf a vários servidores de uma vez é exatamente o tipo de uso para que ele existe.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Satellite centraliza conteúdo e configuração do parque Red Hat","citation":null,"trap_note":"Separe a ferramenta local da ferramenta de parque: systemctl e yum agem em uma máquina; Satellite, Ansible e afins agem em muitas. Item de escala geralmente testa essa distinção."}},{"id":"0797ce8a081b","number":81,"stem":29,"statement":"O usuário root no Linux pode efetuar todas as tarefas administrativas e também efetuar qualquer operação, como apagar ou modificar arquivos importantes e alterar a configuração do sistema.","answer":"C","source":{"slug":"EBSERH_18_ADMINISTRATIVO","ano":2018},"explanation":{"verdict_reason":"O root é o UID 0, e o kernel simplesmente não aplica a verificação de permissão a ele: os bits rwx, o dono e o grupo deixam de ser obstáculo. Por isso ele administra o sistema e também pode destruí-lo, apagando arquivos críticos sem que nada o impeça.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"UID 0 ignora a verificação de permissão","citation":null,"trap_note":"O único limite que se impõe ao root é de outra natureza: política MAC do SELinux e atributos imutáveis (chattr +i). Bits rwx não seguram o UID 0."}},{"id":"79ebf3781d25","number":82,"stem":29,"statement":"O Linux Kernel forma a estrutura do sistema operacional Linux.","answer":"C","source":{"slug":"EBSERH_18_ADMINISTRATIVO","ano":2018},"explanation":{"verdict_reason":"O kernel é o núcleo que gerencia memória, processos, sistemas de arquivos e dispositivos, e é ele que atende as chamadas de sistema de todo o resto. Sobre essa base assentam bibliotecas, shell e aplicações — daí ser correto dizer que forma a estrutura do sistema operacional Linux.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"o kernel é o núcleo; o restante roda sobre ele","citation":null,"trap_note":"O par que a banca explora é kernel e shell: o kernel gerencia recursos, o shell interpreta comandos. Guarde a fronteira e vários itens caem juntos."}},{"id":"c4fcdc74de48","number":83,"stem":29,"statement":"No Linux, o comando wc -w RELATORIO.TXT apresenta a quantidade de palavras existentes no arquivo RELATORIO.TXT.","answer":"C","source":{"slug":"EBSERH_18_ADMINISTRATIVO","ano":2018},"explanation":{"verdict_reason":"O wc conta unidades de texto e a opção escolhe qual: -l linhas, -w palavras, -c bytes e -m caracteres. Com -w, portanto, a saída é a quantidade de palavras do arquivo indicado.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"wc: -l linhas, -w palavras, -c bytes","citation":null,"trap_note":"Esta família de itens se decide na letra da opção, não no comando. Decore os pares curtos: wc -l, wc -w, wc -c."}},{"id":"442da29ffe01","number":88,"stem":30,"statement":"No sistema operacional Linux, é possível alterar a prioridade de um processo já iniciado com o uso do comando nice.","answer":"E","source":{"slug":"EBSERH_18_ADMINISTRATIVO","ano":2018},"explanation":{"verdict_reason":"O nice não altera nada que já esteja rodando: ele lança um comando novo com a niceness pedida. Quem muda a prioridade de um processo existente, identificado por PID, usuário ou grupo, é o renice. A finalidade descrita está certa; o comando é o do outro caso.","distortion_type":"troca_de_termo","distorted_span":"com o uso do comando nice","corrected_statement":"No sistema operacional Linux, é possível alterar a prioridade de um processo já iniciado com o uso do comando renice.","concept":"nice lança com prioridade; renice altera a de processo em execução","citation":null,"trap_note":"O par nice e renice segue a mesma lógica de get e set: um age na criação, o outro age sobre o que existe. Baixar a niceness para valores negativos exige root nos dois casos."}},{"id":"bd8e158dd831","number":58,"stem":31,"statement":"O Windows 10 permite o acesso à Internet para a solução de problemas, mesmo tendo sido iniciado em modo de segurança.","answer":"C","source":{"slug":"FUB_16_1","ano":2016},"explanation":{"verdict_reason":"O modo de segurança do Windows carrega um conjunto mínimo de drivers e serviços, e por isso a rede fica desligada na variante básica. Existe, porém, a opção Modo de Segurança com Rede, que acrescenta os drivers e serviços de rede exatamente para permitir baixar correções e pesquisar a solução do problema.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"modo de segurança com rede habilita o acesso à Internet","citation":null,"trap_note":"Quando o item afirmar que algo é possível, basta existir um caso em que seja. Uma variante prevista da funcionalidade sustenta o gabarito certo."}},{"id":"d5ae932fd5cf","number":59,"stem":31,"statement":"Qualquer leitura feita em arquivos no GNU/Linux provoca uma operação de escrita que atualiza a informação atime do referido arquivo.","answer":"E","source":{"slug":"FUB_16_1","ano":2016},"explanation":{"verdict_reason":"Atualizar o atime a cada leitura custaria uma escrita por leitura, e por isso as montagens modernas usam relatime por padrão: o atime só é regravado se estiver mais antigo que o mtime ou que o ctime, ou se passou mais de um dia. Com a opção noatime, nenhuma leitura gera escrita alguma.","distortion_type":"generalizacao","distorted_span":"Qualquer leitura feita em arquivos no GNU/Linux provoca uma operação de escrita","corrected_statement":"A leitura de arquivos no GNU/Linux pode provocar uma operação de escrita que atualiza a informação atime do referido arquivo, conforme a opção de montagem utilizada (atime, relatime ou noatime).","concept":"atime depende da opção de montagem; relatime é o padrão","citation":null,"trap_note":"Guarde os três carimbos de tempo: atime é o último acesso, mtime a última alteração do conteúdo e ctime a última alteração dos metadados, como permissão e dono. Só o atime tem opção de montagem que o suprime."}},{"id":"7c35a5121e27","number":65,"stem":32,"statement":"Em um computador Linux, não é necessária nenhuma configuração para habilitar a comunicação da placa de rede sem fio com o ponto de acesso, uma vez que o gerenciador da placa PCMCIA ou PC reconhece a placa de rede sem fio e carrega o driver correto.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"Reconhecer o hardware e carregar o driver é só a primeira metade do trabalho: mesmo com a interface detectada, a associação ao ponto de acesso exige informar SSID e credencial de segurança, seja por gerenciador de rede, por wpa_supplicant ou por arquivo de configuração. Nenhum driver adivinha a qual rede sem fio conectar nem a senha dela.","distortion_type":"generalizacao","distorted_span":"não é necessária nenhuma configuração","corrected_statement":"Em um computador Linux, é necessária configuração para habilitar a comunicação da placa de rede sem fio com o ponto de acesso — ao menos SSID e credenciais —, ainda que o gerenciador da placa PCMCIA ou PC reconheça a placa de rede sem fio e carregue o driver correto.","concept":"detecção de hardware não é configuração de rede","citation":null,"trap_note":"Reconhecer o dispositivo, carregar o módulo e configurar o serviço são três etapas distintas. Item que use uma para dispensar a outra está estendendo o alcance do mecanismo."}},{"id":"946ba5341280","number":67,"stem":32,"statement":"Para utilizar o Shell Bash do Linux por meio de um super-usuário com alto nível de privilégio, é necessário utilizar o comando su- seguido de senha para o root.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O su troca a identidade da sessão para outro usuário e, sem argumento, assume o root; a forma com hífen ainda carrega o ambiente de login do destino. Como a troca é autenticada, o sistema pede a senha do usuário-alvo, isto é, a senha do root.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"su pede a senha do usuário de destino","citation":null,"trap_note":"su pede a senha de quem você quer virar; sudo pede a sua própria senha e consulta o /etc/sudoers. Confundir de quem é a senha é um item inteiro."}},{"id":"157f91188094","number":71,"stem":33,"statement":"A opção mount -t vfat permite fazer o becape dentro de uma partição de disco DOS/Windows, caso em que a hierarquia de diretório aparece como parte do sistema de arquivos Linux.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"A opção -t do mount declara o tipo do sistema de arquivos, e vfat é o tipo das partições FAT usadas por DOS e Windows. Como o Linux tem hierarquia única, montar essa partição enxerta a árvore dela em um ponto de /, e a partir daí ela é acessada como qualquer outro caminho — inclusive como destino de becape.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"mount -t declara o tipo e enxerta a partição na árvore única","citation":null,"trap_note":"No Linux não há letra de unidade: todo volume vira um diretório dentro de /. Item que fale de acessar outra partição sem mencionar montagem costuma esconder aí o erro."}},{"id":"6b5e3acd2395","number":72,"stem":33,"statement":"No Linux, o Tape Archiver -tar cria cada arquivo compactado separadamente, não sendo permitido que esse arquivo contenha diretórios com outros arquivos.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O tar existe justamente para o contrário do que o item afirma: ele percorre uma árvore de diretórios e a concatena em um único arquivo, preservando caminhos, permissões e datas. Comprimir é serviço de outro programa (gzip, bzip2, xz), acionado por opção como -z ou -j, e o tar comprime o pacote inteiro, não cada arquivo em separado.","distortion_type":"inversao","distorted_span":"não sendo permitido que esse arquivo contenha diretórios com outros arquivos","corrected_statement":"No Linux, o Tape Archiver -tar reúne vários arquivos em um único arquivo, sendo permitido que esse arquivo contenha diretórios com outros arquivos.","concept":"tar agrupa a árvore; a compressão é de outro programa","citation":null,"trap_note":"Agrupar e comprimir são funções separadas no Unix: tar agrupa, gzip comprime. Item que negue ao tar a capacidade de guardar diretórios contraria a razão de ele existir."}},{"id":"bf06f6a45fde","number":83,"stem":34,"statement":"Os comandos find e which podem ser utilizados para a obtenção de informações acerca de programas instalados no Linux; o primeiro localiza o caminho (path) onde o comando está instalado, e o segundo, a versão do programa.","answer":"E","source":{"slug":"FUNPRESP_16_JUD","ano":2016},"explanation":{"verdict_reason":"Quem localiza o caminho de um executável percorrendo o PATH é o which, não o find; o find varre a árvore de diretórios procurando arquivos por nome, tamanho, data ou permissão. E nenhum dos dois informa versão de programa — isso vem da própria aplicação, com opções como --version, ou do gerenciador de pacotes.","distortion_type":"inversao","distorted_span":"o primeiro localiza o caminho (path) onde o comando está instalado","corrected_statement":"Os comandos find e which podem ser utilizados para a obtenção de informações acerca de programas instalados no Linux; o primeiro varre a árvore de diretórios em busca de arquivos, e o segundo localiza o caminho (path) onde o comando está instalado.","concept":"which busca no PATH; find varre a árvore de diretórios","citation":null,"trap_note":"Quando o item descrever dois comandos com o primeiro e o segundo, resolva cada metade isoladamente: a banca troca as duas descrições de lugar e conta com a leitura corrida."}},{"id":"cebeff3ffc17","number":96,"stem":35,"statement":"O mecanismo de geração de logs do Linux utiliza o Syslog por padrão, sendo algumas mensagens do sistema direcionadas para o arquivo /var/log/messages.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O registro de eventos do Linux segue o modelo syslog, implementado hoje por rsyslog ou syslog-ng, em que cada mensagem carrega facilidade e severidade e é encaminhada conforme regras de configuração. As mensagens gerais do sistema vão, por padrão, para /var/log/messages nas distribuições da família Red Hat.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"syslog como modelo de log; /var/log/messages como destino geral","citation":null,"trap_note":"Saiba os destinos usuais: messages para o geral, secure ou auth.log para autenticação, boot.log para a inicialização. No systemd há ainda o journal, consultado com journalctl."}},{"id":"8e3cff1d9208","number":107,"stem":36,"statement":"A principal ferramenta do Unix utilizada para a realização de buscas no conteúdo dos arquivos é o grep, cujas variantes são grep, egrep e fgrep.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O grep é a ferramenta clássica do Unix para procurar padrões dentro do conteúdo de arquivos, linha a linha, e tem as variantes históricas egrep, que usa expressões regulares estendidas, e fgrep, que trata o padrão como texto literal e por isso é o mais rápido.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"grep busca conteúdo; egrep e fgrep são variantes de padrão","citation":null,"trap_note":"Não confunda o eixo: grep procura dentro dos arquivos, find procura arquivos pela árvore. Item que mande o grep localizar arquivos por nome trocou os dois."}},{"id":"dc0b467dfb44","number":108,"stem":36,"statement":"A expressão teste.? lista todos os arquivos de um diretório que contenha os arquivos teste.c, teste.o e teste.log.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"No englobamento do shell a interrogação casa exatamente um caractere. Assim teste.? alcança teste.c e teste.o, mas não teste.log, cuja extensão tem três caracteres — para esse caso seria preciso o asterisco, que casa qualquer sequência, inclusive vazia.","distortion_type":"troca_de_termo","distorted_span":"A expressão teste.?","corrected_statement":"A expressão teste.* lista todos os arquivos de um diretório que contenha os arquivos teste.c, teste.o e teste.log.","concept":"curinga: ? casa um caractere, * casa qualquer sequência","citation":null,"trap_note":"Os curingas do shell não são expressão regular: ? é um caractere, * é qualquer sequência e os colchetes formam conjunto. Quando o item listar exemplos, teste cada nome contra o padrão."}},{"id":"402252737294","number":109,"stem":36,"statement":"Por utilizar uma linguagem padronizada conforme o padrão POSIX, o Script Bash apresenta simplicidade e portabilidade.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O bash implementa a linguagem de comandos padronizada pelo POSIX, e é essa padronização que sustenta as duas qualidades afirmadas: a sintaxe é simples, sem compilação nem tipos, e um script escrito dentro do padrão roda em qualquer sistema com um shell aderente.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"bash sobre a linguagem de comandos POSIX","citation":"IEEE Std 1003.1 (POSIX), Shell Command Language","trap_note":"A portabilidade vale para o que está no padrão; extensões do bash, como vetores associativos e o duplo colchete, não existem em todo sh. É por isso que scripts portáveis usam sh."}},{"id":"c58a140cd97c","number":109,"stem":37,"statement":"O sistema padrão de arquivos EXT4, que é utilizado pelo Linux, pode ser acessado pelo Windows por meio de programas específicos.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"O EXT4 é o sistema de arquivos padrão de boa parte das distribuições Linux e não é reconhecido nativamente pelo Windows, mas o formato é público e existem programas de terceiros que montam ou leem partições EXT4 no Windows. A afirmação depende justamente desse software específico, que o item menciona.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"EXT4 no Windows exige software de terceiros","citation":null,"trap_note":"Note a diferença entre suporte nativo e suporte por ferramenta externa. O Linux lê NTFS e FAT nativamente; o Windows precisa de programa adicional para EXT4."}},{"id":"e02ae5d48eeb","number":110,"stem":38,"statement":"O comando # lvcreate -L 8020 -n tce00 vg00 cria um volume que é chamado tce00 e que possui oito gigabaites e vinte megabaites.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"No lvcreate a opção -L fixa o tamanho e, sem sufixo de unidade, o valor é lido em megabytes; -n dá o nome ao volume lógico e o último argumento é o grupo de volumes de onde o espaço sai. Assim 8020 megabytes correspondem a oito gigabytes mais vinte megabytes, no volume tce00 criado sobre o vg00.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"lvcreate -L em megabytes por padrão; -n nomeia o volume","citation":null,"trap_note":"Em item de LVM confira a unidade implícita e a ordem dos argumentos: -L tamanho, -l número de extents, -n nome, e por último o grupo de volumes."}},{"id":"eda2dc87ee11","number":110,"stem":39,"statement":"No modo de operação enforcing, as regras do SELinux são desativadas e todas as operações geram logs.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"Enforcing é o modo em que a política é aplicada: o acesso que viola a regra é bloqueado e a negativa registrada no log de auditoria. Regras avaliadas mas não aplicadas, com tudo indo apenas para o log, é o comportamento do permissive — e o item atribui essa metade ao modo errado.","distortion_type":"inversao","distorted_span":"as regras do SELinux são desativadas","corrected_statement":"No modo de operação enforcing, as regras do SELinux são aplicadas e as operações negadas geram logs.","concept":"enforcing aplica a política; permissive apenas registra","citation":null,"trap_note":"Três estados, três comportamentos: enforcing bloqueia e registra, permissive só registra, disabled nem avalia. Item de SELinux quase sempre desloca um modo para o comportamento do vizinho."}},{"id":"2a256747aa27","number":120,"stem":40,"statement":"Uma característica dos sistemas de arquivos modernos é suportar um sistema hierárquico em que os diretórios podem ter subdiretórios, e estes podem ter outros subdiretórios, e assim sucessivamente.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"Organização hierárquica e recursiva de diretórios é característica básica dos sistemas de arquivos modernos: um diretório contém arquivos e outros diretórios, sem limite estrutural de profundidade. No Unix isso se soma à raiz única, em que todo volume montado se encaixa como um ramo da mesma árvore.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"hierarquia recursiva de diretórios","citation":null,"trap_note":"Guarde a diferença entre hierarquia (a árvore de diretórios) e raiz única (não haver letras de unidade). São propriedades distintas e a banca mistura as duas."}},{"id":"e486eb6f30d0","number":79,"stem":41,"statement":"No modo Permissive, o SELinux estará habilitado, mas apenas gera alarmes e log das ações no sistema.","answer":"C","source":{"slug":"TJDFT_15_SERVIDOR","ano":2015},"explanation":{"verdict_reason":"O SELinux tem três estados: enforcing aplica a política e nega, permissive avalia a política e apenas registra o que teria negado, disabled não carrega política alguma. Permissive é o modo de diagnóstico justamente porque mantém o SELinux ativo e produz os avisos em log sem quebrar a aplicação.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"modos do SELinux: enforcing nega e registra; permissive só registra","citation":null,"trap_note":"Separe habilitado de aplicado. Permissive está habilitado e não bloqueia; disabled não está habilitado. Item que descreva permissive como SELinux desligado está errado."}},{"id":"08175e8f515b","number":80,"stem":41,"statement":"O modo de funcionamento Enforcing, que não é o padrão do SELinux, nega acesso a recursos e impede o log das ações realizadas no sistema.","answer":"E","source":{"slug":"TJDFT_15_SERVIDOR","ano":2015},"explanation":{"verdict_reason":"Enforcing é o modo padrão do SELinux nas distribuições da família Red Hat, e ele nega o acesso e registra a negativa — bloquear e auditar andam juntos. Quem apenas registra sem negar é o permissive; quem não registra nada é o disabled. O item erra duas vezes: no padrão e no log.","distortion_type":"inversao","distorted_span":"impede o log das ações realizadas no sistema","corrected_statement":"O modo de funcionamento Enforcing, que é o padrão do SELinux, nega acesso a recursos e registra em log as ações realizadas no sistema.","concept":"enforcing nega e registra; permissive só registra","citation":null,"trap_note":"Em item de SELinux confira sempre dois fatos: qual é o padrão (enforcing) e se o modo descrito registra. A banca troca um dos dois e mantém o outro correto."}},{"id":"3c89ba19bf20","number":85,"stem":42,"statement":"Na instalação do DB2 PureScale em Linux, se um usuário existente for selecionado como proprietário de instância do DB2, ele deverá existir com o mesmo UID em todos os hosts.","answer":"C","source":{"slug":"TJDFT_15_SERVIDOR","ano":2015},"explanation":{"verdict_reason":"O kernel identifica o dono de um arquivo pelo número, o UID, e não pelo nome de login — o nome só existe no /etc/passwd de cada máquina. Num ambiente com armazenamento compartilhado entre hosts, como o pureScale, o mesmo login com UIDs diferentes vira dois donos distintos e a instância perde acesso aos próprios arquivos no host vizinho. Daí a exigência de UID idêntico em todos os hosts.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"identidade de arquivo é o UID numérico, não o nome","citation":null,"trap_note":"Sempre que o item falar de arquivos compartilhados entre máquinas (NFS, cluster, sistema de arquivos de cluster), pense em número: o UID e o GID é que viajam com o arquivo."}}]}