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 adduserno Ubuntu (e Debian e outros sistemas baseados em Debian). Você pode apenas remover o usuário com userdelou deluserrecriar 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 pennerinforma 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 passwde man greppara 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 rootos diretórios pessoais de não usuários sejam ./home/username
Você pode alterar pennero 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, pennervocê 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-xtraç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 ws em vez de -s nas últimas seis letras, os usuários pennerpoderão ter acesso de gravação ao pennerdiretó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 adduserou 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 re xno 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 pennerem 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 pennerestá 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 groupspara 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 pennernão existe, será necessário criá-lo com este comando (e execute o comando acima novamente):
sudo addgroup penner
- Veja
man addgrouppara mais informações. (Se preferir, você pode usar o groupaddcomando 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 sambasharefornecer habilidades que os usuários de desktop geralmente deve ter. Portanto, a menos que você tenha um motivo para fazer o contrário, pennerdeve estar nesses grupos. Porém, esses não são grupos primários, portanto, eles são definidos de maneira diferente. Supondo que pennernão esteja em nenhum desses grupos e você queira pennerestar 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 pennerser administrador, provavelmente não precisará fazer mais nada. Você pode verificar se penneré um administrador groups penner. Se nem adminnem sudoestiver listado, pennernão será um administrador.
Se você deseja pennerser um administrador, adicione pennera qualquer um desses grupos. (Você também pode adicionar pennera ambos, se ambos existirem.) Você pode fazer isso executando esses dois comandos separadamente - se um deles for bem-sucedido, você criou pennerum 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
admingrupo. A partir do Ubuntu 12.04 LTS, os administradores estão no sudogrupo. 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. sudoe 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 pennerum administrador.