Restrict Linux users to their home directories only

Q. How can I make sure that users can only access their own home directories?

A. You can use rbash i.e. restricted bash shell. A restricted shell is used to set up an environment more controlled than the standard shell. It behaves identically to bash with the exception that the following are disallowed or not performed:

  1. Changing directories with cd
  2. Setting or unsetting the values of SHELL, PATH, ENV, or BASH_ENV
  3. Specifying command names containing /
  4. Specifying a file name containing a / as an argument to the . builtin command
  5. Specifying a filename containing a slash as an argument to the -p option to the hash builtin command
  6. Importing function definitions from the shell environment at startup
  7. Parsing the value of SHELLOPTS from the shell environment at startup
  8. Redirecting output using the >, >|, , >&, &>, and >> redirection operators
  9. Using the exec builtin command to replace the shell with another command
  10. Adding or deleting builtin commands with the -f and -d options to the enable builtin command
  11. Using the enable builtin command to enable disabled shell builtins
  12. Specifying the -p option to the command builtin command
  13. Turning off restricted mode with set +r or set +o restricted.

These restrictions are enforced after any startup files are read. When a command that is found to be a shell script is executed, rbash turns off any restrictions in the shell
spawned to execute the script.

Open /etc/passwd file and setup shell to /bin/rbash
# vi /etc/passwd

For example here is a sample entry for user vivek:
vivek:x:100:101::/home/vivek:/bin/rbash

 

Basta criar um link simbólico para o rbash

ln /bin/bash /bin/rbash

Anúncios

Criando uma keytab com o ktutil

Estou agora dando prosseguimento ao último post sobre Linux autenticando no Active Directory usando SAMBA/KERBEROS/WINBIND, post esse destinado aos usuários do Ubuntu Precise 12.04

Qual a necessidade de se criar uma keytag para o Kerberos?

  • Uma vez feitas as configurações, seria necessário sempre dar um refresh no ticket que é gerado pelo kerberos junto ao Active directory. Ao reiniciar a máquina, o ticket não ganha um refresh automaticamente, surgindo assim a necessidade de se criar um script para que ele gere o ticket na inicialização da máquina. O grande problema seria colocar a senha em texto no script, o que causaria uma falha de segurança.
  • O keytag cria um hash criptografado que será usado para fazer a comunicação entre o kerberos e o Active Directory, evitando que você precise adicionar em modo texto as senhas de acesso ao seu servidor.

Continuar lendo

Etiquetado ,

Linux autenticando no Active Directory com Samba/Kerberos/Winbind – Ubuntu 12.04

Estou utilizando para a confecção deste tutorial a necessidade que surgiu de ter um servidor de autenticação para as máquinas clientes da nossa rede interna. Para tanto, estamos usando como servidor central o Windows Server 2008 e o Active Directory como gerenciador de domínio. Vale salientar que não iremos aqui abordar a instalação ou configuração do servidor de AD, considerando que o mesmo já existe na rede e está configurado com seus usuários, grupos e permissões.

Todas as configurações feitas nesse tutorial foram testadas no Ubuntu Precise 12.04

Inicialmente iremos instalar os pacotes necessários para o desenvolvimento desse projeto:

  • Samba
  • Winbind
  • Kerberos

# apt-get install samba winbind krb5-clients krb5-user

Continuar lendo

Alterando Runlevel no Ubuntu Precise 12.04

Olá,

Pode ser de grande valia e que um dia venha a precisar alterar o runlevel de uma máquina Ubuntu.

Para alterar, siga os passos abaixo:

Edite o arquivo /etc/init/rc-sysinit.conf

Altere a variável onde tem

env DEFAULT_RUNLEVEL=2

para

env DEFAULT_RUNLEVEL=3

 

Depois abra o arquivo /etc/init/lightdm.conf

Procure pelas linhas
start on … [!06] e stop on … [!016]

Continuar lendo

Adicionando repositórios Centos no RedHat

Caso sua assinatura do RedHat tenha vencido e você precise atualizar o sistema, ou mesmo instalar um novo programas, você pode utilziar os repositórios do Centos. Também existe o rpmforge, onde você consegue encontrar aqueles programas que geralmente não tem nos repositórios da distro… tsc tsc… como não é debian neh…. rssrss

Para adicionar os repositórios Centos  faça:

Crie um arquivo chamado Centos.repo no diretório /etc/yum.repos.d com o conteúdo:

[CentOS5 base]
name=CentOS-5-Base
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=os
gpgcheck=0
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[CentOS5 updates]
name=CentOS-5-Updates
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=updates
gpgcheck=0
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

[CentOS5plus]
name=CentOS-5-Plus
mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=centosplus
gpgcheck=0
enabled=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

Para adicionar os repositórios do rpmForge faça:
crie o arquivo mirrors-rpmforge dentro de /etc/yum.repos.d com o conteúdo:

