Как переместить домашнюю папку в linux
Перейти к содержимому

Как переместить домашнюю папку в linux

  • автор:

Как переместить домашнюю папку в linux


Next: Удаление файлов и каталогов Up: Работа с файлами Previous: Копирование файлов и каталогов Contents Index

Чтобы переместить файл в другое место или изменить его имя, используйте команду mv («move»). Она принимает два аргумента: имя файла или каталога для перемещения, а затем имя пути для перемещения. Если Вы перемещаете файл в каталог, в котором уже есть файл с таким именем, то он будет перезаписан.

Чтобы переместить файл `notes’ из текущего рабочего каталога в каталог `../play’, наберите:

$ mv notes ../play [Enter]

Если в родительском каталоге текущего каталога нет подкаталога `play’, эта команда переместит файл `notes’ в родительский каталог и переименует его в `play’.

Чтобы переместить файл или каталог, который не находится в текущем каталоге, укажите в качестве аргумента его полное имя и путь.

Чтобы переместить файл `/usr/tmp/notes’ в текущий рабочий каталог, введите:

$ mv /usr/tmp/notes . [Enter]

Чтобы переместить каталог, укажите путь к каталогу, который нужно переместить и путь к каталогу-приемнику.

Чтобы переместить каталог `work’ из текущего рабочего каталога в каталог `play’, введите:

$ mv work play [Enter]

