sexta-feira, 7 de agosto de 2020

Processos Linux

Para ver a arvore de processos 

    pstree -c -p -A $(pgrep dockerd)


Para armazenar o pid do processo

    DBPID=$(pgrep redis-server)

    echo Redis is $DBPID


Para ver as customizações e arquivos dos processos

ls /proc/$DBPID


Ver as variaveis de ambiente por processo

cat /proc/$DBPID/environ

quarta-feira, 3 de junho de 2020

xargs - construção de listas de parâmetros

Existe um comando, cuja função primordial é construir listas de parâmetros e passá-la para a execução de outros programas ou instruções. Este comando é o xargs e deve ser usado da seguinte maneira:
xargs [comando [argumento inicial]]
Caso o comando, que pode ser inclusive um script Shell, seja omitido, será usado por default o echo.
O xargs combina o argumento inicial com os argumentos recebidos da entrada padrão, de forma a executar o comando especificado uma ou mais vezes.
Exemplo:
Vamos produrar em todos os arquivos abaixo de um determinado diretório uma cadeia de caracteres usando o comando find com a opção type f para pesquisar somente os arquivos normais, desprezando diretórios, arquivos especiais, arquivos de ligações, etc, e vamos torná-la mais genérica recebendo o nome do diretório inicial e a cadeia a ser pesquisada como parâmetros. Para isso fazemos:
$ cat grepr
#
# Grep recursivo
# Pesquisa a cadeia de caracteres definida em $2 a partir do diretorio $1
#
find $1 -type f -print|xargs grep -l "$2"

Na execução deste script procuramos, a partir do diretório definido na variável $1, todos os arquivos que continham a cadeia definida na variável $2.
Exatamente a mesma coisa poderia ser feita se a linha do programa fosse a seguinte:
 find $1 -type f -exec grep -l "$2" {} \;
Este processo tem duas grandes desvantagens sobre o anterior:
  1. A primeira é bastante visível: o tempo de execução deste método é muito superior ao daquele, isso porque o grep será feito em cada arquivo que lhe for passado pelo find, um-a-um, ao passo que com o xargs, será passada toda, ou na pior das hipóteses, a maior parte possível, da lista de arquivos gerada pelo find;
  2. Dependendo da quantidade de arquivos encontrados que atendem ao find, poderemos ganhar aquela famosa e fatídica mensagem de erro "//Too many arguments//" indicando um estouro da pilha de execução do grep. Como foi dito no item anterior, se usarmos o xargs ele passará para o grep a maior quantidade de parâmetros possível, suficiente para não causar este erro, e caso necessário executará o grep mais de uma vez.
ATENÇÃO! Aê pessoal do linux que usa o ls colorido que nem porta de tinturaria: nos exemplos a seguir que envolvem esta instrução, você devem usar a opção --color=none, se não existem grandes chances dos resultados não ocorrerem como o esperado.
Vamos agora analisar um exemplo que é mais ou menos o inverso deste que acabamos de ver. Desta vez, vamos fazer um script para remover todos os arquivos do diretório corrente, pertencentes a um determinado usuário.
A primeira idéia que surge é, como no caso anterior, usar um comando find, da seguinte maneira:
 $ find . -user cara -exec rm -f {} \;
Quase estaria certo, o problema é que desta forma você removeria não só os arquivos do cara no diretório corrente, mas também de todos os outros subdiretórios "pendurados" neste. Vejamos então como fazer:
$ ls -l | grep " cara " | cut -c55- | xargs rm
Desta forma, o grep selecionou os arquivos que continham a cadeia cara no diretório corrente listado pelo ls -l. O comando cut pegou somente o nome dos arquivos, passando-os para a remoção pelo rm usando o comando xargs como ponte.

sexta-feira, 13 de março de 2020

x11 vnc

    apt-get install x11vnc

    touch /etc/init.d/vnc-server


    vim /etc/init.d/vnc-server


    #!/bin/bash
    start() {
    echo "Iniciando VNC-Server..."
    x11vnc -env FD_XDM=1 -display :0 -forever -rfbauth /root/.vncpasswd
    echo "[OK]"
    }
    stop() {
    echo "Desligando VNC-Server..."
    killall x11vnc
    echo "[OK"]
    }
    case "$1" in
    start) start
    ;;
    stop) stop
    ;;
    restart) stop; start
    ;;
    *) echo "Uso correto: (start|stop|restart)"
    ;;
    esac


    chmod +x /etc/init.d/vnc-server


    cd /etc/init.d/
    update-rc.d vnc-server defaults


    /etc/init.d/vnc-server start
    /etc/init.d/vnc-server stop
    /etc/init.d/vnc-server restart

segunda-feira, 9 de março de 2020

sexta-feira, 14 de fevereiro de 2020

Force Active Directory replication on a domain controller

Force Active Directory replication on a domain controller

In order to force Active Directory replication, issue the command ‘repadmin /syncall /AeD’ on the domain controller.  Run this command on the domain controller in which you wish to update the Active Directory database for.  For example if DC2 is out of Sync, run the command on DC2.
A = All Partitions
e = Enterprise (Cross Site)
D = Identify servers by distinguished name in messages.

By default this does a pull replication - which is how AD works by default.  If you want to do a push replication use the following command:

repadmin /syncall /APeD
P = Push

You want to do a push replication if you make changes on a DC and you want to replicate those changes to all other DC's.  For example, you make a change on DC1 and you want all other changes to get that change instantly, run repadmin /syncall /APeD on DC1.

For all repadmin syntax please see:

http://technet.microsoft.com/en-us/library/cc736571(v=ws.10).aspx

Group Policy Backup

Group Policy Backup 

Group Policy Objects (GPOs) are vital components of Active Directory (AD). They control the behavior of users and computers in AD by applying policy settings. An accidental deletion or modification of GPOs can therefore adversely impact the AD environment. So it is highly recommended that GPOs be backed up regularly.  Backups are useful when GPOs need to be restored. The Group Policy Management Console (GPMC)  MMC snap-in can be used to backup and restore the GPOs.
The following data are backed up while performing a GPO backup operation:
  • Settings inside the GPO
  • Permissions
  • GUID
  • WMI filter links

Backing up GPOs

The following steps illustrate how to backup GPOs:
  • Go to StartAdministrative Tools → Group Policy Management.
  • In the GPMC, expand the Group Policy Objects folder containing the GPO that needs back up.
  • Right click the GPO, and then click Back Up. To back up all GPOs in the domain, right click the Group Policy Objects folder, and then click Back Up All.
  • Specify the path to the folder where the backed up versions of the GPOs will reside. Click Back Up.
  • Finally, click OK.

Restoring a GPO

The following steps illustrate how to restore a GPO:
  • Go to StartRun. Type gpmc.msc and click OK
  • In the GPMC, right click the Group Policy Objects folder and select Manage Backups.
  • Specify the path to locate the backup folder.
  • From the list Backed up GPOs, select the GPO that needs to be restored, and click Restore.
  • Confirm by clicking OK.
  • Finally click OK and then Close.

PowerShell Equivalents for GPO Backup

While GPMC offers a graphical interface for controlling GPO backups, administrators can automate the GPO backup process with the help of Microsoft scripts, or even better, the equivalent PowerShell cmdlets.
The following are just a few Microsoft scripts and their equivalent PowerShell cmdlets that can handle GPO backups:
Microsoft Script PowerShell cmdlet Function
BackupGPO.wsf Backup-GPO Backs up a single GPO in the domain
BackupAllGPOs.wsf Backup-GPO Backs up all the GPOs in the domain
RestoreGPO.wsf Restore-GPO Restores a single GPO from the backup location
RestoreAllGPOs.wsf Restore-GPO Restores all GPOs from the backup location
QueryBackupLocation.wsf None Gives the location of the backed up GPOs

Como Transferir as 5 FSMO (Mestres de Operações) para outro Controlador de Domínio. (pt-BR)

 Neste Tutorial irei apresentar um processo para Transferir os Mestres de Operações Via prompt de comando.

A quem se aplica:
O processo se aplica a Windows Server 2003 e Windows Server 2008 e 2008 R2

Vejo muitas pessoas com dificuldades no Fórum Technet, percebi que muitos usuários sentem a necessidade de precisar transferir os mestres de operações para outros controladores de domínios, seja por problemas no DC Principal, seja para processo de migração do Windows Server 2003 para o Windows Server 2008, então resolvi criar um Post para ajudar e auxiliar nesse processo que é a transferência dos Mestes de Operações.
Temos 5 Mestres ou FSMO:
PDC = É responsável por tratar alterações de contas de usuários, “lockouts” de contas, relações de confianças com outros domínios e pelo sincronismo do relógio no domínio.
RID MASTER = Cada objeto deve possuir um identificador único, conhecido como SID.  SID do objeto é construído usando o SID do domínio, mais um ID relativo (RID). Isto evita que dois objetos diferentes tenham o mesmo RID em todo o domínio.
Infrastructure Master = Essa que sua função é se assegurar que o “Display Name” de usuários pertencentes a um grupo sejam atualizados caso este atributo seja alterado. Ele é mais importante em ambientes que possuem vários domínios, pois vai assegurar que todos os grupos que um determinado usuário pertença irá refletir o “Display Name” correto.
Domain Naming Master = É a regra responsável por assegurar que o nome do Domínio é único na floresta e evita conflitos entre outros domínios.
Schema Master = O Schema é o coração do Active Directory. Ele é composto de objetos e atributos, que modelam o Active Directory. Como o esquema pode ser customizado e deve ser o mesmo em toda a floresta Windows, a regra “Schema Master” se encarrega de evitar conflitos entre os DCs.
Exemplo de uso do NTDSUTIL para migrar regras FSMO.

OBS: Entre com credenciais administrativas para o processo.
Entrar no Prompt e digitar:
c:>ntdsutil
ntdsutil: roles
fsmo maintenance: connections
server connections: connect to server seuservidor.local.br
Binding to seuservidor.dominio.com.br …
Connected to seuservidor.local.br using credentials of locally logged on user.
server connections: quit
Para transferir a ROLE PDC digite:
fsmo maintenance: transfer pdc
Para transferir a ROLE RID MASTER digite:
fsmo maintenance: transfer rid master
Para transferir a ROLE Infrastructure Master:
fsmo maintenance: Transfer infrastructure master
Para transferir a ROLE Domain Naming Master:
fsmo maintenance: (2003) Transfer domain naming master ou Transfer Naming Master (2008R2)
Para transferir a ROLE Schema Master:
fsmo maintenance: Transfer schema master
Após todo o processo de transferência, podemos verificar se realmente foram transferidos com o comando = netdom query fsmo
Esse comando irá nos mostrar onde se encontra os 5 mestres, mostra um por um.




Conclusão:
Esta é uma necessidade que vejo muito no Fórum Technet, então resolvi publicar para ajudar os usuários e facilitar a procura de informações.

Lentidão e congelamento de maquina