Hoe doe ik dit? Ik heb een gebruiker aangemaakt zonder een thuismap en nu wil ik er een aanmaken. Niet alleen een map genaamd new_user, ik wil de standaard thuismap met al zijn mappen en verborgen bestanden, enz.
De submappen (Documenten, Downloads, enz...) worden automatisch aangemaakt wanneer de gebruiker zich voor het eerst aanmeldt via GNOME, op voorwaarde dat de thuismap is aangemaakt met de juiste permissies. Hier's een demonstratie:
alaa@aa-lu:~$ sudo useradd testinguser alaa@aa-lu:~$ sudo passwd testinguser Voer nieuw UNIX wachtwoord in: Herhaal nieuw UNIX wachtwoord: passwd: wachtwoord succesvol bijgewerkt alaa@aa-lu:~$ sudo ls -l /home totaal 20 drwxr-xr-x 55 alaa alaa 4096 aug 22 22:00 alaa drwx------ 2 root root 16384 jun 5 09:46 lost+found alaa@aa-lu:~$ sudo mkdir /home/testinguser alaa@aa-lu:~$ sudo chown testinguser:testinguser /home/testinguser alaa@aa-lu:~$ ls -l /home totaal 24 drwxr-xr-x 55 alaa alaa 4096 aug 22 22:00 alaa drwx------ 2 root root 16384 jun 5 09:46 lost+found drwxr-xr-x 2 testinguser testinguser 4096 23 aug 10:03 testinguser alaa@aa-lu:~$ ls -l /home/testinguser/ totaal 0 alaa@aa-lu:~$
U kunt controleren of de home directory van de gebruiker correct is ingesteld door de entry in /etc/passwd
te controleren. U zou standaard moeten zien dat de home directory is ingesteld op /home/testinguser
:
alaa@aa-lu:~$ grep testinguser /etc/passwd testinguser:x:1001:1001::/home/testinguser:/bin/sh
Als je de home directory /home/testinguser
daar niet ziet, moet je het commando sudo usermod -d /home/testinguser testinguser
uitvoeren om het bij te werken, hoewel je dit commando niet zou moeten hoeven gebruiken omdat het standaard ingesteld zou moeten zijn (volgens useradd
's manpages).
Ik logde vervolgens uit van mijn account, en logde weer in met testinguser
, en hier zijn de submappen die automatisch werden aangemaakt:
alaa@aa-lu:~$ ls -l /home/testinguser/ totaal 36 drwxr-xr-x 2 testinguser testinguser 4096 aug 23 10:05 Desktop drwxr-xr-x 2 testinguser testinguser 4096 23 aug 10:05 Documenten drwxr-xr-x 2 testinguser testinguser 4096 23 aug 10:05 Downloads drwxr-xr-x 2 testinguser testinguser 4096 aug 23 10:05 Muziek drwxr-xr-x 2 testinguser testinguser 4096 23 aug 10:07 Afbeeldingen drwxr-xr-x 2 testinguser testinguser 4096 23 aug 10:05 Publiek drwxr-xr-x 2 testinguser testinguser 4096 23 aug 10:05 Sjablonen drwxr-xr-x 2 testinguser testinguser 4096 23 aug 10:05 Video's
Ik hoefde de inhoud van /etc/skel
niet te kopiëren.
Als het mogelijk is, kun je dan proberen om deze stappen te volgen en een andere nieuwe gebruiker aan te maken? Als je'klaar bent, kun je deze nieuwe gebruiker verwijderen door sudo deluser testinguser && sudo rm -r /home/testinguser
.
Als dit allemaal niet werkte bij jou, dan denk ik'dat het een bug is.
UPDATE: De oplossing is kapot en werkt bij mij ook niet.
Als je de home directory van de gebruiker wilt aanmaken als die nog niet bestaat, voer dan het useradd
commando uit met de -m
vlag. Dit zal alle bestanden uit de /etc/skel
directory kopiëren.
useradd -m username
Het kan nodig zijn om instellingen voor uw systeem te configureren. Volgens de man pagina :
-m, --create-home
Create the user's home directory if it does not exist. The files and directories
contained in the skeleton directory (which can be defined with the -k option)
will be copied to the home directory.
By default, if this option is not specified and CREATE_HOME is not enabled, no
home directories are created.
en geeft verder aan :
CONFIGURATION
The following configuration variables in /etc/login.defs change the behavior
of this tool:
CREATE_HOME (boolean)
Indicate if a home directory should be created by default for new users.
Als u de nieuwe gebruiker heeft aangemaakt met adduser
commando, hoeft u geen home directory aan te maken voor de nieuwe gebruiker. Een home directory met de naam van de gebruiker in /home
directory, met de volgende subdirectories: Bureaublad, Downloads, Documenten, Muziek, Afbeeldingen, Video's (en andere), voor de nieuwe gebruiker zal automatisch worden aangemaakt.
Als u de nieuwe gebruiker heeft aangemaakt met het useradd
commando, voer dan de volgende commando's uit in terminal:
sudo -i #enter your user password when you are asked
gedit /etc/passwd
om /etc/passwd
bestand te bewerken als root (dit is de belangrijkste stap). Zoek de regel met de naam van de nieuwe gebruiker en stel de standaard home directory voor hem in, zoiets als dit:
new_username:x:1001:1001::/home/new_username:/bin/sh
Op deze regel kunt u ook een echte naam voor de nieuwe gebruiker toevoegen, of de standaard shell instellen. Zoiets als dit:
new_username:x:1001:1001:Real New Username,,,:/home/new_username:/bin/bash
Wees voorzichtig, breng geen andere wijzigingen aan.
Nadat je het bestand hebt opgeslagen, voordat je naar buiten gaat vanuit de root account, voer je de volgende commando's uit:
mkdir /home/new_username #to create the directory /home/new_username
cp -r /etc/skel/. /home/new_username #to copy skeleton files to /home/new_username
chown -R new_username:new_username /home/new_username #to change the owner of /home/new_username to the new user
Na al deze zaken zal de thuismap voor de nieuwe gebruiker automatisch gevuld worden na de eerste login.
Zie ook: https://askubuntu.com/questions/152707/how-to-make-user-home-folder-after-account-creation