Mostrando postagens com marcador usuário. Mostrar todas as postagens
Mostrando postagens com marcador usuário. Mostrar todas as postagens

sexta-feira, 6 de janeiro de 2012

Desativar o Controle de Conta de Usuário

Desde o Windows Vista, Windows 2008, e presente no Windows 7, existe um componente de segurança no sistema operacional denominado "Controle de Conta de Usuário" (UAC). Este componente permite que usuários de contas comuns possam executar tarefas do administrador do sistema. Além disso, o UAC notifica o usuário quando algum programa tenta acessar áreas centrais e protegidas do sistema operacional. Evitando uma instalação "silenciosa" proveniente de programas mal-intencionados. Assim, o Controle de Conta do Usuário ajuda a impedir que programas potencialmente perigosos façam alterações no computador.

Contudo, programas antigos ou que não sejam certificados para Windows 7, por não oferecerem suporte ao UAC, podem não funcionar sob este controle. Por exemplo um arquivo MSP (Windows Installer patch) antigo, onde não aparece a opção de executar como administrador. Nestes casos pode ser necessário desativar ou reduzir o nível de notificação do UAC, para então executar o programa, e por fim reativar o controle.

Pelo Painel de Controle é possível definir quando o usuário deverá ser notificado a respeito de alterações no sistema. Para realizar este procedimento siga estes passos:

Abra o Painel de Controle e vá, se estiver na exibição por categoria, em:

Contas de Usuário e Segurança Familiar / Contas de Usuário / Alterar configurações de Controle de Conta de Usuário

(se o Painel de Controle estiver na exibição por ícones, vá em: Contas de Usuário / Alterar configurações de Controle de Conta de Usuário)

Será aberta a janela "Configurações de Controle de Conta de Usuário". Nesta janela, altere o nível para "Nunca notificar", é o mais baixo, e clique em OK.

Após a instalação do programa, retorne a configuração padrão do Controle de Conta do Usuário.

Esta alteração na configuração do Controle de Conta do Usuário só será possível se a conta do usuário tiver privilégios de administrador. Neste nível "Nunca notificar" o usuário não será notificado antes que qualquer alteração no computador. Se o usuário tiver privilégios de administrador, os programas poderão fazer alterações no computador sem o conhecimento do usuário, tornando o computador exposto. Como um usuário comum, todas as alterações que necessitam de permissões de um administrador são automaticamente negadas.

sábado, 15 de outubro de 2011

Exibição dos usuários logados em um sistema Linux

Em um sistema operacional Linux, duas ferramentas são bem interessantes para exibição dos usuários logados e dos últimos usuários que logaram no sistema. O comando who, do pacote coreutils, e o comando last, do pacote sysvinit-tools.

O comando who exibe informações de quem está logado atualmente. É uma ferramenta para linha de comando e possui diversas opções, incluindo:

-a     Exibe tudo, o mesmo que -b -d -l -p -r -t -T -u.
-b     Data e hora do último boot do sistema.
-d     Exibe processos mortos.
-l     Exibe os processos de login no sistema.
-p     Exibe os processos ativos criados pelo init.
-r     Exibe o nível de execução corrente.
-t     Exibe as últimas alterações no relógio.
-u     Lista os usuários logados.

A ferramenta who consulta as informações armazenadas no arquivo /var/run/utmp.

Exemplos:

# who -b
# who -u

O comando last consulta o arquivo /var/log/wtmp e exibe uma lista de todos os usuários que logaram e deslogaram no sistema, desde a criação do arquivo. Também é uma ferramenta para linha de comando e possui diversas opções, incluindo:

-n num   Quantidade das últimas linhas que serão exibidas.
-a       Exibe o nome do host na última coluna.
-d       Inclui logins remotos e exibe o nome dos hosts remotos.
-f file  Especifica outro arquivo ao invés de /var/log/wtmp.
-F       Datas e horas em formato completo.
-i       Inclui logins remotos e exibe o IP dos hosts remotos.
-x       Exibe as entradas de shutdown e mudanças nos níveis de execução.
-t YYYYMMDDHHMMSS   Exibe o estado dos logins até a data especificada.

