Я создал нового пользователя с useradd name
и забыл использовать -d -m
, чтобы создать свой домашний каталог. Я попытался сделать это, скопировав содержимое / etc / skel и chown
все для нового пользователя.
Псевдонимы не работают, например ll
, и я просто имею $
в командной строке вместо name@server ~$
. Кроме того, используя колесо прокрутки, вывоз мусора в командной строке: (
Как это исправить, или проще удалить пользователя и начать его?
Чтобы изменить значение по умолчанию для домашнего каталога нового пользователя, вы можете дать команду
sudo useradd -D --base-dir /home/new_user
. См. Useradd -D [опции] из
man useradd
Я просто столкнулся с этим (Ubuntu 12.04), и я решил его, создав временного пользователя, скопировав его через каталог пользователя, его chowning и, наконец, удалив пользователя temp.
sudo adduser temp
sudo cp -r /home/temp /home/name
sudo chown -R name.name /home/name
sudo deluser temp
Посмотрите на команду xdg-user-dirs-update
. Он создаст каталоги Windows X по умолчанию: Desktop, Download и т. Д.
Пользователь, не имеющий каталогов по умолчанию, может запустить xdg-user-dirs-update --force
для создания каталогов. Я должен был сделать это для одной из моих учетных записей.
Я рекомендую прочитать справочную страницу перед запуском команды xdg-user-dirs-update
. Страница man для xdg-user-dir
добавляет несколько деталей.
«Спецификация базового каталога XDG» является частью спецификаций freedesktop.org.
У вас есть $
в командной строке, потому что вы используете оболочку sh
.
Оболочка с name@server
основана на оболочке bash
.
Вы должны изменить оболочку по умолчанию для вновь созданного пользователя через: usermod -s /bin/bash
.
Снова использовать usermod
, чтобы добавить домашний каталог пользователя, если его нет. usermod -d /home/username
Если у пользователя нет домашнего каталога, указанного в /etc/passwd
:
Запустите mkhomedir_helper <username>
, чтобы создать домашний каталог. mkhomedir_helper
создаст домашний каталог пользователя и скопирует материал в /etc/skel
.
Если у пользователя уже есть домашний каталог, указанный в /etc/passwd
:
Например, через usermod -d /some/directory
, mkhomedir_helper
не будет работать. Единственный способ - вручную создать домашний каталог для затронутого пользователя.
Если вы забыли использовать -d -m
, лучшим и быстрым вариантом является запуск
sudo mkhomedir_helper username
с созданием домашнего каталога, как если бы вы предоставили отсутствующие параметры.
Вот быстрый скрипт bash. Запустите с правами root sudo
. Он принимает любое количество аргументов, каждый из которых является именем пользователя, нуждающимся в домашнем каталоге. Это делает несколько предположений: ваши домашние каталоги находятся в /home
, а ваш каталог скелета - /etc/skel
. Это значения по умолчанию для Ubuntu. Вы можете скачать или wget
/ curl
этот скрипт из gist .
#!/bin/bash
if [ $# -lt 1 ]; then
echo "Syntax: $_ USER[ USER[ ...]]" >&2
exit 1
fi
exit_code=0
for user in "$@"; do
home="/home/$user"
cp -R /etc/skel "$home" && echo $'\e[32m'"Copied skeleton to: $home"$'\e[m' || ( exit_code=$?; echo $'\e[31m'"Failed to create: $home"$'\e[m' ) >&2
chown -R "$user:$user" "$home" && echo $'\e[32m'"Set owner on: $home"$'\e[m' || ( exit_code=$?; echo $'\e[31m'"Failed to set owner on: $home"$'\e[m' ) >&2
done
exit $exit_code
Я просто столкнулся с этим (Ubuntu 12.04), и я решил его, создав временного пользователя, скопировав его через каталог пользователя, его chowning и, наконец, удалив пользователя temp.
sudo adduser temp
sudo cp -r /home/temp /home/name
sudo chown -R name.name /home/name
sudo deluser temp
Посмотрите на команду xdg-user-dirs-update
. Он создаст каталоги Windows X по умолчанию: Desktop, Download и т. Д.
Пользователь, не имеющий каталогов по умолчанию, может запустить xdg-user-dirs-update --force
для создания каталогов. Я должен был сделать это для одной из моих учетных записей.
Я рекомендую прочитать справочную страницу перед запуском команды xdg-user-dirs-update
. Страница man для xdg-user-dir
добавляет несколько деталей.
«Спецификация базового каталога XDG» является частью спецификаций freedesktop.org.
Чтобы изменить значение по умолчанию для домашнего каталога нового пользователя, вы можете дать команду
sudo useradd -D --base-dir /home/new_user
. См. Useradd -D [опции] из
man useradd
У вас есть $
в командной строке, потому что вы используете оболочку sh
.
Оболочка с name@server
основана на оболочке bash
.
Вы должны изменить оболочку по умолчанию для вновь созданного пользователя через: usermod -s /bin/bash
.
Снова использовать usermod
, чтобы добавить домашний каталог пользователя, если его нет. usermod -d /home/username
Если у пользователя нет домашнего каталога, указанного в /etc/passwd
:
Запустите mkhomedir_helper <username>
, чтобы создать домашний каталог. mkhomedir_helper
создаст домашний каталог пользователя и скопирует материал в /etc/skel
.
Если у пользователя уже есть домашний каталог, указанный в /etc/passwd
:
Например, через usermod -d /some/directory
, mkhomedir_helper
не будет работать. Единственный способ - вручную создать домашний каталог для затронутого пользователя.
Если вы забыли использовать -d -m
, лучшим и быстрым вариантом является запуск
sudo mkhomedir_helper username
с созданием домашнего каталога, как если бы вы предоставили отсутствующие параметры.
Вот быстрый скрипт bash. Запустите с правами root sudo
. Он принимает любое количество аргументов, каждый из которых является именем пользователя, нуждающимся в домашнем каталоге. Это делает несколько предположений: ваши домашние каталоги находятся в /home
, а ваш каталог скелета - /etc/skel
. Это значения по умолчанию для Ubuntu. Вы можете скачать или wget
/ curl
этот скрипт из gist .
#!/bin/bash
if [ $# -lt 1 ]; then
echo "Syntax: $_ USER[ USER[ ...]]" >&2
exit 1
fi
exit_code=0
for user in "$@"; do
home="/home/$user"
cp -R /etc/skel "$home" && echo $'\e[32m'"Copied skeleton to: $home"$'\e[m' || ( exit_code=$?; echo $'\e[31m'"Failed to create: $home"$'\e[m' ) >&2
chown -R "$user:$user" "$home" && echo $'\e[32m'"Set owner on: $home"$'\e[m' || ( exit_code=$?; echo $'\e[31m'"Failed to set owner on: $home"$'\e[m' ) >&2
done
exit $exit_code
Я просто столкнулся с этим (Ubuntu 12.04), и я решил его, создав временного пользователя, скопировав его через каталог пользователя, его chowning и, наконец, удалив пользователя temp.
sudo adduser temp
sudo cp -r /home/temp /home/name
sudo chown -R name.name /home/name
sudo deluser temp
Чтобы изменить значение по умолчанию для домашнего каталога нового пользователя, вы можете дать команду
sudo useradd -D --base-dir /home/new_user
. См. Useradd -D [опции] из
man useradd
Посмотрите на команду xdg-user-dirs-update
. Он создаст каталоги Windows X по умолчанию: Desktop, Download и т. Д.
Пользователь, не имеющий каталогов по умолчанию, может запустить xdg-user-dirs-update --force
для создания каталогов. Я должен был сделать это для одной из моих учетных записей.
Я рекомендую прочитать справочную страницу перед запуском команды xdg-user-dirs-update
. Страница man для xdg-user-dir
добавляет несколько деталей.
«Спецификация базового каталога XDG» является частью спецификаций freedesktop.org.
У вас есть $
в командной строке, потому что вы используете оболочку sh
.
Оболочка с name@server
основана на оболочке bash
.
Вы должны изменить оболочку по умолчанию для вновь созданного пользователя через: usermod -s /bin/bash
.
Снова использовать usermod
, чтобы добавить домашний каталог пользователя, если его нет. usermod -d /home/username
Если у пользователя нет домашнего каталога, указанного в /etc/passwd
:
Запустите mkhomedir_helper <username>
, чтобы создать домашний каталог. mkhomedir_helper
создаст домашний каталог пользователя и скопирует материал в /etc/skel
.
Если у пользователя уже есть домашний каталог, указанный в /etc/passwd
:
Например, через usermod -d /some/directory
, mkhomedir_helper
не будет работать. Единственный способ - вручную создать домашний каталог для затронутого пользователя.
Если вы забыли использовать -d -m
, лучшим и быстрым вариантом является запуск
sudo mkhomedir_helper username
с созданием домашнего каталога, как если бы вы предоставили отсутствующие параметры.
Чтобы изменить значение по умолчанию для домашнего каталога нового пользователя, вы можете дать команду
sudo useradd -D --base-dir /home/new_user
. См. Useradd -D [опции] из
man useradd
Я просто столкнулся с этим (Ubuntu 12.04), и я решил его, создав временного пользователя, скопировав его через каталог пользователя, его chowning и, наконец, удалив пользователя temp.
sudo adduser temp
sudo cp -r /home/temp /home/name
sudo chown -R name.name /home/name
sudo deluser temp
Вот быстрый скрипт bash. Запустите с правами root sudo
. Он принимает любое количество аргументов, каждый из которых является именем пользователя, нуждающимся в домашнем каталоге. Это делает несколько предположений: ваши домашние каталоги находятся в /home
, а ваш каталог скелета - /etc/skel
. Это значения по умолчанию для Ubuntu. Вы можете скачать или wget
/ curl
этот скрипт из gist .
#!/bin/bash
if [ $# -lt 1 ]; then
echo "Syntax: $_ USER[ USER[ ...]]" >&2
exit 1
fi
exit_code=0
for user in "$@"; do
home="/home/$user"
cp -R /etc/skel "$home" && echo $'\e[32m'"Copied skeleton to: $home"$'\e[m' || ( exit_code=$?; echo $'\e[31m'"Failed to create: $home"$'\e[m' ) >&2
chown -R "$user:$user" "$home" && echo $'\e[32m'"Set owner on: $home"$'\e[m' || ( exit_code=$?; echo $'\e[31m'"Failed to set owner on: $home"$'\e[m' ) >&2
done
exit $exit_code
Если вы забыли использовать -d -m
, лучшим и быстрым вариантом является запуск
sudo mkhomedir_helper username
с созданием домашнего каталога, как если бы вы предоставили отсутствующие параметры.
У вас есть $
в командной строке, потому что вы используете оболочку sh
.
Оболочка с name@server
основана на оболочке bash
.
Вы должны изменить оболочку по умолчанию для вновь созданного пользователя через: usermod -s /bin/bash
.
Снова использовать usermod
, чтобы добавить домашний каталог пользователя, если его нет. usermod -d /home/username
Если у пользователя нет домашнего каталога, указанного в /etc/passwd
:
Запустите mkhomedir_helper <username>
, чтобы создать домашний каталог. mkhomedir_helper
создаст домашний каталог пользователя и скопирует материал в /etc/skel
.
Если у пользователя уже есть домашний каталог, указанный в /etc/passwd
:
Например, через usermod -d /some/directory
, mkhomedir_helper
не будет работать. Единственный способ - вручную создать домашний каталог для затронутого пользователя.
Вот быстрый скрипт bash. Запустите с правами root sudo
. Он принимает любое количество аргументов, каждый из которых является именем пользователя, нуждающимся в домашнем каталоге. Это делает несколько предположений: ваши домашние каталоги находятся в /home
, а ваш каталог скелета - /etc/skel
. Это значения по умолчанию для Ubuntu. Вы можете скачать или wget
/ curl
этот скрипт из gist .
#!/bin/bash
if [ $# -lt 1 ]; then
echo "Syntax: $_ USER[ USER[ ...]]" >&2
exit 1
fi
exit_code=0
for user in "$@"; do
home="/home/$user"
cp -R /etc/skel "$home" && echo $'\e[32m'"Copied skeleton to: $home"$'\e[m' || ( exit_code=$?; echo $'\e[31m'"Failed to create: $home"$'\e[m' ) >&2
chown -R "$user:$user" "$home" && echo $'\e[32m'"Set owner on: $home"$'\e[m' || ( exit_code=$?; echo $'\e[31m'"Failed to set owner on: $home"$'\e[m' ) >&2
done
exit $exit_code
У вас есть $
в командной строке, потому что вы используете оболочку sh
.
Оболочка с name@server
основана на оболочке bash
.
Вы должны изменить оболочку по умолчанию для вновь созданного пользователя через: usermod -s /bin/bash
.
Снова использовать usermod
, чтобы добавить домашний каталог пользователя, если его нет. usermod -d /home/username
Если у пользователя нет домашнего каталога, указанного в /etc/passwd
:
Запустите mkhomedir_helper <username>
, чтобы создать домашний каталог. mkhomedir_helper
создаст домашний каталог пользователя и скопирует материал в /etc/skel
.
Если у пользователя уже есть домашний каталог, указанный в /etc/passwd
:
Например, через usermod -d /some/directory
, mkhomedir_helper
не будет работать. Единственный способ - вручную создать домашний каталог для затронутого пользователя.
Посмотрите на команду xdg-user-dirs-update
. Он создаст каталоги Windows X по умолчанию: Desktop, Download и т. Д.
Пользователь, не имеющий каталогов по умолчанию, может запустить xdg-user-dirs-update --force
для создания каталогов. Я должен был сделать это для одной из моих учетных записей.
Я рекомендую прочитать справочную страницу перед запуском команды xdg-user-dirs-update
. Страница man для xdg-user-dir
добавляет несколько деталей.
«Спецификация базового каталога XDG» является частью спецификаций freedesktop.org.
Если вы забыли использовать -d -m
, лучшим и быстрым вариантом является запуск
sudo mkhomedir_helper username
с созданием домашнего каталога, как если бы вы предоставили отсутствующие параметры.
Посмотрите на команду xdg-user-dirs-update
. Он создаст каталоги Windows X по умолчанию: Desktop, Download и т. Д.
Пользователь, не имеющий каталогов по умолчанию, может запустить xdg-user-dirs-update --force
для создания каталогов. Я должен был сделать это для одной из моих учетных записей.
Я рекомендую прочитать справочную страницу перед запуском команды xdg-user-dirs-update
. Страница man для xdg-user-dir
добавляет несколько деталей.
«Спецификация базового каталога XDG» является частью спецификаций freedesktop.org.
Чтобы изменить значение по умолчанию для домашнего каталога нового пользователя, вы можете дать команду
sudo useradd -D --base-dir /home/new_user
. См. Useradd -D [опции] из
man useradd
Я просто столкнулся с этим (Ubuntu 12.04), и я решил его, создав временного пользователя, скопировав его через каталог пользователя, его chowning и, наконец, удалив пользователя temp.
sudo adduser temp
sudo cp -r /home/temp /home/name
sudo chown -R name.name /home/name
sudo deluser temp
Вот быстрый скрипт bash. Запустите с правами root sudo
. Он принимает любое количество аргументов, каждый из которых является именем пользователя, нуждающимся в домашнем каталоге. Это делает несколько предположений: ваши домашние каталоги находятся в /home
, а ваш каталог скелета - /etc/skel
. Это значения по умолчанию для Ubuntu. Вы можете скачать или wget
/ curl
этот скрипт из gist .
#!/bin/bash
if [ $# -lt 1 ]; then
echo "Syntax: $_ USER[ USER[ ...]]" >&2
exit 1
fi
exit_code=0
for user in "$@"; do
home="/home/$user"
cp -R /etc/skel "$home" && echo $'\e[32m'"Copied skeleton to: $home"$'\e[m' || ( exit_code=$?; echo $'\e[31m'"Failed to create: $home"$'\e[m' ) >&2
chown -R "$user:$user" "$home" && echo $'\e[32m'"Set owner on: $home"$'\e[m' || ( exit_code=$?; echo $'\e[31m'"Failed to set owner on: $home"$'\e[m' ) >&2
done
exit $exit_code