Por: Fagner Oliveira
Gerenciamento de usuários:
Embora o Linux tenha sido desenvolvido de uma forma independente, ele é um sistema Unix que herdou os recursos multiusuário dos primeiros sistemas Unix. Isso permite que o sistema possa ser usado por vários usuários ao mesmo tempo, sem que um atrapalhe as atividades do outro, nem de forma alguma possa alterar seus arquivos.
A restrições básicas de acesso são implementadas, através de um sistema de permissões simples, porém, eficientes. Consiste pois em um conjunto de três permissões de acesso (ler, gravar, executar) e três grupos (dono, grupo, outros), combinadas nos permitem fazer muitas coisas.
Existe dois comandos básicos que permite respectivamente a criação de usuários e criação ou alteração de senhas, são eles: "adduser" "passwd".
Para criar um novo usuário, basta executar:
# adduser joao
(cria o usuário joao e especifica uma senha para ele)
# passwd joao
(altera a senha caso necessite)
Um usuário comum pode alterar sua senha normalmente usando o comando "passwd", porém, é preciso especificar a senha antiga, caso contrário nada será feito. Se isso acontecer será uma tarefa que o administrador do sistema terá que fazer, pois ele entrará com a conta de root e fará o procedimento, lembrando que, para o root não é necessário especificar a senha antiga.
Os usuários cadastrados no sistema estão dentro do arquivo "/etc/passwd", esse arquivo tem o seguinte conteúdo:
==========================================================================
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
syslog:x:101:103::/home/syslog:/bin/false
messagebus:x:102:105::/var/run/dbus:/bin/false
avahi-autoipd:x:103:108:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false
==========================================================================
Esse arquivo pode ser editado manualmente, porém deve-se tomar muito cuidado para não alterar o campo errado. O comando para editar esse arquivo é o "usermod"
Para deletar um usuário anteriormente criado é o utilizado o comando "deluser", como em:
# deluser joao
Por padrão ele só exclui a conta do sistema mantendo assim o diretório pessoal do usuário. Caso for necessário remover o usuário incluindo seu diretório pessoal, adicione o parâmetro "--remove-home", como em:
# deluser joao --remove-home
Também existe a possibilidade de bloquear um usuário específico sem fazer sua exclusão do sistema, para isso adicione o parâmetro "-l" no comando "passwd", como em:
# passwd -l joao
Dessa forma é incluído uma "!" antes da conta do usuário no arquivo "/etc/passwd". Para desbloquear usa-se a opção "-u", como em:
# passwd -u joao
sexta-feira, 6 de janeiro de 2012
quinta-feira, 5 de janeiro de 2012
Dicas de administração do sistema Part 6
Por: Fagner Oliveira
Aglutinando arquivos:
Tar: Esse comando é usado para empacotar, compactar e descompactar arquivos.
Em sua forma mais simples possuí essa estrutura:
comando: opcões: parâmetro: diretório
Opções do Tar:
-c ----> criar
-x ----> extrair
-v ----> modo detalhado
-f ----> indica o nome do arquivo
-j ----> permite usar o método de compressão bzip2
-z ----> permite usar o método de compressão gzip
Ex: tar -cjvf backup.tar.bz2 /home
Aqui estou dizendo para o tar criar o arquivo chamado backup incluindo todos os arquivos do diretório /home e utilizando compressão bzip2 mostrando toda a operação na tela.
Caso fosse necessário extrair os arquivos desse pacote, executaria o tar assim:
Ex: tar -xjvf backup.tar.bz2
Acertando o relógio:
Ao tratar-se de servidores, o relógio do sistema é mais uma configuração importante que não pode ser deixada de lado. Imagine que você precisasse entregar uma auditória de segurança, e ao analisar os logs do seu servidor notaria que o horário estava totalmente errado. E agora, o que fazer?
Simplesmente nada, mas esse tipo de erro pode ser evitado. Mas como?
Bem, existe um protocolo chamado ntp (Network Time Protocol), ele é responsável por manter o relógio do sistema em sincronia com outro servidor ntp, geralmente o "pool.ntp.org" é utilizado para esse fim.
Para usá-lo, o primeiro passo é verificar se os pacotes "ntp e ntpdate" estão instalados no sistema. Em distribuições derivadas do Debian, você pode instalá-los usando o "apt-get".
# apt-get install ntp ntpdate
Após instalado o ntp passa a ajustar o relógio do sistema de forma totalmente transparente, mantendo o relógio em sincronia com os servidores especificados no arquivo "/etc/ntp.conf". Para checar a hora é utilizado o comando "date".
Ex: # date
Qui Jan 5 00:40:38 BRT 2012
Existe uma diferença em relação ao ntpdate, o ntp ajusta poucos segundos de cada vez, pois a função de ajustar o relógio em caso de grandes atrasos ficou para o "ntpdate", que atualiza na marra. Independente de quão grande seja o atraso.
Ex: ntpdate -u pool.ntp.org
A opção "-u" é usada para que ele utilize uma porta UDP alta, evitando que a porta 123 esteja aberta no firewall, e "pool.ntp.org" é um servidor público, que passa a requisição para um servidor mais próximo.
Caso o horário apareça atrasado ou adiantado algumas horas, é sinal que o fuso horário não tenha sido definido corretamente. Nesse caso utiliza-se o comando "tzselect", para ajustar as configurações.
Caso o servidor utilize o horário de Brasília (UTC-3), você usaria as opções opções 2) Americas > 9) Brasil > 8) S & SE Brasil ( GO, DF, MG, ES, RJ, SP, PR, SC, RS).
Aglutinando arquivos:
Tar: Esse comando é usado para empacotar, compactar e descompactar arquivos.
Em sua forma mais simples possuí essa estrutura:
comando: opcões: parâmetro: diretório
Opções do Tar:
-c ----> criar
-x ----> extrair
-v ----> modo detalhado
-f ----> indica o nome do arquivo
-j ----> permite usar o método de compressão bzip2
-z ----> permite usar o método de compressão gzip
Ex: tar -cjvf backup.tar.bz2 /home
Aqui estou dizendo para o tar criar o arquivo chamado backup incluindo todos os arquivos do diretório /home e utilizando compressão bzip2 mostrando toda a operação na tela.
Caso fosse necessário extrair os arquivos desse pacote, executaria o tar assim:
Ex: tar -xjvf backup.tar.bz2
Acertando o relógio:
Ao tratar-se de servidores, o relógio do sistema é mais uma configuração importante que não pode ser deixada de lado. Imagine que você precisasse entregar uma auditória de segurança, e ao analisar os logs do seu servidor notaria que o horário estava totalmente errado. E agora, o que fazer?
Simplesmente nada, mas esse tipo de erro pode ser evitado. Mas como?
Bem, existe um protocolo chamado ntp (Network Time Protocol), ele é responsável por manter o relógio do sistema em sincronia com outro servidor ntp, geralmente o "pool.ntp.org" é utilizado para esse fim.
Para usá-lo, o primeiro passo é verificar se os pacotes "ntp e ntpdate" estão instalados no sistema. Em distribuições derivadas do Debian, você pode instalá-los usando o "apt-get".
# apt-get install ntp ntpdate
Após instalado o ntp passa a ajustar o relógio do sistema de forma totalmente transparente, mantendo o relógio em sincronia com os servidores especificados no arquivo "/etc/ntp.conf". Para checar a hora é utilizado o comando "date".
Ex: # date
Qui Jan 5 00:40:38 BRT 2012
Existe uma diferença em relação ao ntpdate, o ntp ajusta poucos segundos de cada vez, pois a função de ajustar o relógio em caso de grandes atrasos ficou para o "ntpdate", que atualiza na marra. Independente de quão grande seja o atraso.
Ex: ntpdate -u pool.ntp.org
A opção "-u" é usada para que ele utilize uma porta UDP alta, evitando que a porta 123 esteja aberta no firewall, e "pool.ntp.org" é um servidor público, que passa a requisição para um servidor mais próximo.
Caso o horário apareça atrasado ou adiantado algumas horas, é sinal que o fuso horário não tenha sido definido corretamente. Nesse caso utiliza-se o comando "tzselect", para ajustar as configurações.
Caso o servidor utilize o horário de Brasília (UTC-3), você usaria as opções opções 2) Americas > 9) Brasil > 8) S & SE Brasil ( GO, DF, MG, ES, RJ, SP, PR, SC, RS).
quarta-feira, 4 de janeiro de 2012
Dicas de administração do sistema Part 5
Por: Fagner Oliveira
Bash_completion:
Um dos recursos mais úteis do terminal é usar a tecla TAB para completar comandos, o famoso Bash_completion (auto-completar), ao pressionar uma vez a tecla TAB o interpretador tenta completar o comando, caso haja mais de uma possibilidade outro toque e ele lista as opções.
Parece estranho, mas esse recurso vem desativado em algumas distribuições, para ativá-lo é bem simples; basta adicionar a seguinte linha no "/etc/profile".
[ "$PS1" -a -f /etc/bash_completion ] && . /etc/bash_completion
Entendendo o path:
O sistema procura por comandos dentro de pastas específicas, e a esse conjunto de pastas dar-se o nome de "PATH" que por sua vez é armazenado em uma variável no sistema com o o nome cognato "PATH". Para ver a lista basta usar esse comando:
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games
A pasta /bin contém os utilitários do sistema, comandos como: (cat, cp, rm, mv) estão dentro dessa pasta. A grande maioria dos executáveis de programas vão para "/usr/bin", onde temos tanto aplicativos do terminal como do modo gráfico.
Ao executar o mesmo comando como root, percebe-se que a lista muda um pouco.
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
A diferença aqui é que o PATH do root possui os diretórios "/usr/local/sbin" e "/usr/sbin". Pois essas duas pastas são reservadas aos comandos que só podem ser executados por ele.
Edição básica de arquivos com vi:
O vi (Visual editor) é o editor de textos padrão, o mesmo é voltado para operação em terminal, onde os atalhos do teclado são usados para tarefas de edição.
Há três modos de execução básicos no vi.
Modo de navegação:
É o modo inicial do vi. Nesse modo as teclas do teclado atuam na navegação e edição de blocos de texto.
Modo de inserção:
Para entrar no modo de inserção basta pressionar a tecla [i] ou [A], esse modo é usado para digitar textos no documento. Nesse modo ao pressionar a tecla [ESC] é feita a saída do modo de inserção voltando para o modo de navegação.
Modo de comando:
Para entrar nesse modo basta pressionar [:] no modo de navegação, esse modo é usado para fazer buscas, salvar, sair, executar comandos do shell e alterar configurações do próprio vi. Para voltar para o modo de navegação basta usar a instrução visual ou [ Enter].
Comandos do vi:
:! ---> Permite executar um comando do shell
:quit ou :q ----> Fecha
:quit! ou :q! ----> Fecha sem gravar
:wq ----> Salva e fecha
:exit ou : x ou :e ----> Fecha e grava se for necessário
:visual ----> Volta para o modo de comando
Teclas de navegação:
O, $ ----> inicio e fim de linha
1G, G ---->inicio e fim de documento
h, j, k, l ----> esquerda, abaixo, acima, direita
/, ? ----> busca para frente e para trás
r ----> substitui um único caractere
x ----> apaga um único caractere
y, yy ----> copia um item ou toda linha
p, P ----> cola o conteúdo depois ou antes do cursor
u ----> desfazer
ZZ ----> fecha e salva caso necessário
ZQ ----> fecha e não salva
Bash_completion:
Um dos recursos mais úteis do terminal é usar a tecla TAB para completar comandos, o famoso Bash_completion (auto-completar), ao pressionar uma vez a tecla TAB o interpretador tenta completar o comando, caso haja mais de uma possibilidade outro toque e ele lista as opções.
Parece estranho, mas esse recurso vem desativado em algumas distribuições, para ativá-lo é bem simples; basta adicionar a seguinte linha no "/etc/profile".
[ "$PS1" -a -f /etc/bash_completion ] && . /etc/bash_completion
Entendendo o path:
O sistema procura por comandos dentro de pastas específicas, e a esse conjunto de pastas dar-se o nome de "PATH" que por sua vez é armazenado em uma variável no sistema com o o nome cognato "PATH". Para ver a lista basta usar esse comando:
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games
A pasta /bin contém os utilitários do sistema, comandos como: (cat, cp, rm, mv) estão dentro dessa pasta. A grande maioria dos executáveis de programas vão para "/usr/bin", onde temos tanto aplicativos do terminal como do modo gráfico.
Ao executar o mesmo comando como root, percebe-se que a lista muda um pouco.
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
A diferença aqui é que o PATH do root possui os diretórios "/usr/local/sbin" e "/usr/sbin". Pois essas duas pastas são reservadas aos comandos que só podem ser executados por ele.
Edição básica de arquivos com vi:
O vi (Visual editor) é o editor de textos padrão, o mesmo é voltado para operação em terminal, onde os atalhos do teclado são usados para tarefas de edição.
Há três modos de execução básicos no vi.
Modo de navegação:
É o modo inicial do vi. Nesse modo as teclas do teclado atuam na navegação e edição de blocos de texto.
Modo de inserção:
Para entrar no modo de inserção basta pressionar a tecla [i] ou [A], esse modo é usado para digitar textos no documento. Nesse modo ao pressionar a tecla [ESC] é feita a saída do modo de inserção voltando para o modo de navegação.
Modo de comando:
Para entrar nesse modo basta pressionar [:] no modo de navegação, esse modo é usado para fazer buscas, salvar, sair, executar comandos do shell e alterar configurações do próprio vi. Para voltar para o modo de navegação basta usar a instrução visual ou [ Enter].
Comandos do vi:
:! ---> Permite executar um comando do shell
:quit ou :q ----> Fecha
:quit! ou :q! ----> Fecha sem gravar
:wq ----> Salva e fecha
:exit ou : x ou :e ----> Fecha e grava se for necessário
:visual ----> Volta para o modo de comando
Teclas de navegação:
O, $ ----> inicio e fim de linha
1G, G ---->inicio e fim de documento
h, j, k, l ----> esquerda, abaixo, acima, direita
/, ? ----> busca para frente e para trás
r ----> substitui um único caractere
x ----> apaga um único caractere
y, yy ----> copia um item ou toda linha
p, P ----> cola o conteúdo depois ou antes do cursor
u ----> desfazer
ZZ ----> fecha e salva caso necessário
ZQ ----> fecha e não salva
terça-feira, 3 de janeiro de 2012
Dicas de administração do sistema Part 4
Por: Fagner Oliveira
ln: Permite criar links entre arquivos, semelhante aos atalhos do Windows. O sistema suporta dois tipos de links, são eles: os Hard links e os Soft links (links simbólicos).
O sistema trabalha com o link da mesma forma que o arquivo original, de fato que ao gravar informações no link, ou visualizar seu conteúdo, você estar simplesmente trabalhando diretamente com o arquivo, caso mova-se, delete ou renomei o link, as mudanças são feitas apenas no link.
Os Soft links são atalho estático: ao mover ou deletar o arquivo, é quebrada a ligação com o link. Já o Hard links são mais precisos, pois estão mais intimamente ligados ao arquivo e sofrem alterações junto com ele: se o arquivo mudar de lugar, o próprio link faz sua atualização automaticamente. Isso só é possível porque nos sistemas de arquivos usados pelo sistema, cada arquivo possuí um código que o identifica (o inode), que nunca muda.
Quando o arquivo é renomeado o sistema sabe que é o mesmo do atalho simplesmente procurando pelo inode ao invés do nome. Outra dica é que se você apaga o arquivo original, o arquivo continua acessível através do Hard link, é como se você tivesse duas cópias do mesmo arquivo, mas apenas o espaço em disco é usado uma única vez.
A grande limitação dos Hard links é que os links só podem ser criados se os arquivos de destino estiverem dentro da mesma partição. Este é o motivo dos links simbólicos serem mais usados.
Caso seja usado sem argumentos, o comando ln criará um Hard link, como em:
$ ln /var/www/dominiointerno/arquivo /home/dominiointerno/arquivo
Os links simbólicos são criados passando como argumento para o comando ln a opção "-s", como em:
ln -s /var/www/dominiointerno/html /home/dominiointerno/html
Histórico: O terminal mantém armazenado um histórico dos últimos 500 comandos executados, que é salvo dentro do arquivo ".bash_history" no diretório "/home".
Caso queira repetir um comando recente, basta pressionar setas para cima ou para baixo até encontrá-lo. Se preferir ver uma lista com todos os comandos digitados use o comando "history", como em:
# history
94 sudo ifconfig
95 sudo /etc/init.d/network-manager restart
96 sudo ifconfig
97 echo 1 > /proc/sys/net/ipv4/ip_forward
98 sudo echo 1 > /proc/sys/net/ipv4/ip_forward
99 sudo wireshark
100 xkill
101 sudo which ls
102 which ls
103 find /etc/ -name smb.conf
104 sudo find /etc/ -name smb.conf
105 su -
106 head /etc/samba/smb.conf | cat -n
107 head -20 /etc/samba/smb.conf | cat -n
108 tail -f /var/log/syslog
109 head -20 /etc/samba/smb.conf | cat -n
110 sudo -i
111 history
Como podem observar os comandos são numerados de acordo com a ordem com que foram executados, uma dica interessante é que podemos reexecutar qualquer comando da lista, basta usar a exclamação seguido do número do comando que aparece na lista. Digamos que você quisesse executar novamente o comando
"sudo echo 1 > /proc/sys/net/ipv4/ip_forwar", que aparece com número 98 da lista, você usaria:
# !98
Ponto e vírgula: O sistema oferece disponibiliza um recurso que permite executar mais de um comando ao mesmo tempo, basta separá-los por ";", como em:
$ wget -c http://url/cdubuntu1.iso; wget -c http://url/cdubuntu2.iso; wget -c http://url/cdubuntu3.iso
Case sensitive: Todos os comandos e parâmetros dentro de arquivos de configuração são case sensitive, pois precisa respeitar a gráfia correta diferenciando maiśuculas de minúsculas. Por exemplo:
O comando "ls -s" mostra o tamanho dos arquivos na listagem, enquanto que o comando "ls -S" ordena os arquivos por tamanho.
reboot: Esse comando reinicia o sistema
shutdown: Esse comando é usado para desligar ou reiniciar o sistema, mas dar a possibilidade de especificar um horário. Em caso de servidores ele é bastante útil permitindo agendar os reboots do sistema, para serem executados em horários de baixo pico.
Para isso deve-se especificar um tempo em minutos que o sistema esperará antes de fazer o desligamento, usando o parâmetro "+", como em "shutdown -r +60", também é possível especificar um horário no formato "hh:mm", como em "shutdown -r 06:00" (para reiniciar às seis da manhã). Caso queira desligar bastar substituir o "-r" por "-h".
ln: Permite criar links entre arquivos, semelhante aos atalhos do Windows. O sistema suporta dois tipos de links, são eles: os Hard links e os Soft links (links simbólicos).
O sistema trabalha com o link da mesma forma que o arquivo original, de fato que ao gravar informações no link, ou visualizar seu conteúdo, você estar simplesmente trabalhando diretamente com o arquivo, caso mova-se, delete ou renomei o link, as mudanças são feitas apenas no link.
Os Soft links são atalho estático: ao mover ou deletar o arquivo, é quebrada a ligação com o link. Já o Hard links são mais precisos, pois estão mais intimamente ligados ao arquivo e sofrem alterações junto com ele: se o arquivo mudar de lugar, o próprio link faz sua atualização automaticamente. Isso só é possível porque nos sistemas de arquivos usados pelo sistema, cada arquivo possuí um código que o identifica (o inode), que nunca muda.
Quando o arquivo é renomeado o sistema sabe que é o mesmo do atalho simplesmente procurando pelo inode ao invés do nome. Outra dica é que se você apaga o arquivo original, o arquivo continua acessível através do Hard link, é como se você tivesse duas cópias do mesmo arquivo, mas apenas o espaço em disco é usado uma única vez.
A grande limitação dos Hard links é que os links só podem ser criados se os arquivos de destino estiverem dentro da mesma partição. Este é o motivo dos links simbólicos serem mais usados.
Caso seja usado sem argumentos, o comando ln criará um Hard link, como em:
$ ln /var/www/dominiointerno/arquivo /home/dominiointerno/arquivo
Os links simbólicos são criados passando como argumento para o comando ln a opção "-s", como em:
ln -s /var/www/dominiointerno/html /home/dominiointerno/html
Histórico: O terminal mantém armazenado um histórico dos últimos 500 comandos executados, que é salvo dentro do arquivo ".bash_history" no diretório "/home".
Caso queira repetir um comando recente, basta pressionar setas para cima ou para baixo até encontrá-lo. Se preferir ver uma lista com todos os comandos digitados use o comando "history", como em:
# history
94 sudo ifconfig
95 sudo /etc/init.d/network-manager restart
96 sudo ifconfig
97 echo 1 > /proc/sys/net/ipv4/ip_forward
98 sudo echo 1 > /proc/sys/net/ipv4/ip_forward
99 sudo wireshark
100 xkill
101 sudo which ls
102 which ls
103 find /etc/ -name smb.conf
104 sudo find /etc/ -name smb.conf
105 su -
106 head /etc/samba/smb.conf | cat -n
107 head -20 /etc/samba/smb.conf | cat -n
108 tail -f /var/log/syslog
109 head -20 /etc/samba/smb.conf | cat -n
110 sudo -i
111 history
Como podem observar os comandos são numerados de acordo com a ordem com que foram executados, uma dica interessante é que podemos reexecutar qualquer comando da lista, basta usar a exclamação seguido do número do comando que aparece na lista. Digamos que você quisesse executar novamente o comando
"sudo echo 1 > /proc/sys/net/ipv4/ip_forwar", que aparece com número 98 da lista, você usaria:
# !98
Ponto e vírgula: O sistema oferece disponibiliza um recurso que permite executar mais de um comando ao mesmo tempo, basta separá-los por ";", como em:
$ wget -c http://url/cdubuntu1.iso; wget -c http://url/cdubuntu2.iso; wget -c http://url/cdubuntu3.iso
Case sensitive: Todos os comandos e parâmetros dentro de arquivos de configuração são case sensitive, pois precisa respeitar a gráfia correta diferenciando maiśuculas de minúsculas. Por exemplo:
O comando "ls -s" mostra o tamanho dos arquivos na listagem, enquanto que o comando "ls -S" ordena os arquivos por tamanho.
reboot: Esse comando reinicia o sistema
shutdown: Esse comando é usado para desligar ou reiniciar o sistema, mas dar a possibilidade de especificar um horário. Em caso de servidores ele é bastante útil permitindo agendar os reboots do sistema, para serem executados em horários de baixo pico.
Para isso deve-se especificar um tempo em minutos que o sistema esperará antes de fazer o desligamento, usando o parâmetro "+", como em "shutdown -r +60", também é possível especificar um horário no formato "hh:mm", como em "shutdown -r 06:00" (para reiniciar às seis da manhã). Caso queira desligar bastar substituir o "-r" por "-h".
Dicas de administração do sistema Part 3
Por: Fagner Oliveira
locate: Esse comando permite encontrar arquivos no sistema, diferentemente do comando "find" que veremos a seguir, o "locate" não faz sua pesquisa no hd, mas em sua base de dados que é atualizada com o comando "updatedb", caso você queira procurar por arquivos criado recentemente o locate não encontrará, ao menos que você tenha executado o updatedb para atualizar sua base de dados.
which: mostra o caminho dos executáveis no sistema
Ex: which ls
/bin/ls
find: Também usado para procurar arquivos, mas não usa uma base de dados, como o locate, sua pesquisa vasculha diretórios e subdiretórios até encontrar o arquivo
Ex: sudo find /etc/ -name smb.conf
/etc/samba/smb.conf
su: No sistema existe uma separação entre o "root" e os demais usuários do sistema, o "root" têm acesso completo ao sistema, podendo alterar configurações e usar a maior parte das ferramentas para tal procedimento.
Sua sintaxe é bem básica:
Ex: su -
Senha:
sudo: Algumas distribuições vem com a conta de "root" desativada por padrão, ai é que entra a utilidade desse comando, assim como outros utilitários no sistema, o "sudo" possuí seu arquivo de configuração, localizado em "/etc/sudoers", esse arquivo serve para permitir quem usará o comando. No ubuntu só o usuário administrativo criado na instalação poderá usar o "sudo".
Ex: sudo -i
cat: Usado para visualizar o conteúdo de arquivos, como em "cat /etc/samba/smb.conf", ele também pode ser combinado com outros comandos para fazer cópia de arquivos, como em " cat meuarquivo.txt > /dev/fd0", nesse caso o /dev/fd0 representa minha unidade de disquete no sistema.
head: permite visualizar as primeiras linhas de um arquivo, por padrão ele mostra as primeiras dez linhas, caso queira que ele mostre uma quantidade maior de linhas execute-o assim:
Ex: head -20 /etc/samba/smb.conf | cat -n
1 #
2 # Sample configuration file for the Samba suite for Debian GNU/Linux.
3 #
4 #
5 # This is the main Samba configuration file. You should read the
6 # smb.conf(5) manual page in order to understand the options listed
7 # here. Samba has a huge number of configurable options most of which
8 # are not shown in this example
9 #
10 # Some options that are often worth tuning have been included as
11 # commented-out examples in this file.
12 # - When such options are commented with ";", the proposed setting
13 # differs from the default Samba behaviour
14 # - When commented with "#", the proposed setting is the default
15 # behaviour of Samba but the option is considered important
16 # enough to be mentioned here
17 #
18 # NOTE: Whenever you modify this file you should run the command
19 # "testparm" to check that you have not made any basic syntactic
20 # errors.
tail: Permite visualizar as últimas linhas de um arquivo, por padrão mostra as últimas dez linhas, esse comando é muito usado para visualizar os arquivos de log, para visualizar arquivos de log em tempo real usa-se a opção "-f " seguido do arquivo.
Ex: tail -f /var/log/syslog
Jan 2 23:57:03 200 kernel: [19637.235131] init: cups main process ended, respawning
Jan 2 23:57:10 200 kernel: [19644.025724] type=1400 audit(1325559430.056:21128): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=31755 comm="apparmor_parser"
Jan 2 23:57:10 200 kernel: [19644.026255] type=1400 audit(1325559430.056:21129): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=31755 comm="apparmor_parser"
Jan 2 23:57:10 200 kernel: [19644.052801] type=1400 audit(1325559430.084:21130): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/" pid=31756 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:10 200 kernel: [19644.053062] type=1400 audit(1325559430.084:21131): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/certs/" pid=31756 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:10 200 kernel: [19644.058626] type=1400 audit(1325559430.088:21132): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/printcap" pid=31756 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:10 200 kernel: [19644.064790] type=1400 audit(1325559430.096:21133): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cups.sock" pid=31756 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:10 200 kernel: [19644.065178] type=1400 audit(1325559430.096:21134): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cupsd.pid" pid=31756 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:10 200 kernel: [19644.066656] init: cups main process (31756) terminated with status 1
Jan 2 23:57:10 200 kernel: [19644.066775] init: cups main process ended, respawning
Jan 2 23:57:16 200 kernel: [19650.879763] type=1400 audit(1325559436.908:21135): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=31778 comm="apparmor_parser"
Jan 2 23:57:16 200 kernel: [19650.880382] type=1400 audit(1325559436.912:21136): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=31778 comm="apparmor_parser"
Jan 2 23:57:16 200 kernel: [19650.908451] type=1400 audit(1325559436.940:21137): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/" pid=31780 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:16 200 kernel: [19650.908685] type=1400 audit(1325559436.940:21138): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/certs/" pid=31780 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:16 200 kernel: [19650.917573] type=1400 audit(1325559436.948:21139): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/printcap" pid=31780 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:16 200 kernel: [19650.924979] type=1400 audit(1325559436.956:21140): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cups.sock" pid=31780 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:16 200 kernel: [19650.925414] type=1400 audit(1325559436.956:21141): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cupsd.pid" pid=31780 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:16 200 kernel: [19650.926916] init: cups main process (31780) terminated with status 1
Jan 2 23:57:16 200 kernel: [19650.927026] init: cups main process ended, respawning
Jan 2 23:57:23 200 kernel: [19657.333116] type=1400 audit(1325559443.364:21142): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=31798 comm="apparmor_parser"
Jan 2 23:57:23 200 kernel: [19657.333527] type=1400 audit(1325559443.364:21143): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=31798 comm="apparmor_parser"
Jan 2 23:57:23 200 kernel: [19657.354606] type=1400 audit(1325559443.384:21144): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/" pid=31799 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:23 200 kernel: [19657.354782] type=1400 audit(1325559443.384:21145): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/certs/" pid=31799 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:23 200 kernel: [19657.360698] type=1400 audit(1325559443.392:21146): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/printcap" pid=31799 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:23 200 kernel: [19657.366326] type=1400 audit(1325559443.396:21147): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cups.sock" pid=31799 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:23 200 kernel: [19657.366744] type=1400 audit(1325559443.396:21148): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cupsd.pid" pid=31799 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:23 200 kernel: [19657.368310] init: cups main process (31799) terminated with status 1
Jan 2 23:57:23 200 kernel: [19657.368462] init: cups main process ended, respawning
Jan 2 23:57:29 200 kernel: [19663.735830] type=1400 audit(1325559449.764:21149): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=31817 comm="apparmor_parser"
Jan 2 23:57:29 200 kernel: [19663.736391] type=1400 audit(1325559449.768:21150): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=31817 comm="apparmor_parser"
Jan 2 23:57:29 200 kernel: [19663.757962] type=1400 audit(1325559449.788:21151): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/" pid=31818 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:29 200 kernel: [19663.758115] type=1400 audit(1325559449.788:21152): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/certs/" pid=31818 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:29 200 kernel: [19663.763306] type=1400 audit(1325559449.792:21153): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/printcap" pid=31818 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:29 200 kernel: [19663.769952] type=1400 audit(1325559449.800:21154): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cups.sock" pid=31818 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:29 200 kernel: [19663.770346] type=1400 audit(1325559449.800:21155): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cupsd.pid" pid=31818 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:29 200 kernel: [19663.771752] init: cups main process (31818) terminated with status 1
Jan 2 23:57:29 200 kernel: [19663.771841] init: cups main process ended, respawning
^C
| (pipe): o pipe junto com as setas de redirecionamento ( > e >>) é muito usado em scipts. A ideia desse comando é redirecionar a saída de um comando para entrada de outro. vejam!!!
Ex:
head -20 /etc/samba/smb.conf | cat -n
1 #
2 # Sample configuration file for the Samba suite for Debian GNU/Linux.
3 #
4 #
5 # This is the main Samba configuration file. You should read the
6 # smb.conf(5) manual page in order to understand the options listed
7 # here. Samba has a huge number of configurable options most of which
8 # are not shown in this example
9 #
10 # Some options that are often worth tuning have been included as
11 # commented-out examples in this file.
12 # - When such options are commented with ";", the proposed setting
13 # differs from the default Samba behaviour
14 # - When commented with "#", the proposed setting is the default
15 # behaviour of Samba but the option is considered important
16 # enough to be mentioned here
17 #
18 # NOTE: Whenever you modify this file you should run the command
19 # "testparm" to check that you have not made any basic syntactic
20 # errors.
Nesse caso o comando "head" passou o conteúdo do arquivo samba.conf para o comando "cat -n " que me mostrou uma listagem numerada, pois o comando "head -20 /etc/samba/smb.conf" foi usado para mostrar as primeiras vinte linhas do arquivo, e o "cat -n ", me confirmou na listagem.
locate: Esse comando permite encontrar arquivos no sistema, diferentemente do comando "find" que veremos a seguir, o "locate" não faz sua pesquisa no hd, mas em sua base de dados que é atualizada com o comando "updatedb", caso você queira procurar por arquivos criado recentemente o locate não encontrará, ao menos que você tenha executado o updatedb para atualizar sua base de dados.
which: mostra o caminho dos executáveis no sistema
Ex: which ls
/bin/ls
find: Também usado para procurar arquivos, mas não usa uma base de dados, como o locate, sua pesquisa vasculha diretórios e subdiretórios até encontrar o arquivo
Ex: sudo find /etc/ -name smb.conf
/etc/samba/smb.conf
su: No sistema existe uma separação entre o "root" e os demais usuários do sistema, o "root" têm acesso completo ao sistema, podendo alterar configurações e usar a maior parte das ferramentas para tal procedimento.
Sua sintaxe é bem básica:
Ex: su -
Senha:
sudo: Algumas distribuições vem com a conta de "root" desativada por padrão, ai é que entra a utilidade desse comando, assim como outros utilitários no sistema, o "sudo" possuí seu arquivo de configuração, localizado em "/etc/sudoers", esse arquivo serve para permitir quem usará o comando. No ubuntu só o usuário administrativo criado na instalação poderá usar o "sudo".
Ex: sudo -i
cat: Usado para visualizar o conteúdo de arquivos, como em "cat /etc/samba/smb.conf", ele também pode ser combinado com outros comandos para fazer cópia de arquivos, como em " cat meuarquivo.txt > /dev/fd0", nesse caso o /dev/fd0 representa minha unidade de disquete no sistema.
head: permite visualizar as primeiras linhas de um arquivo, por padrão ele mostra as primeiras dez linhas, caso queira que ele mostre uma quantidade maior de linhas execute-o assim:
Ex: head -20 /etc/samba/smb.conf | cat -n
1 #
2 # Sample configuration file for the Samba suite for Debian GNU/Linux.
3 #
4 #
5 # This is the main Samba configuration file. You should read the
6 # smb.conf(5) manual page in order to understand the options listed
7 # here. Samba has a huge number of configurable options most of which
8 # are not shown in this example
9 #
10 # Some options that are often worth tuning have been included as
11 # commented-out examples in this file.
12 # - When such options are commented with ";", the proposed setting
13 # differs from the default Samba behaviour
14 # - When commented with "#", the proposed setting is the default
15 # behaviour of Samba but the option is considered important
16 # enough to be mentioned here
17 #
18 # NOTE: Whenever you modify this file you should run the command
19 # "testparm" to check that you have not made any basic syntactic
20 # errors.
tail: Permite visualizar as últimas linhas de um arquivo, por padrão mostra as últimas dez linhas, esse comando é muito usado para visualizar os arquivos de log, para visualizar arquivos de log em tempo real usa-se a opção "-f " seguido do arquivo.
Ex: tail -f /var/log/syslog
Jan 2 23:57:03 200 kernel: [19637.235131] init: cups main process ended, respawning
Jan 2 23:57:10 200 kernel: [19644.025724] type=1400 audit(1325559430.056:21128): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=31755 comm="apparmor_parser"
Jan 2 23:57:10 200 kernel: [19644.026255] type=1400 audit(1325559430.056:21129): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=31755 comm="apparmor_parser"
Jan 2 23:57:10 200 kernel: [19644.052801] type=1400 audit(1325559430.084:21130): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/" pid=31756 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:10 200 kernel: [19644.053062] type=1400 audit(1325559430.084:21131): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/certs/" pid=31756 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:10 200 kernel: [19644.058626] type=1400 audit(1325559430.088:21132): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/printcap" pid=31756 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:10 200 kernel: [19644.064790] type=1400 audit(1325559430.096:21133): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cups.sock" pid=31756 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:10 200 kernel: [19644.065178] type=1400 audit(1325559430.096:21134): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cupsd.pid" pid=31756 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:10 200 kernel: [19644.066656] init: cups main process (31756) terminated with status 1
Jan 2 23:57:10 200 kernel: [19644.066775] init: cups main process ended, respawning
Jan 2 23:57:16 200 kernel: [19650.879763] type=1400 audit(1325559436.908:21135): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=31778 comm="apparmor_parser"
Jan 2 23:57:16 200 kernel: [19650.880382] type=1400 audit(1325559436.912:21136): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=31778 comm="apparmor_parser"
Jan 2 23:57:16 200 kernel: [19650.908451] type=1400 audit(1325559436.940:21137): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/" pid=31780 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:16 200 kernel: [19650.908685] type=1400 audit(1325559436.940:21138): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/certs/" pid=31780 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:16 200 kernel: [19650.917573] type=1400 audit(1325559436.948:21139): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/printcap" pid=31780 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:16 200 kernel: [19650.924979] type=1400 audit(1325559436.956:21140): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cups.sock" pid=31780 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:16 200 kernel: [19650.925414] type=1400 audit(1325559436.956:21141): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cupsd.pid" pid=31780 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:16 200 kernel: [19650.926916] init: cups main process (31780) terminated with status 1
Jan 2 23:57:16 200 kernel: [19650.927026] init: cups main process ended, respawning
Jan 2 23:57:23 200 kernel: [19657.333116] type=1400 audit(1325559443.364:21142): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=31798 comm="apparmor_parser"
Jan 2 23:57:23 200 kernel: [19657.333527] type=1400 audit(1325559443.364:21143): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=31798 comm="apparmor_parser"
Jan 2 23:57:23 200 kernel: [19657.354606] type=1400 audit(1325559443.384:21144): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/" pid=31799 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:23 200 kernel: [19657.354782] type=1400 audit(1325559443.384:21145): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/certs/" pid=31799 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:23 200 kernel: [19657.360698] type=1400 audit(1325559443.392:21146): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/printcap" pid=31799 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:23 200 kernel: [19657.366326] type=1400 audit(1325559443.396:21147): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cups.sock" pid=31799 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:23 200 kernel: [19657.366744] type=1400 audit(1325559443.396:21148): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cupsd.pid" pid=31799 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:23 200 kernel: [19657.368310] init: cups main process (31799) terminated with status 1
Jan 2 23:57:23 200 kernel: [19657.368462] init: cups main process ended, respawning
Jan 2 23:57:29 200 kernel: [19663.735830] type=1400 audit(1325559449.764:21149): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=31817 comm="apparmor_parser"
Jan 2 23:57:29 200 kernel: [19663.736391] type=1400 audit(1325559449.768:21150): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=31817 comm="apparmor_parser"
Jan 2 23:57:29 200 kernel: [19663.757962] type=1400 audit(1325559449.788:21151): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/" pid=31818 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:29 200 kernel: [19663.758115] type=1400 audit(1325559449.788:21152): apparmor="DENIED" operation="chown" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/certs/" pid=31818 comm="cupsd" requested_mask="w" denied_mask="w" fsuid=0 ouid=0
Jan 2 23:57:29 200 kernel: [19663.763306] type=1400 audit(1325559449.792:21153): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/printcap" pid=31818 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:29 200 kernel: [19663.769952] type=1400 audit(1325559449.800:21154): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cups.sock" pid=31818 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:29 200 kernel: [19663.770346] type=1400 audit(1325559449.800:21155): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/cupsd" name="/run/cups/cupsd.pid" pid=31818 comm="cupsd" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
Jan 2 23:57:29 200 kernel: [19663.771752] init: cups main process (31818) terminated with status 1
Jan 2 23:57:29 200 kernel: [19663.771841] init: cups main process ended, respawning
^C
| (pipe): o pipe junto com as setas de redirecionamento ( > e >>) é muito usado em scipts. A ideia desse comando é redirecionar a saída de um comando para entrada de outro. vejam!!!
Ex:
head -20 /etc/samba/smb.conf | cat -n
1 #
2 # Sample configuration file for the Samba suite for Debian GNU/Linux.
3 #
4 #
5 # This is the main Samba configuration file. You should read the
6 # smb.conf(5) manual page in order to understand the options listed
7 # here. Samba has a huge number of configurable options most of which
8 # are not shown in this example
9 #
10 # Some options that are often worth tuning have been included as
11 # commented-out examples in this file.
12 # - When such options are commented with ";", the proposed setting
13 # differs from the default Samba behaviour
14 # - When commented with "#", the proposed setting is the default
15 # behaviour of Samba but the option is considered important
16 # enough to be mentioned here
17 #
18 # NOTE: Whenever you modify this file you should run the command
19 # "testparm" to check that you have not made any basic syntactic
20 # errors.
Nesse caso o comando "head" passou o conteúdo do arquivo samba.conf para o comando "cat -n " que me mostrou uma listagem numerada, pois o comando "head -20 /etc/samba/smb.conf" foi usado para mostrar as primeiras vinte linhas do arquivo, e o "cat -n ", me confirmou na listagem.
Assinar:
Postagens (Atom)