Nomes de usuários e de terminais podem ser dados em sua linha de comando para filtrar a exibição.

Existe no sistema um pseudo usuário, denominado reboot, que é utilizado nos logs quando o sistema reinicia. Desta forma, este usuário mostrará os registros de início do sistema.

Há ainda o comando lastb, semelhante ao comando last, mas que exibe as tentativas frustradas de login. Esta ferramenta consulta o arquivo /var/log/btmp.

O sistema somente armazena as informações se os arquivos wtmp e btmp existirem. Eles podem ser criados com o simples comando touch. Estes arquivos costumam ser segmentados pelo sistema, arquivos com datas bem mais antigas recebem o nome no formato /var/log/wtmp-YYYMMDD. Pode ser útil consultá-los com a opção -f.

Exemplos:

# last -n 10
# last -i
# last fulano

segunda-feira, 15 de novembro de 2010

Como fazer cópia de segurança dos arquivos de um usuário

Fazer backup é indispensável, a não ser que você armazene nada em seu computador. Em um uso comum os softwares guardam diversas informações, endereços de sites favoritos, e-mails recebidos, documentos, imagens, configurações etc. Você poderá ter arquivos importantes e talvez não queira perdê-los.

Os sistemas operacionais atuais organizam os arquivos de usuário em diretórios (ou pastas) exclusivos para cada usuário. Como medida de segurança adotam ainda uma restrição de acesso para os usuários não bisbilhotarem os arquivos dos outros.

No sistema Windows Vista e 7 os diretórios particulares dos usuários ficam em "C:\Users\", no Windows XP ficam em "C:\Documents and Settings\" e no Linux em "/home/". Para cada usuário há um subdiretório com seu nome, ficando o caminho completo para seus arquivos particulares, no Windows Vista e 7 em "C:\Users\Nome do Usuário\", no XP em "C:\Documents and Settings\Nome do Usuário\" e no Linux em "/home/nome do usuário/".

Uma simples cópia de todo o conteúdo deste subdiretório garante um backup completo. Mas poderá ser um exagero pois muitos arquivos são desnecessários, como arquivos temporários e cache de navegadores e de outros softwares, por exemplo do GoogleEarth.

Nos sistemas operacionais, cada subdiretório particular de usuário possui um conjunto de mais subdiretórios que separam e organizam os arquivos em assuntos e propósitos. Os principais são mostrados a seguir.

No Windows Vista e 7 temos:

...\AppData (Pasta oculta, contém os dados de "Configurações locais" e "Dados de aplicativos")
...\Contacts
...\Desktop
...\Documents (Meus documentos)
...\Downloads
...\Favorites
...\Music (Meus documentos\Minhas músicas)
...\Pictures (Meus documentos\Minhas imagens)
...\Saved Games
...\Videos (Meus documentos\Meus vídeos)

No Windows XP temos:

...\Configurações locais (Pasta oculta)
...\Dados de aplicativos (Pasta oculta)
...\Desktop
...\Favoritos
...\Meus documentos

As pastas "AppData", "Configurações locais" e "Dados de aplicativos" servem para armazenar configurações de softwares, arquivos temporários, cache etc. São arquivos criados pelos softwares instalados e não diretamente pelos usuários. É uma boa ideia realizar cópia de segurança destas pastas, por exemplo usuários do navegador Firefox terão seus "profiles" armazenados em um caminho como "C:\Users\Nome do Usuário\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\". Mas apague antes os arquivos temporários e os arquivos de cache, estes ocupam muito espaço e podem atrapalhar o tamanho do backup. A ferramenta CCleaner (http://www.piriform.com/ccleaner) é uma boa ajuda neste procedimento.