Если каталог `play’ уже существует, mv поместит `work’ внутрь `play’ — эта команда не перезаписывает каталоги.

Переименование файла — это то же самое, что и его перемещение; просто укажите в качестве аргументов файл для переименования и его новое имя.

Чтобы переименовать файл `notes’ в `notes.old’, введите:

$ mv notes notes.old [Enter]

Alex Otwagin 2002-12-16

Форум русскоязычного сообщества Ubuntu

Страница сгенерирована за 0.049 секунд. Запросов: 23.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Как поменять домашнюю директорию для пользователя linux командой usermod

У каждого пользователя в Unix есть своя домашняя папка, предназначенная для хранения данных пользователя в месте, доступном только для него. О том, как узнать домашнюю директорию любого пользователя можно прочитать по → этой ссылке. О том, где и как создаются записи о домашнем каталоге пользователя написано в → этой статье. О том, как поменять домашнюю папку пользователя по умолчанию в Linux → по этой ссылке. Все перечисленные сведения полезны и могут помочь ручками поправить путь до домашнего каталога пользователя, однако для его смены есть удобная команда linux — usermod . То, как с её помощью быстро поменять домашнюю директорию для пользователя и рассмотрим ниже.

Помощь по команде usermod в linux

Зная название команды, лично я лезу в подсказки операционной системе по ней. Чего и всем советую. =) Данный случай не является исключением. Сперва посмотрим на те опции, которые описаны в хэлпе:

root@server:~# usermod -h Usage: usermod [options] LOGIN Options: -c, --comment COMMENT new value of the GECOS field -d, --home HOME_DIR new home directory for the user account -e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE -f, --inactive INACTIVE set password inactive after expiration to INACTIVE -g, --gid GROUP force use GROUP as new primary group -G, --groups GROUPS new list of supplementary GROUPS -a, --append append the user to the supplemental GROUPS mentioned by the -G option without removing him/her from other groups -h, --help display this help message and exit -l, --login NEW_LOGIN new value of the login name -L, --lock lock the user account -m, --move-home move contents of the home directory to the new location (use only with -d) -o, --non-unique allow using duplicate (non-unique) UID -p, --password PASSWORD use encrypted password for the new password -R, --root CHROOT_DIR directory to chroot into -s, --shell SHELL new login shell for the user account -u, --uid UID new UID for the user account -U, --unlock unlock the user account -v, --add-subuids FIRST-LAST add range of subordinate uids -V, --del-subuids FIRST-LAST remove range of subordinate uids -w, --add-subgids FIRST-LAST add range of subordinate gids -W, --del-subgids FIRST-LAST remove range of subordinate gids -Z, --selinux-user SEUSER new SELinux user mapping for the user account

Как видно, опций у команды usermod более, чем достаточно, но для текущей цели (смены домашнего каталога пользователя) понадобится опция -d . Её и рассмотрим более подробно.

Как с помощью опции -d команды usermod в линукс поменять домашнюю директорию пользователя

Рассмотрим на живом примере. Создадим нового пользователя (как это сделать → подробно тут):

root@server:~# adduser newuser

Посмотрим на запись об этом пользователе в файле /etc/passwd . Она имеет следующий вид:

root@server:~# cat /etc/passwd . newuser:x:1000:1000. /var/www/newuser:/bin/bash . 

Посмотрим содержимое этой домашней папки (она пустая):

root@server:~# ls -l /var/www/newuser total 0 root@server:~# tree /var/www/newuser /var/www/newuser 0 directories, 0 files

И теперь сменим домашнюю папку этому пользователю:

root@server:~# usermod -d /var/www/newuser2 newuser root@server:~# ls -l /var/www/newuser2 ls: cannot access '/var/www/newuser2': No such file or directory root@server:~# cat /etc/passwd . newuser:x:1000:1000. /var/www/newuser2:/bin/bash . 
  1. Командой usermod -d /var/www/newuser2 newuser прописали папку /var/www/newuser2 в качестве домашней для пользователя newuser
  2. Но директория при этом не была создана. Это видно при попытке её прочитать: ls -l /var/www/newuser2
  3. Однако, запись в файле /etc/passwd была изменена.

Можно конечно создать эту папку вручную командой mkdir (читать тут), а потом прописать ей владельца и группу командой chown (читать тут), но проще и безболезненнее воспользоваться дополнительной опцией -m команды usermod . Важно, чтобы папка пользователя содержала хоть что-нибудь в себе. Даже просто пустой файл. Тогда и только тогда, новая папка будет создана и в неё будет перенесено содержимое старой папки.

Поэтому для того, чтобы поменять домашнюю директорию для пользователя linux, нужно воспользоваться командой usermod с опцией -md. При этом в папке пользователя должны храниться какие-нибудь данные.

Формат команды переноса:

usermod -md /путь_до_новой_домашней_папки username

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! 😉

Перенос папки /home с отдельного раздела назад в корневую папку

Спросите зачем?На харде два раздела,на одном Linux OpenSuse 12.3,а на втором домашняя папка,но я хочу установить на второй Windows,но не хотелось бы терять данные и иметь две рабочие оси Везде пишут,как перенести на отдельный раздел домашнюю папку,но еще пока не встречал ни одной статье, объясняющей,как именно можно перенести обратно в корневой раздел Вся надежда на форумчан,ноутбук не мой. Буду очень благодарен тем,кто последовательно выложит все необходимые команды для терминала,Именно команды,ибо из фразы «нужно размонтировать и заново смонтировать» я не извлеку ничего полезного Заранее спасибо:3 И если оффтоп тоже извините

TheGoshka
10.07.16 14:13:38 MSK

Буду очень благодарен тем,кто последовательно выложит все необходимые команды для терминала

Для начала покажи вывод команд

lsblk lvdisplay pvdisplay vgdisplay 

anonymous
( 10.07.16 14:15:58 MSK )

mkdir -p /heroin
mv /home/* /heroin

mv /heroin /home

Reedych ★☆
( 10.07.16 14:21:43 MSK )
Ответ на: комментарий от anonymous 10.07.16 14:15:58 MSK
TheGoshka
( 10.07.16 14:31:13 MSK ) автор топика
Ответ на: комментарий от Reedych 10.07.16 14:21:43 MSK

Ненене. Надо уточнить, что делать такое надо зайдя из под рута (лучше консоль, но можно и в графику) или с загрузочного диска. Наживую переносить — не самая лучшая.

То есть, инструкция ТС. Заходишь тем или иным способом как root — в менеджере входа, либо с виртуальной консоли — потыкать Alt+Ctrl+F1..F12 и где будет консоль, ввести root и пароль. Из основного при этом надо выйти, а лучше перезагрузиться и зайти только в root.

Только после этого можно делать

После этого создаём где-нибудь в / директорию

cd / mkdir tmpdir/ 

Дальше копируем содержимое /home в неё

cp -R /home/* /tmpdir 

Потом — размонтируем /home

umount /home 

Затем перемещаем нашу содержимое нашей временной папки

mv /tmpdir/* /home 

Дальше — открываем файл /etc/fstab. Лучше всего это сделать через редактор nano

nano /etc/fstab 

Помощь по использованию будет на экране. Находим там все строки, где упоминается /home и закомментировываем (ставим в начало строки символ #) их. Это нужно, чтобы после перезагрузки система не пыталась примонтировать туда старый раздел с /home.

Ну, потом можно удалить директорию /tmpdir

rmdir /tmpdir 

Если ругается — значит в директории что-то ещё осталось, идём сюда выяснять причину. Ну и всё, перезагрузка. Если всё работает, кидаем сюда на всякий случай вывод (лучше всё же скопировать, а не картинкой) команды

cat /proc/mounts 

Если всё прошло хорошо, с освободившимся разделом можно делать, что душе угодно — например, форматировать и ставить туда Windows.

Все вопросы сюда 🙂

Falcon-peregrinus ★★★★★
( 10.07.16 14:45:16 MSK )
Последнее исправление: Falcon-peregrinus 10.07.16 14:46:54 MSK (всего исправлений: 2)

Ответ на: комментарий от Falcon-peregrinus 10.07.16 14:45:16 MSK

Спасибо за поправку

Reedych ★☆
( 10.07.16 14:51:11 MSK )
Ответ на: комментарий от TheGoshka 10.07.16 14:31:13 MSK

А просто скопировать из терминала или перенаправить в файл не вариант?

rezedent12 ☆☆☆
( 10.07.16 16:42:54 MSK )
Ответ на: комментарий от Falcon-peregrinus 10.07.16 14:45:16 MSK

Огромное спасибо за помощь))) Только возник вопрос по установке винды Полазив на разным форумам,я обнаружил,что некоторые люди предупреждают меня о том,что установщик винды грубо стирает grub,после чего пропадает Linux Что нужно сдлеать,чтобы такой ситуации не возникло у меня.Очень важно,ибо ноутбук рабочий,поэтому у меня на все есть только одна попытка)

TheGoshka
( 10.07.16 17:20:17 MSK ) автор топика
Ответ на: комментарий от TheGoshka 10.07.16 17:20:17 MSK

Линукс не пропадает, просто затирается загрузчик, ответственный за передачу управления системе. Избежать этого никак нельзя — виндовый загрузчик ничего не знает (и не хочет знать) про Linux. А вот линуховый GRUB как раз отлично видит Windows. Так что нужно перед установкой винды записать себе куда-нибудь загрузочный диск (Live-CD) или то же самое на флешку (Live-USB) и после установки Windows восстановить GRUB. Это сделать легко, инструкций по всему интернету много. Из под винды порекомендовал бы использовать для этой цели Rufus.

Если использовать Ubuntu в качестве загрузочного диска, то вот инструкция — http://help.ubuntu.ru/wiki/boot_repair . Сам не проверял, но должно работать и достаточно подробная.

Falcon-peregrinus ★★★★★
( 10.07.16 17:33:54 MSK )
Последнее исправление: Falcon-peregrinus 10.07.16 17:34:42 MSK (всего исправлений: 1)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *