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 usermodpara 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 chownpara 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 chmodpara 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
rexemdrwxr-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
pennerindrwxr-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 quepenneresteja 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 groupspara mais informações.) Você deve ver algo como isto :penner : penner adm dialout cdrom plugdev lpadmin sambashareNã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 pennerSe você receber um erro dizendo que o grupo
pennernão existe, será necessário criá-lo com este comando (e depois executar o comando acima novamente):sudo addgroup penner- Consulte
man addgrouppara obter mais informações. Se preferir, você pode alternativamente usar o comandogroupaddpara 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,lpadminesambasharefornecem habilidades que os usuários de desktop geralmente devem ter. Portanto, a menos que você tenha um motivo para fazer isso,pennerdeve estar nesses grupos. Estes são não grupos primários, no entanto, eles são definidos de forma diferente. Supondo quepennernão esteja em nenhum desses grupos e você queira quepenneresteja em todos eles, execute este comando:sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare pennerCaso você esteja interessado, veja o que todos esses grupos significam:
-
admusuários pode visualizar a maioria dos arquivos de log do sistema em/var/log. -
dialoutusuários pode usar modems dial-up. -
plugdevusuários podem montar e usar dispositivos de armazenamento externos. -
lpadminusuários pode configurar e gerenciar impressoras. -
sambashareusuá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 ambossudoeadmin. 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 tornarpennerum administrador.