No Windows 7 os arquivos temporários dos usuários ficam em "C:\Users\Nome do Usuário\AppData\Local\Temp\" e o cache do navegador Internet Explorer fica em "C:\Users\Nome do Usuário\AppData\Local\Microsoft\Windows\Temporary Internet Files\". O cache do navegador Firefox fica em algo como "C:\Users\Nome do Usuário\AppData\Local\Mozilla\Firefox\Profiles\xxxxxxxx.default\Cache\". No Windows XP os arquivos temporários dos usuários ficam em "C:\Documents and Settings\Nome do Usuário\Configurações locais\Temp" e o cache do navegador Internet Explorer fica em "C:\Documents and Settings\Nome do Usuário\Configurações locais\Temporary Internet Files". Todo o conteúdo destas pastas não precisam estar incluídos em um backup.

As pastas que armazenam os arquivos produzidos pelos usuários são, por padrão no Windows Vista e 7: "Documents", "Downloads", "Music", "Pictures" e "Videos". No Windows XP ficam concentrados em "Meus documentos". Os arquivos que estiverem nelas provavelmente serão do usuário e talvez queira tê-los em backup. Alguns usuários tem o deselegante costume de armazenar arquivos no Desktop, verifique esta pasta também. Tem mais, o Internet Explorer armazena os endereços de sites favoritos na pasta "Favorites" ou "Favoritos", desta forma verifique todas as pastas para checar se existem dados importantes do usuário.

Em um sistema Linux a estrutura de diretórios pessoais é bem mais simples e clara, principalmente para as configurações dos softwares utilizados pelos usuários. Geralmente os softwares guardam os arquivos de configuração em subdiretórios com o mesmo nome do software e iniciados com um ponto. Por exemplo, o Firefox armazena em "/home/nome do usuário/.mozilla/". As distribuições Linux também criam diretórios para organizarem os arquivos dos usuários. Podem existir os diretórios "Documentos", "Download", "Imagens", "Música", "Vídeos" etc. Os diretórios que contiverem arquivos pessoais devem ser incluídos no backup.

É muito mais prático e seguro realizar a cópia de todo o diretório pessoal do usuário, mas isso pode ocupar um espaço grande de armazenamento. É uma boa medida remover primeiro os arquivos desnecessários, como temporários e cache. Um bom costume para o usuário é manter os arquivos organizados a partir de um único caminho e não espalhados por todo o sistema. Evite armazenar arquivos no Desktop, não é um bom hábito. E sempre faça cópia de segurança.

domingo, 11 de julho de 2010

Administrando usuários e grupos no sistema Linux

As contas do usuário servem a diversos objetivos nos sistemas operacionais. Em primeiro lugar, elas fornecem ao sistema uma maneira de distinguir as pessoas diferentes que o usam, por razões de identificação e segurança. Cada usuário tem uma conta pessoal com um nome do usuário separado e senha. Os usuários podem definir as permissões em seus arquivos, permitindo ou restringindo o acesso de outros usuários à eles. Cada arquivo do sistema pertence a um determinado usuário que pode definir permissões para este arquivo. As contas do usuário são usadas para identificar o acesso ao sistema, apenas as pessoas com contas podem acessar a máquina. As contas também são usadas para identificar os usuários e manter registros do sistema.

Basicamente, existem dois tipos de contas. A conta do usuário comum, que utiliza o sistema e suas ferramentas, e a conta do administrador do sistema ou superusuário, que utiliza o sistema pela conta de root, onde é possível realizar as configurações do sistema.

Por não possuir restrições de segurança, a conta de root só deve ser usada para manutenções no sistema e de preferência o menor tempo possível. Para evitar permissões desnecessárias no sistema deve-se usar uma conta normal de usuário em operações comuns. Se um arquivo for executado pelo usuário root e este contiver comandos ou códigos que causem danos ao sistema, estes danos poderão ser irreparáveis.

Os usuários podem ser organizados em grupos. Os grupos de usuários são uma maneira conveniente de organizar logicamente os conjuntos de contas do usuário e permitir aos usuários compartilharem arquivos dentro do seu grupo. Isso é útil para garantir privacidade e segurança dos dados. Cada usuário possui um grupo padrão, principal, e pode pertencer a grupos suplementares.

