Se você criou a conta de usuário useradd
, precisará configurar tudo manualmente. É por isso que, ao criar contas de usuário a partir da linha de comando, é recomendável usar adduser
no Ubuntu (e Debian e outros sistemas baseados em Debian). Você pode apenas remover o usuário com userdel
ou deluser
recriar com ele adduser
. De outra forma...
Corrigindo o local do diretório inicial
Se você deseja manter a conta de usuário e corrigir o problema, é necessário analisar:
- o nome do diretório inicial para o qual a conta do usuário está realmente configurada
- o nome do diretório que você realmente criou
Estes devem ser exatamente iguais. A mensagem de erro que você recebe su -l penner
informa que eles não são os mesmos.
Para verificar o diretório inicial para o qual a conta do usuário está realmente configurada, execute este comando (consulte man 5 passwd
e man grep
para obter mais informações):
grep penner /etc/passwd
Você deve ver uma linha como esta:
penner:x:1000:1000:Eliah Kagan,,,:/home/penner:/bin/bash
Ou seja, o sexto :
campo separado (após o quinto :
) contém o diretório inicial. Se não for /home/penner
, deveria ser. Se o diretório que você criou para o usuário não for /home/penner
, também deve ser. Se os dois diretórios forem iguais, mas nenhum deles for /home/penner
, então isso pode funcionar teoricamente, mas você deve criar os dois /home/penner
, porque muitos softwares pressupõem que todos root
os diretórios pessoais de não usuários sejam ./home/username
Você pode alterar penner
o diretório inicial de /home/penner
, executando este comando:
sudo usermod -d /home/penner penner
Garantindo que seja um diretório e que o usuário tenha acesso
Se (ou uma vez) os nomes forem os dois /home/penner
, você também deve garantir que o usuário tenha acesso ao seu próprio diretório pessoal. Corre:
ls -ld /home/penner
Você deve ver algo parecido com este (embora a data e a hora sejam diferentes):
drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
Se, em vez de drwxr-xr-x
, você tiver algo que começa com -
e não d
, então você criou um arquivo em vez de um diretório. Exclua o arquivo e crie um diretório lá.
Se, em vez da primeira, penner
você tiver outra coisa, o usuário não será o proprietário do diretório inicial, portanto, faça com que ele seja o proprietário:
sudo chown penner /home/penner
Se em vez de drwxr-xr-x
traços nos próximos três caracteres após o d
, o usuário não terá acesso total a ele. Corrija da seguinte maneira:
sudo chmod u+rwx /home/penner
( penner
é capaz de executar este comando se eles possuem o diretório inicial, portanto, se preferir, você pode executá-lo como sudo -u penner u+rwx /home/penner
:)
Garantindo que outros usuários não tenham acesso de gravação geral
Se, em vez de drwxr-xr-x
, houver w
s em vez de -
s nas últimas seis letras, os usuários penner
poderão ter acesso de gravação ao penner
diretório inicial do. Isso é perigoso (a menos que você realmente saiba o que está fazendo e o queira dessa maneira e tenha configurado as coisas para que não seja um problema). Para fixar isso:
sudo chmod -R go-w /home/penner
Outros padrões
Existem outras alterações que você pode querer fazer. Por padrão no Ubuntu (ou seja, se você criar uma conta de usuário com adduser
ou com uma ferramenta gráfica, o que você não criou ):
Os diretórios pessoais têm permissões de leitura e gravação para todos, não apenas para o usuário que os possui. Os usuários podem alterar isso, para todo o diretório pessoal ou para quaisquer arquivos e subdiretórios dentro dele. Mas se você quer este padrão, e você não tem o segundo eo terceiro r
e x
no drwxr-xr-x
, execute:
sudo chmod 755 /home/penner
( penner
é capaz de executar este comando se eles possuem o diretório inicial, portanto, se preferir, você pode executá-lo como sudo -u penner chmod 755 /home/penner
:)
Cada usuário tem seu próprio grupo, com o mesmo nome que o usuário, e este é o grupo principal do usuário. O diretório inicial é de propriedade deste grupo. Esse é o significado do segundo penner
em drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
. Não há problema em romper com esse padrão, se você souber o que está fazendo . Mas se não for sua intenção fazer as coisas de maneira diferente, verifique se penner
está configurado dessa maneira, pois algumas identidades de grupo principais possíveis para um usuário ou proprietários de grupos no diretório inicial do usuário podem levar a problemas de segurança.
Corra groups penner
. (Veja man groups
para obter mais informações.) Você deve ver algo assim:
penner : penner adm dialout cdrom plugdev lpadmin sambashare
Não se preocupe se não for bem assim. Eu vou chegar a isso em breve. Em vez disso, observe a primeira palavra após a :
. Esse é o nome do grupo principal do usuário. Supondo que você queira que seja penner
, verifique se é. Caso contrário, altere-o:
sudo usermod -g penner penner
Se você receber um erro dizendo que o grupo penner
não existe, será necessário criá-lo com este comando (e execute o comando acima novamente):
sudo addgroup penner
- Veja
man addgroup
para mais informações. (Se preferir, você pode usar o groupadd
comando como alternativa para criar grupos.)
Quando você correu groups penner
, pode ter recebido uma lista de grupos consideravelmente mais curta que a minha penner : penner adm dialout cdrom plugdev lpadmin sambashare
. Para usuários de desktop, o adm
, dialout
, cdrom
, plugdev
, lpadmin
, e sambashare
fornecer habilidades que os usuários de desktop geralmente deve ter. Portanto, a menos que você tenha um motivo para fazer o contrário, penner
deve estar nesses grupos. Porém, esses não são grupos primários, portanto, eles são definidos de maneira diferente. Supondo que penner
não esteja em nenhum desses grupos e você queira penner
estar em todos eles, execute este comando:
sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
Caso você esteja interessado, eis o que todos esses grupos significam:
(Fonte: Privileges , no wiki de documentação do Ubuntu.)
Tornando o usuário um administrador
Se você não deseja penner
ser administrador, provavelmente não precisará fazer mais nada. Você pode verificar se penner
é um administrador groups penner
. Se nem admin
nem sudo
estiver listado, penner
não será um administrador.
Se você deseja penner
ser um administrador, adicione penner
a qualquer um desses grupos. (Você também pode adicionar penner
a ambos, se ambos existirem.) Você pode fazer isso executando esses dois comandos separadamente - se um deles for bem-sucedido, você criou penner
um administrador:
sudo usermod -a -G admin penner
sudo usermod -a -G sudo penner
- A razão pela qual existem dois grupos é que, antes do Ubuntu 12.04 LTS, os administradores estavam no
admin
grupo. A partir do Ubuntu 12.04 LTS, os administradores estão no sudo
grupo. Mas se o seu sistema 12.04 LTS for atualizado a partir de uma versão anterior (e isso se aplica a versões posteriores do Ubuntu, como a 12.10 quando for lançada, que são atualizadas a partir do Ubuntu 11.10 ou anterior), para compatibilidade com versões anteriores, os administradores são membros de ambas. sudo
e admin
. Geralmente, se um desses grupos não confere habilidades administrativas, ele simplesmente não existe, portanto, executar os dois comandos acima (separadamente, não como sudo usermod -a -G admin,sudo penner
) é geralmente uma maneira segura e eficaz de criar penner
um administrador.