Se você criou a conta de usuário com useradd
, para 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 querer remover o usuário com userdel
ou deluser
e recrie-o com adduser
. Caso contrário ...
Corrigindo o local do diretório local
Se você deseja manter a conta do usuário e corrigir o problema, é necessário analisar:
- o nome do diretório inicial em que a conta do usuário está realmente configurada para
- o nome do diretório que você criou de fato
Estes devem ser exatamente os mesmos. A mensagem de erro que você recebe com su -l penner
está dizendo que eles não são iguais.
Para verificar o diretório inicial para o qual a conta do usuário está 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 :
-separated (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 deverá ser. Se os dois diretórios são os mesmos, mas nenhum é /home/penner
, então isso pode, teoricamente, funcionar, mas você deve torná-los ambos /home/penner
, porque muitos softwares assumem que todos os diretórios home de não root
usuários são /home/username
.
Você pode alterar o diretório pessoal de penner
para /home/penner
executando este comando:
sudo usermod -d /home/penner penner
- Consulte
man usermod
para obter mais informações.
Garantindo que seja um diretório e que o usuário tenha acesso
Se (ou uma vez) os nomes forem ambos /home/penner
, você também deve se certificar de que o usuário tenha acesso ao seu próprio diretório pessoal. Executar:
ls -ld /home/penner
Você deve ver algo parecido com isso (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 -
em vez de d
, você criou um arquivo em vez de um diretório. Exclua o arquivo e crie um diretório lá.
Se, em vez do primeiro penner
você tiver outra coisa, o usuário não possuir o diretório inicial, então faça com que ele seja o proprietário:
sudo chown penner /home/penner
- Consulte
man chown
para obter mais informações.
Se, em vez de drwxr-xr-x
, houver traços nos próximos três caracteres após o d
, o usuário não terá acesso total a ele. Corrija isso da seguinte maneira:
sudo chmod u+rwx /home/penner
- Consulte
man chmod
para obter mais informações.
( penner
é capaz de executar este comando se eles possuem seu diretório home, então se você preferir, você pode executar isto como: sudo -u penner u+rwx /home/penner
)
Garantindo que outros usuários não tenham acesso de escrita geral
Se, em vez de drwxr-xr-x
, houver w
s em vez de -
s nas últimas seis letras, os usuários além de penner
poderão ter acesso de gravação ao diretório pessoal de penner
. Isso é perigoso (a menos que você realmente saiba o que você está fazendo e queira dessa forma e tenha configurado as coisas para que não seja um problema). Para corrigir:
sudo chmod -R go-w /home/penner
Outros padrões
Existem outras alterações que você pode querer fazer. Por padrão no Ubuntu (isto é, se você criar uma conta de usuário com adduser
ou com uma ferramenta gráfica, o que você não fez):
-
Os diretórios iniciais 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, seja para o diretório home inteiro ou quaisquer arquivos e subdiretórios dentro dele. Mas se você quiser esse padrão e não tiver o segundo e o terceiro
r
ex
emdrwxr-xr-x
, execute:sudo chmod 755 /home/penner
(
penner
é capaz de executar este comando se eles possuem seu diretório home, então se você preferir, você pode executar isto como:sudo -u penner chmod 755 /home/penner
) -
Cada usuário tem seu próprio grupo, com o mesmo nome do usuário, e esse é o grupo principal do usuário. Seu diretório inicial é de propriedade desse grupo. Esse é o significado do segundo
penner
indrwxr-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ê sabe o que está fazendo .Mas se não for sua intenção fazer as coisas de maneira diferente, certifique-se de quepenner
esteja configurado dessa forma, pois algumas identidades de grupos primários possíveis para um usuário ou proprietários de grupos no diretório inicial do usuário podem causar problemas de segurança. / p>Execute
groups penner
. (Vejaman groups
para mais informações.) Você deve ver algo como isto :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 o
:
. Esse é o nome do grupo principal do usuário. Supondo que você queira que sejapenner
, certifique-se de que seja. Se não for, mude: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 depois executar o comando acima novamente):sudo addgroup penner
- Consulte
man addgroup
para obter mais informações. Se preferir, você pode alternativamente usar o comandogroupadd
para criar grupos.)
- Consulte
-
Quando você executou
groups penner
, você pode ter obtido uma lista de grupos consideravelmente mais curta que meupenner : penner adm dialout cdrom plugdev lpadmin sambashare
. Para usuários de desktop, osadm
,dialout
,cdrom
,plugdev
,lpadmin
esambashare
fornecem habilidades que os usuários de desktop geralmente devem ter. Portanto, a menos que você tenha um motivo para fazer isso,penner
deve estar nesses grupos. Estes são não grupos primários, no entanto, eles são definidos de forma diferente. Supondo quepenner
não esteja em nenhum desses grupos e você queira quepenner
esteja em todos eles, execute este comando:sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
Caso você esteja interessado, veja o que todos esses grupos significam:
-
adm
usuários pode visualizar a maioria dos arquivos de log do sistema em/var/log
. -
dialout
usuários pode usar modems dial-up. -
plugdev
usuários podem montar e usar dispositivos de armazenamento externos. -
lpadmin
usuários pode configurar e gerenciar impressoras. -
sambashare
usuários podem compartilhar arquivos (via Samba ) com outros computadores em uma rede.
(Fonte: Privilégios , na wiki de documentação do Ubuntu.)
-
Tornando o usuário um administrador
Se você não quiser que penner
seja um administrador, provavelmente não precisará fazer mais nada. Você pode verificar se penner
é um administrador com groups penner
. Se nem admin
nem sudo
estiver listado, então penner
não é um administrador.
Se você quiser que penner
seja 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 tiver êxito, você terá feito 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 grupo
admin
. Começando com o Ubuntu 12.04 LTS, os administradores estão no gruposudo
. Mas se seu sistema 12.04 LTS for atualizado de uma versão anterior (e isso deve se aplicar a versões posteriores do Ubuntu, como 12.10 quando for lançado, atualizado do Ubuntu 11.10 ou anterior), então para compatibilidade com versões anteriores, administradores são membros de ambossudo
eadmin
. Geralmente, se um desses grupos não confere habilidades administrativas, simplesmente não existe, portanto, executar os dois comandos acima (separadamente, não comosudo usermod -a -G admin,sudo penner
) é geralmente uma maneira segura e eficiente de tornarpenner
um administrador.