É interessante observar que alguns grupos e usuários são criados como padrão do sistema. Uma das primeiras contas existentes no Linux é a conta de superusuário, cuja senha é digitada durante a instalação. A maioria das distribuições permite também que outras contas comuns sejam criadas durante o seu processo de instalação. Estas contas são geralmente usadas pelos daemons do sistema, que tem que acessar os arquivos no sistema através de um determinado ID diferente de root ou de uma das contas pessoais dos usuários.

Como administrador do sistema, é sua função criar e gerenciar as contas para todos os usuários em sua máquina. É uma tarefa simples e independente, na maioria dos casos, mas é importante compreender como funciona.

Toda conta no sistema tem uma entrada no arquivo /etc/passwd. Este arquivo contém entradas, uma linha por usuário, que especificam diversos atributos para cada conta. Cada entrada neste arquivo tem o mesmo formato, com campos separados por um "dois pontos":

nome_do_usuário:senha:UID:GID:Nome Real:/diretório/pessoal:shell

O nome_do_usuário é uma string de caracteres exclusiva, identificando a conta. Para as contas pessoais, este é o nome com o qual o usuário se conecta. A senha é uma representação criptografada da senha do usuário. Se neste campo houver um asterisco (*), a conta está desativada, se houver uma exclamação (!), a senha está bloqueada, e se estiver vazia o usuário não possui uma senha definida. UID e GID é a representação numérica da identificação do usuário e do seu grupo padrão. O sistema gerencia os usuários e grupos com estes números, a representação no nome em caracteres alfabéticos é apenas para facilitar o uso humano do sistema. O próximo campo pode conter informações diversas sobre o usuário, como nome real, endereço etc., historicamente chamado de "gecos". O campo seguinte contém o caminho para o diretório pessoal do usuário (home) e o último contém o caminho para o arquivo executável do programa do shell.

As distribuições atuais utilizam ainda uma ferramenta de proteção de senha, o shadow, para ocultar a representação criptografada das senhas dos usuários no arquivo /etc/passwd, substituindo por um x, e então armazenando-a no arquivo /etc/shadow, que não possui permissão de leitura aos usuários comuns.

Os grupos existentes estão no arquivo /etc/group. A maioria dos grupos que estão presentes neste arquivo servem para o controle do sistema, e somente o superusuário pode modificar suas permissões e incluir ou retirar usuários destes grupos. Este arquivo também contém entradas, uma linha por grupo, com campos separados por um "dois pontos":

nome_do_grupo:senha:GID:lista,de,usuários

O formato da linha é semelhante as linhas do arquivo /etc/passwd, mas o último campo serve para conter uma lista com os nomes dos usuários que pertencem ao grupo, separados por vírgulas. Se um usuário pertencer a mais de um grupo, seu nome aparecerá em cada linha dos respectivos grupos.

Cada usuário ou grupo existente no sistema deve possuir uma ID exclusiva para sua identificação. São números inteiros e positivos. O administrador do sistema, que utiliza a conta root, possui o número zero em seu UID. As distribuições geralmente adotam números a partir de 500 para identificar os usuários pessoais, abaixo disso ficam os usuários virtuais dos daemons.

Existem várias formas de criar e manter usuários em um sistema. É importante lembrar sempre de que, para executar estas tarefas, você deve estar acessando o sistema como superusuário. Será mostrado como executar estas tarefas através da linha de comando em um prompt do shell.

Criar uma conta de usuário requer diversas etapas. Basicamente é acrescentar uma entrada no arquivo /etc/group para criar um grupo padrão para o usuário, acrescentar uma entrada no arquivo /etc/passwd para criar a conta do usuário, criar o diretório pessoal do usuário, definir os arquivos de configuração padrão (o diretório /etc/skel serve para isso) e atribuir as devidas permissões nos arquivos pessoais para o novo usuário. Após estas etapas, se desejar, basta definir a senha pessoal ao novo usuário. Felizmente, o administrador não tem que executar estas etapas manualmente pois os sistemas Linux incluem alguns programas para fazer isto.