http://apt.sw.be/redhat/el5/en/$ARCH/dag

http://archive.cs.uu.nl/mirror/dag.wieers/redhat/el5/en/$ARCH/dag

http://ftp2.lcpe.uni-sofia.bg/freshrpms/pub/dag/redhat/el5/en/$ARCH/dag

#http://ftp.heanet.ie/pub/freshrpms/pub/dag/redhat/el5/en/$ARCH/dag

http://ftp-stud.fht-esslingen.de/dag/redhat/el5/en/$ARCH/dag

http://mirror.cpsc.ucalgary.ca/mirror/dag/redhat/el5/en/$ARCH/dag

http://mirrors.ircam.fr/pub/dag/redhat/el5/en/$ARCH/dag

http://rh-mirror.linux.iastate.edu/pub/dag/redhat/el5/en/$ARCH/dag

http://rpmfind.net/linux/dag/redhat/el5/en/$ARCH/dag

http://wftp.tu-chemnitz.de/pub/linux/dag/redhat/el5/en/$ARCH/dag

http://www.mirrorservice.org/sites/apt.sw.be/redhat/el5/en/$ARCH/dag

e crie o arquivo rpmforge.repo assim:

[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 0

Daí execute:
yum clean all
yum check-update

Fonte: http://hbueno.wordpress.com/2008/10/16/adicionando-repositorios-centos-no-redhat/

Criando partição FreeBSD usando Gpart

Bom, a motivação para criação deste post foi uma pequena dificuldade que tive na inclusão de uma nova partição em um disco já existente no FreeBSD. Podemos então questionar qual a dificuldade encontrada quando se tem tantas ferramentas úteis e de fácil utilização pelo sysinstall do FreeBSD. Aí é que entra o problema: De alguma forma o Fdisk e o Disk Label do sysinstall (que por sinal também podem ser executados somente com o sade) não conseguia salvar a nova partição no disco.

Vejamos o seguinte cenário:

  • Utilizo um firewall para controle de banda, fluxo.
  • Este mesmo firewall está instalado em uma máquina Dell com o ESXi Hyper 5.0.0 e o FreeBSD 8.3
  • Inicialmente o disco estava definido para apenas 8Gb em modo Thick
  • Houve a necessidade de atualizar os ports do sistema e o espaço em disco foi insuficiente Continuar lendo

Install and configure Ejabberd 2.1 on Ubuntu 10.4

This how to is a great deal simpler than I remember but it’s easy to miss a trick.

$ sudo apt-get install erlang ejabberd

I thought it was all kosher. Except I couldn’t add users due to ‘undefined RPC endpoint for localhost’. Thinking that these should have been automagically configured I tried to install from source and from processone packages but none were really good enough to easily repeat. Continuar lendo

Bind tentando resolver ipv6

Em alguns casos a instalação do bind vem por padrão tentando resolver ipv6, o que em conexões limitadas a ipv4 acaba por causar o erro “network unreachable resolving” que aparece nos logs (no debian em /var/log/daemon.log).

Para resolver é bem simples:

Edite o arquivo /etc/defaults/bind9

Onde vê-se a linha OPTIONS=”-u bind” alteramos para

OPTIONS="-4 -u bind"

Onde a inclusão do -4 vai forçar o bind a resolver apenas ipv4.

Logo após somente restartamos o bind

/etc/init.d/bind9 restart

 

Wireless Broadcom no Linux Mint

1. The Mint developers of LMDE have enabled the “non-free” repositories by default. To confirm this navigate to

  • Menu > Administration > Software Sources.
  • Select the <Third-Party Software> tab

Debian Testing Officially supported DFSG-compatible Software with Non-free Dependencies Non-DFSG-compatible

If the “non-free” repository was not present, add it to to /etc/apt/sources.list. Open the file with

gksu gedit /etc/apt/sources.list

and add these lines at the end of the file

Continuar lendo

P. Como eu adiciono um usuário em um grupo no FreeBSD?

R. Você pode usar o comando pw. O utilitário pw é um editor de linha de comando para os arquivos de usuarios e grupos, que permite o root uma maneira mais fácil de adicionar, modificar e remover usuários.

Tarefa: Adicionando um usuário já existente

Você gostaria de adicionar o usuário tom já existente a um grupo secundário chamado ftpusers. Digite o comando abaixo:
# pw usermod tom -G ftpusers

Você pode adicionar tom a um grupo secundário como sendo ftpuser e wwwusers:
# pw usermod tom -G ftpusers,wwwusers

A opção -G configura os grupos padrões na qual novos usuários serão adicionados como membros.

Tarefa: Adicionar um novo usuário ao grupo

Adiciona o usuário jerry ao sistema e ao grupo secundário sales:
# pw useradd jerry -G sales
# passwd jerry

O comando passwd muda a senha do usuário