Opprett standard hjemmekatalog for eksisterende bruker i terminalen

Hvordan gjør jeg dette? Jeg opprettet en bruker uten hjemmekatalog, og nå vil jeg opprette en. Ikke bare en mappe som heter new_user, jeg vil ha standard hjemmekatalog med alle dens mapper og skjulte filer osv.

Underkatalogene (dokumenter, nedlastinger osv.) opprettes automatisk når brukeren logger seg på via GNOME for første gang, forutsatt at hjemmekatalogen er opprettet med riktige tillatelser. Her er en demonstrasjon:

alaa@aa-lu:~$ sudo useradd testinguser
alaa@aa-lu:~$ sudo passwd testinguser
Skriv inn nytt UNIX-passord:
Skriv inn nytt UNIX-passord på nytt:
passwd: passord oppdatert med hell
alaa@aa-lu:~$ sudo ls -l /home
totalt 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
totalt 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 Aug 23 10:03 testinguser
alaa@aa-lu:~$ ls -l /home/testinguser/
total 0
alaa@aa-lu:~$

Du kan kontrollere at brukerens hjemmekatalog er riktig angitt ved å sjekke oppføringen i /etc/passwd. Som standard skal hjemmekatalogen være satt til /home/testinguser:

alaa@aa-lu:~$ grep testinguser /etc/passwd
testinguser:x:1001:1001::/home/testinguser:/bin/sh

Hvis du ikke ser hjemmekatalogen /home/testinguser der, må du kjøre kommandoen sudo usermod -d /home/testinguser testinguser for å oppdatere den, selv om du ikke skal trenge å bruke denne kommandoen fordi den skal være angitt som standard (i henhold til useradd's manpagesider).

Jeg logget deretter ut av kontoen min, og logget inn igjen med testinguser, og her er underkatalogene automatisk opprettet:

alaa@aa-lu:~$ ls -l /home/testinguser/
totalt 36
drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05 Desktop
drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05 Dokumenter
drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05 Nedlastinger
drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05 Musikk
drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:07 Bilder
drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05 Public
drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05 Maler
drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05 Videoer

Jeg trengte ikke å kopiere innholdet i /etc/skel.

Hvis det er mulig, kan du prøve å følge disse trinnene og opprette en ny bruker? Når du er ferdig, kan du fjerne denne nye brukeren ved å sudo deluser testinguser &amp & sudo rm -r /home/testinguser.

Hvis alt dette ikke fungerte med deg, antar jeg at det er en feil.

Kommentarer (5)

OPPDATERING: Løsningen er ødelagt og fungerer ikke for meg også.

Hvis du vil opprette brukerens hjemmekatalog hvis den ikke finnes, kjører du kommandoen useradd med -m-flagget. Dette vil kopiere alle filer fra katalogen /etc/skel.

useradd -m username

Du må kanskje konfigurere innstillinger for systemet ditt. I henhold til man-siden:

  -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.

og angir videre:

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.
Kommentarer (5)

Hvis du opprettet den nye brukeren med kommandoen adduser, trenger du ikke å opprette en hjemmekatalog for den nye brukeren. En hjemmekatalog navngitt med navnet på brukeren i /home-katalogen, med følgende underkataloger: Skrivebord, Nedlastinger, Dokumenter, Musikk, Bilder, Videoer (og andre), for den nye brukeren opprettes automatisk.

Hvis du opprettet den nye brukeren med kommandoen useradd, kjører du følgende kommandoer i terminalen:

sudo -i     #enter your user password when you are asked
gedit /etc/passwd

for å redigere /etc/passwd-filen som root (dette er det viktigste trinnet). Finn linjen med navnet på den nye brukeren og angi standard hjemmekatalog for ham noe som dette:

new_username:x:1001:1001::/home/new_username:/bin/sh

På denne linjen kan du også legge til et ekte navn for den nye brukeren, eller angi standardskallet. Noe som dette:

new_username:x:1001:1001:Real New Username,,,:/home/new_username:/bin/bash

Vær forsiktig, ikke gjør noen andre endringer.

Etter at du har lagret filen, før du går ut fra rotkontoen, kjører du følgende kommandoer:

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

Etter alle disse vil hjemmemappen for den nye brukeren automatisk fylles ut etter første pålogging.

Se også: https://askubuntu.com/questions/152707/how-to-make-user-home-folder-after-account-creation

Kommentarer (6)