Os programas nativos do sistema Linux são: useradd, userdel, usermod, groupadd, groupdel, groupmod e passwd. Alguns deles podem utilizar definições padrões, especificadas nos arquivos /etc/login.defs ou /etc/default/useradd, quando é omitida determinadas opções em sua linha de comando.

Algumas distribuições Linux incluem também um script chamado adduser que atua como uma interface interativa para o programa useradd, facilitando a tarefa pois evita uma linha de comando cheia de opções e parâmetros. As distros que possuem este script é a Slackware e a Debian/Ubuntu. As distros RedHat/CentOS/Fedora possuem apenas uma ligação de adduser para useradd e a distro openSUSE não possui o adduser.

O programa useradd cria um novo usuário ou atualiza as informações do usuário. Possui várias opções para a linha de comando explicadas uma a uma em sua página manual. Basicamente um exemplo de comando para criar um usuário é:

# useradd -m -U fulano

A opção -m cria o diretório pessoal, se não existir, copiando o conteúdo do diretório esqueleto (/etc/skel). A opção -U cria um grupo com o mesmo nome do usuário e o adiciona à ele, tornando o seu grupo padrão.

O programa userdel remove uma conta de usuário do sistema. Apenas uma opção é segura para aplicar, a opção -r, que remove junto o diretório pessoal do usuário. Um exemplo de comando é:

# userdel -r fulano

O programa passwd atualiza a autenticação do usuário, ou seja, a senha do usuário. Cada usuário pode utilizar este comando para alterar sua própria senha e o administrador pode alterar a senha de qualquer usuário, como no exemplo abaixo:

# passwd fulano

Os programas groupadd e groupdel, respectivamente, cria e remove um grupo. Suas linhas de comando são basicamente o executável do programa seguido do nome do grupo, bem simples.

O programa usermod tem muitas opções, da mesma forma como os outros, explicadas uma a uma em suas páginas manuais. Casos de uso bastante úteis deste programa são adicionar ou retirar um usuário de grupos suplementares. O comando a seguir adiciona o usuário ao grupo suplementar "aluno":

# usermod -a -G aluno fulano

Para remover o usuário de um grupo basta redefinir os grupos suplementares do usuário, omitindo o grupo do qual será excluído. Os comandos id ou groups podem ser úteis para mostrar os grupos que o usuário pertence:

# id -nG fulano

# groups fulano

A saída do comando acima é uma lista com todos os grupos o qual o usuário pertence. Para remover o usuário de um grupo basta omitir o nome do grupo da linha de comando. Um exemplo de comando é o seguinte:

# usermod -G users,cdrom,games fulano

Os arquivos /etc/login.defs e /etc/default/useradd contém os valores padrão para algumas das opções disponíveis nestes programas. Por exemplo a variável CREATE_HOME declarada no arquivo /etc/login.defs pode receber o valor "yes", o que automatiza a criação do diretório pessoal do usuário e desta forma não necessita a opção -m no comando useradd.

Modificar os atributos das contas de usuários e grupos é geralmente uma simples questão de editar o /etc/passwd e o /etc/group. O sistema fornece comandos como o usermod e o groupmod para fazer exatamente isto, mas pode ser mais fácil editar os arquivos manualmente, na maioria das vezes. Para editar estes arquivos é interessante utilizar os comandos vipw e vigr pois fornecem uma sessão do editor vi protegida por um controle de trava nos arquivos (lock).

Como o sistema provavelmente utiliza o shadow para proteger as senhas então é preciso sincronizar as linhas entre os arquivos /etc/passwd e /etc/group com os arquivos /etc/shadow e /etc/gshadow. Os comandos pwck e grpck servem para verificar a integridade dentre estes arquivos.

Os números para UID e GID devem ser, em essência, únicos para cada conta de usuário ou grupo. Estes programas são capazes de tratar os números ativos e atribuir valores em sequência para as novas entradas. Em uma edição manual o administrador deve tomar este cuidado com atenção.

Consulte as páginas manuais destes programas para mais informações.