Ubuntu как изменить домашнюю папку пользователя

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

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

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

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

[email protected]:~# 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 в линукс поменять домашнюю директорию пользователя

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

[email protected]:~# adduser newuser

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

[email protected]:~# cat /etc/passwd
...
newuser:x:1000:1000:,,,:/var/www/newuser:/bin/bash
...

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

[email protected]:~# ls -l /var/www/newuser
total 0
[email protected]:~# tree /var/www/newuser
/var/www/newuser

0 directories, 0 files

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

[email protected]:~# usermod -d /var/www/newuser2 newuser
[email protected]:~# ls -l /var/www/newuser2
ls: cannot access '/var/www/newuser2': No such file or directory
[email protected]:~# 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

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Выберите, то, чем пользуетесь чаще всего:

Управление пользователями системы и их основными и дополнительными группами – одна из важных задач при администрировании Linux. С ней отлично справляется встроенная команда usermod.

В этой статье будет рассмотрена команда usermod Linux. Сначала мы разберем её синтаксис и опции, а затем перейдем к конкретным примерам её использования, которые могут оказаться для вас полезными.

Утилита usermod нужна для управления пользователями Linux, их основными и дополнительными группами. При ее выполнении в терминале нужно указать опции и конкретного пользователя, к которому применяются изменения. Синтаксис здесь следующий:

$ usermod опции имя_пользователя

Рассмотрим опции, которые будут использоваться в этой статье:

  • a, —append – добавить пользователя в одну или несколько дополнительных групп. Опция будет работать только вместе с опцией -G.
  • b, —badnames – разрешить использование имен, которые не соответствуют стандартам.
  • d, —home – указать новое местоположение домашнего каталога пользователя. При использовании опции -m содержимое текущего домашнего каталога будет перемещено на новое место.
  • e, —expiredate – указать дату, при наступлении которой учетная запись будет отключена. Дата вводится в формате ГГГГ-ММ-ДД. Если использовать эту опцию без указания даты, то отключение пользователя будет отменено.
  • f, —inactive – установить количество дней для блокировки пользователя, которое должно пройти после устаревания пароля. При значении -1 опция блокировки отключается, а при значении 0 блокировка случится сразу же после устаревания.
  • g, —gid – выбрать новую основную группу для пользователя и для файлов в его домашнем каталоге. Нужно задать имя или номер новой группы.
  • G, —groups – указать список дополнительных групп, в которые должен входить пользователь. Между собой группы разделяются запятой. Если пользователь входит в дополнительную группу, которая не была указана в списке, то он будет из нее удалён. Но при использовании опции -a можно добавлять новые дополнительные группы, не удаляя старые.
  • l, —login – изменить имя пользователя на новое. Данная опция не затрагивает никакие другие данные. А значит, название домашнего каталога и почты придется изменять вручную, чтобы они совпадали с новым именем пользователя.
  • L, —lock – заблокировать пароль пользователя. Эта опция помещает символ ! (восклицательный знак) перед паролем в зашифрованном виде, отключая его. Данную опцию нельзя использовать с -p и -U.
  • m, —move-home – изменить местоположение домашнего каталога пользователя. Опция будет работать только вместе с -d. Утилита попытается обновить права собственности на файлы и скопировать режимы, ACL и расширенные атрибуты.
  • o, —non-unique – разрешить заменить идентификационный номер пользователя на не уникальное значение. Работает в паре с опцией -u.
  • p, —password – изменить пароль в зашифрованном виде.
  • R, —root – выполнить chroot в указанный каталог и использовать его вместо корневого каталога / с хранящимися в нем конфигурационными файлами.
  • s, —shell – указать новую командную оболочку shell для пользователя. При использовании опции -s с пустым значением будет выбрана оболочка по умолчанию.
  • u, —uid – изменить параметр UID (числовой идентификатор пользователя). Данные изменения автоматически применятся к почтовому ящику и содержимому домашнего каталога. Для остальных файлов UID придется изменять вручную.
  • U, —unlock – разблокировать пароль пользователя. Данная опция убирает символ ! (восклицательный знак) перед паролем в зашифрованном виде, разрешая использовать его для входа. Не сработает с -p и -L.

Все доступные опции с исходным описанием для данной утилиты вы можете просмотреть в терминале, выполнив следующую команду:

man usermod

На этом вводная часть статьи завершена. Теперь самое время рассмотреть конкретные примеры использования данной утилиты для администрирования группами в Linux.

Примеры использования usermod

Разберем типовые задачи, которые могут пригодиться вам для управления учетными записями на компьютере или ноутбуке.

1. Изменить основную группу

Посмотреть список всех групп, доступных в системе, можно в файле /etc/group, например, с помощью редактора vi в терминале:

vi /etc/group

4GoNNU0yuQqGqFVGHDANsgB1l2Iwg7dGjiNPxubdRySJv4f2u+QxdzT3bwAAAAASUVORK5CYII=

Для смены основной группы нужна опция -g. Синтаксис здесь следующий:

$ usermod -g имя_основной_группы имя_пользователя

Задача – изменить основную группу для пользователя test_user на test_group (GID – 1001). Так будет выглядеть команда в нашем случае:

sudo usermod -g test_group test_user

H4hKU02jTK6iEVqFAQdsgxxg3YUo7NCtgdP4s7FZxyFp4v8BscBkSSzdx5UAAAAASUVORK5CYII=

Затем можно проверить что изменения применились с помощью команды id. В результатах вывода команды id нам интересен пункт GID. А еще вместо названия группы можно использовать ее идентификатор GID (1001 в нашем случае):

sudo usermod -g 1001 test_user

2. Добавить в группу

Допустим пользователь gregory2 обладает ограниченными правами, ведь используется в редких случаях для удаленного управления системой. Его нужно включить в группу plugdev, чтобы иметь полный доступ ко внешним устройствам, например, подключенным по USB жестким дискам. Сначала проверим его текущие группы командой:

groups gregory2

wdKYcFWIGzA8gAAAABJRU5ErkJggg==

С этой задачей поможет параметр —G. Но его обязательно нужно использовать вместе с -a, чтобы добавить новую группу, не удаляя старые:

sudo usermod -a -G plugdev gregory2

B6LSVNMok6tohFZhwAHbIAdYdyEKO3Rr4DT+bGzWcUia+H8hovOAwqigzQAAAABJRU5ErkJggg==

Более подробная инструкция по добавлению пользователя в группу с помощью команды usermod описана в отдельной статье. Теперь вы знаете как добавить пользователя в группу usermod.

3. Удалить из группы

Дальше давайте рассмотрим как удалить пользователя из группы usermod. Эта утилита не слишком хорошо справляется с удалением пользователя из групп, ведь нужной опции в ней просто нет. Но с помощью -G можно указать, в каких дополнительных группах пользователь останется, чтобы удалить все остальные.

В качестве примера возьмем уже упомянутую учетную запись gregory2. Задача – оставить ее только в группе disk, убрав cdrom и plugdev. В таком случае нужно для usermod задать опцию -G и ту группу, которая останется:

sudo usermod -G disk gregory2

B7uvyGWtrOI5AAAAAElFTkSuQmCC

А если вы хотите удалить все дополнительные группы для конкретного пользователя, передайте опции -G пустое значение:

sudo usermod -G "" gregory2

H4hKU02jTK6iEVqFAQdsgxxg3YUo7NCtgdP4s7FZxyFp4v8HnuCgSRoATqQAAAAASUVORK5CYII=

В подробностях удаление пользователя из группы мы рассказывали в отдельной статье. Помимо утилиты usermod, в ней разобрана работа с gpasswd и deluser.

4. Изменить домашнюю папку

Чтобы увидеть текущий адрес домашней папки конкретно пользователя, посмотрите содержимое файла /etc/passwd, например, с помощью утилиты grep:

grep gregory2 /etc/passwd

Конкретный каталог выводится с первым символом / (косая черта).

H4hKU02jTK6iEVqFAQdsgxxg3YUo7NCtgdP4s7FZxyFp4v8B4nMtmlyj3noAAAAASUVORK5CYII=

Здесь стоит отдельно рассмотреть два сценария: выбор другого местоположения для домашнего каталога и перемещение текущего домашнего каталога со всем его содержимым на новое место.

Если вы хотите просто изменить домашнюю папку, то воспользуйтесь опцией -d, указав новый адрес. Утилита автоматически создаст папку, если ее нет. В качестве примера возьмем путь /home/new-dir:

sudo usermod -d /home/new-dir gregory2

dfHwAAAABJRU5ErkJggg==

Проверим изменения с помощью уже упомянутой утилиты grep:

grep gregory2 /etc/passwd

OkXAUAAAAASUVORK5CYII=

А если вы хотите переместить домашнюю папку, сохранив все содержимое, то дополните опцию -d опцией -m, опять же, указав новый путь. В качестве примера возьмем путь /home/gregory-new:

sudo usermod -m -d /home/gregory-new gregory2

wAd9tIxalhdDgAAAABJRU5ErkJggg==

Проверить местоположение новой папки можно с помощью grep, а убедиться в копировании содержимого – через файловый менеджер Linux.

5. Изменить оболочку

Просмотреть весь список доступных в системе оболочек получится в файле /etc/shells. Откройте его в редакторе vi:

vi /etc/shells

ARmzRxu5ehshAAAAAElFTkSuQmCC

Просмотреть оболочку конкретного пользователя можно в уже упомянутом файле /etc/passwd:

grep gregory2 /etc/passwd

Нужная информация идет после домашнего каталога.

AMl1XT+kdYSCAAAAAElFTkSuQmCC

Для того чтобы поменять оболочку shell используйте опцию -s. В качестве примера возьмем оболочку /usr/bin/dash:

sudo usermod -s /usr/bin/dash gregory2

4GoNNU0yuQqGqFVGHDANsgB1l2Iwg7dGjiNPxubdRySJv4Paj2jffvg4sMAAAAASUVORK5CYII=

6. Изменить UID

UID – числовой идентификатор пользователя. Для его просмотра воспользуйтесь утилитой id:

id gregory2

FnUAAAAASUVORK5CYII=

Для изменения этого значения нужна опция -u. При этом новый номер должен быть неотрицательным (число 0 допустимо) и уникальным. В качестве примера возьмем 9138:

sudo usermod -u 9138 gregory2

D0SlqaZRJlfRCK3CgAO2QQ6w7kIUdujWwGn82dis45A08T8AVz093PVasZ4AAAAASUVORK5CYII=

Вы можете задать неуникальный номер UID, добавив к исходной команде опцию —o. В качестве примера возьмем идентификатор 0, который по умолчанию закреплен за группой root:

sudo usermod -o -u 0 gregory2

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

7. Изменить логин

Для изменения логина (имени) пользователя предназначена опция -l. Но при этом она не затрагивает название домашнего каталога. Если вас это устраивает, то можете воспользоваться ей. Синтаксис:

$ sudo usermod -l новое_имя старое_имя

Вот как это выглядит с пользователем gregory2, который нужно переименовать в gregory3:

sudo usermod -l gregory3 gregory2

z+KPXIIfiygmAAAAABJRU5ErkJggg==

Ну а еще вы можете использовать эту команду вместе с перенесением домашней папки, например, в /home/gregory3:

sudo usermod -l gregory3 -m -d /home/gregory3 gregory2

+4gDCrZi5p0AAAAASUVORK5CYII=

8. Изменить пароль

Опция —password предназначена для изменения пароля в зашифрованном виде. А значит, так просто ей воспользоваться не получится. Необходимо добавить к ней команду openssl passwd для шифрования пароля. Для того чтобы изменить пароль на xz3 выполните:

sudo usermod --password $(openssl passwd -6 'xz3') gregory

В результате пароль изменится сразу же после ее выполнения.

9. Заблокировать пользователя

Для блокировки пользователя пригодится опция -L, которая блокирует вход по паролю:

sudo usermod -L gregory2

При использовании этой опции перед паролем пользователя в файле /etc/shadow добавляется восклицательный знак и пользователь не сможет больше войти в систему по паролю. Однако, другие способы входа ещё доступны. Для полной блокировки учетной записи к команде нужно добавить опцию —expiredate со значением 1:

sudo usermod --expiredate 1 -L gregory2

Для отмены блокировки в таком случае сработает команда с опциями -U и -e с пустым значением:

sudo usermod --expiredate "" -U gregory2

А еще с помощью —expiredate можно указать точную дату для блокировки в формате ГГГГ-ММ-ДД. Вот как будет выглядеть команда для 28 января 2023 года:

sudo usermod --expiredate 2023-01-28 gregory2

Посмотреть срок действия учетной записи получится через утилиту chage с опцией -l:

sudo chage -l gregory2

Выводы

Команда usermod linux позволяет достаточно удобно управлять группами пользователей, а также менять информацию о нём. Ну а если вы хотите более подробно разобраться с самими группами и их устройством в различных дистрибутивах Linux, ознакомьтесь с этим материалом. В нем детально рассмотрена эта тема, место хранения файла с группами и другая полезная информация.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

usermod — это утилита командной строки, позволяющая изменять данные для входа пользователя.

В этой статье рассказывается, как использовать команду usermod для добавления пользователя в группу, изменения оболочки пользователя, имени входа, домашнего каталога и т.д.

Синтаксис команды usermod имеет следующий вид:

usermod [options] USER

Только root или пользователи с sudo доступом могут вызывать usermod и изменять учетную запись пользователя. В случае успеха команда не выводит никаких результатов.

Добавить пользователя в группу

Наиболее типичный вариант использования usermod — добавление пользователя в группу.

Чтобы добавить существующего пользователя во вторичную группу, используйте параметры -a -G после имени группы и имени пользователя:

usermod -a -G GROUP USER

Если вы хотите добавить пользователя сразу в несколько групп, укажите группы после -G параметра, разделенные, (запятыми), без пробелов.

Например, чтобы добавить пользователя linuxizeв gamesгруппу, вы должны выполнить следующую команду:

sudo usermod -a -G games linuxize

Всегда используйте опцию -a (добавить) при добавлении пользователя в новую группу. Если вы не укажете этот параметр, пользователь будет удален из групп, не перечисленных после -G параметра.

Если пользователя или группы не существует, команда предупредит вас.

Изменить основную группу пользователя

Чтобы изменить основную группу пользователя, вызовите команду usermod с помощью параметра -g, следующего за именем группы и именем пользователя:

sudo usermod -g GROUP USER

В следующем примере мы меняем основную группу пользователя linuxize на developers:

usermod -g developers linuxize

Каждый пользователь может принадлежать ровно к одной основной группе и нулю или более вторичных групп.

Изменение информации о пользователе

Чтобы изменить информацию GECOS (полное имя пользователя), запустите команду с параметром -c, за которым следует новый комментарий и имя пользователя:

usermod -c "GECOS Comment" USER

Вот пример, показывающий, как добавить дополнительную информацию пользователю linuxize:

usermod -c "Test User" linuxize

Эта информация хранится в файле /etc/passwd.

Изменение домашнего каталога пользователя

В большинстве систем Linux домашние каталоги пользователей названы по имени пользователя и создаются в каталоге /home.

Если по какой-то причине вы хотите изменить домашний каталог пользователя, вызовите usermodкоманду, указав опцию -d, указав абсолютный путь к новому домашнему каталогу и имя пользователя:

usermod -d HOME_DIR USER

По умолчанию команда не перемещает содержимое домашнего каталога пользователя в новый. Чтобы переместить содержимое, используйте опцию -m. Если новый каталог еще не существует, он создается:

usermod -d HOME_DIR -m USER

Вот пример, показывающий, как изменить домашний каталог пользователя www-data на /var/www:

usermod -d /var/www www-data

Изменение пользовательской оболочки по умолчанию

Оболочка по умолчанию — это оболочка, которая запускается после входа в систему. По умолчанию в большинстве систем Linux в качестве оболочки по умолчанию используется Bash Shell.

Чтобы изменить оболочку пользователя по умолчанию, запустите команду с параметром -s, следующим за абсолютным путем оболочки и именем пользователя:

usermod -s SHELL USER

В приведенном ниже примере мы меняем оболочку пользователя на Zsh:

sudo usermod -s /usr/bin/zsh linuxize

Вы можете узнать, какие оболочки доступны в вашей системе, просмотрев /etc/shells содержимое файла.

Изменение UID пользователя

UID (идентификатор пользователя) — это номер, присвоенный каждому пользователю. Он используется операционной системой для обозначения пользователя.

Чтобы изменить UID пользователя, вызовите команду с -uпараметром, следующим за новым UID и именем пользователя:

usermod -u UID USER

В приведенном ниже примере показано, как изменить номер «UID» на «1050»:

sudo usermod -u 1050 linuxize

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

Изменение имени пользователя

Хотя не очень часто, иногда вам может потребоваться изменить имя существующего пользователя. Параметр -l используется для изменения имени пользователя:

usermod -l NEW_USER USER

В приведенном ниже примере мы переименование пользователя linuxizeк lisaна «1050»:

sudo usermod -l linuxize lisa

При изменении имени пользователя вы также можете изменить домашний каталог пользователя, чтобы отразить новое имя пользователя.

Установка даты истечения срока действия пользователя

Дата истечения срока — это дата, когда учетная запись пользователя будет отключена. Чтобы установить дату истечения срока действия пользователя, используйте опцию -e:

sudo usermod -e DATE USER

Срок годности должен быть установлен в формате YYYY-MM-DD.

Например, чтобы отключить пользователя linuxize на 2022-02-21, вы бы выполнить следующую команду:

sudo usermod -e "2022-02-21" linuxize

Чтобы отключить истечение срока действия учетной записи, установите пустую дату истечения срока действия:

sudo usermod -e "" linuxize

Используйте chage команду -l, чтобы просмотреть дату истечения срока действия пользователя:

sudo chage -l linuxize
Last password change : Jul 24, 2018
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

Срок годности хранится в /etc/shadow файле.

Блокировка и разблокировка учетной записи пользователя

Опция -L позволяет заблокировать учетную запись пользователя:

usermod -L USER

Команды вставят восклицательный знак (!) перед зашифрованным паролем. Если поле пароля в /etc/shadow файле содержит восклицательный знак, пользователь не сможет войти в систему, используя аутентификацию по паролю. Другие методы входа в систему, такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены. Если вы хотите заблокировать учетную запись и отключить все методы входа в систему, вам также необходимо установить дату истечения срока действия равной 1.

В следующих примерах показано, как заблокировать пользователя linuxize:

sudo usermod -L linuxize
sudo usermod -L -e 1 linuxize

Чтобы разблокировать пользователя, запустите usermodс -Uопцией:

usermod -U USER

Заключение

Мы показали вам, как использовать команду usermod для установки информации об учетной записи пользователя.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

I am currently logged in into a CentOS server and I would like to change my home directory from /home/myuserName/ to /var/www/html/

I tried the below command :

> sudo usermod -d /var/www/html myuserName

But this gives me an error:

usermod: user myUserName is currently logged in

Jeff Schaller's user avatar

Jeff Schaller

65.2k34 gold badges106 silver badges240 bronze badges

asked Feb 4, 2016 at 8:05

Mohan's user avatar

2

short answer : you can’t.

long answer:

HOME dir is set in /etc/passwd, 6th field. It is read upon login; your shell is started with this home dir.

The proper way to change home dir for joe is :

  • have joe log off.
  • use usermod -d /new/home joe to change home dir for subsequent session.

Once session is run, you must do two things:

  • edit $HOME to change home dir for session (to be repeated on all active session).
  • use sudo vipw to edit home dir for next session

Also, be aware you might have an issue with permissions/ownership on /var/www/html.

Jeff Schaller's user avatar

Jeff Schaller

65.2k34 gold badges106 silver badges240 bronze badges

answered Feb 4, 2016 at 9:27

Archemar's user avatar

ArchemarArchemar

30.6k18 gold badges69 silver badges104 bronze badges

3

You need to edit the /etc/passwd file to change home directory of users that are currently logged in.

Edit the /etc/passwd with sudo vipw and change home directory of the user.

vipw highly recommended other than vim or other editors since vipw will set lock to prevent any data corruption.

answered Feb 4, 2016 at 8:33

jijinp's user avatar

jijinpjijinp

1,3419 silver badges10 bronze badges

The usermod command won’t work if you’re logged in with the user you are trying to make changes on.

From the manual page on usermod it says:

CAVEATS
usermod will not allow you to change the name of a user who is logged in. You must make certain that the named user is not executing
any processes when this command is being executed if the user’s
numerical
user ID is being changed. You must change the owner of any crontab files manually. You must change the owner of any at jobs
manually. You must make any changes involving NIS on the NIS server.

Try logging in with a different user and running the command again.

If that isn’t possible then you can manually edit the /etc/passwd file (which is actually what the usermod command is doing). If you do that make sure you back the file up in case you inadvertently do something silly.

Jeff Schaller's user avatar

Jeff Schaller

65.2k34 gold badges106 silver badges240 bronze badges

answered Feb 4, 2016 at 8:47

MattM's user avatar

MattMMattM

1031 silver badge10 bronze badges

A couple possible workarounds, depending on what you’re hoping to solve:

Option 1. Add HOME=/var/www/html to your .bashrc

Option 2. Rename /home/myusername and then create a symlink to the desired directory.

mv /home/myusername /home/myusername-old
ln -s /var/www/html /home/myusername

Archemar's user avatar

Archemar

30.6k18 gold badges69 silver badges104 bronze badges

answered Nov 9, 2016 at 0:10

Dax Kerchner's user avatar

1

You can only do this temporarily. This means that every time you login as that user you have to run this one command:

export HOME=/var/www/html

This way, you can make most applications think that your home directory is whatever location you use above.

~ will also start to point to /var/www/html.

The applications this worked with for me were NPM and Maven.

answered Jan 11, 2018 at 11:54

Molten Ice's user avatar

I am currently logged in into a CentOS server and I would like to change my home directory from /home/myuserName/ to /var/www/html/

I tried the below command :

> sudo usermod -d /var/www/html myuserName

But this gives me an error:

usermod: user myUserName is currently logged in

Jeff Schaller's user avatar

Jeff Schaller

65.2k34 gold badges106 silver badges240 bronze badges

asked Feb 4, 2016 at 8:05

Mohan's user avatar

2

short answer : you can’t.

long answer:

HOME dir is set in /etc/passwd, 6th field. It is read upon login; your shell is started with this home dir.

The proper way to change home dir for joe is :

  • have joe log off.
  • use usermod -d /new/home joe to change home dir for subsequent session.

Once session is run, you must do two things:

  • edit $HOME to change home dir for session (to be repeated on all active session).
  • use sudo vipw to edit home dir for next session

Also, be aware you might have an issue with permissions/ownership on /var/www/html.

Jeff Schaller's user avatar

Jeff Schaller

65.2k34 gold badges106 silver badges240 bronze badges

answered Feb 4, 2016 at 9:27

Archemar's user avatar

ArchemarArchemar

30.6k18 gold badges69 silver badges104 bronze badges

3

You need to edit the /etc/passwd file to change home directory of users that are currently logged in.

Edit the /etc/passwd with sudo vipw and change home directory of the user.

vipw highly recommended other than vim or other editors since vipw will set lock to prevent any data corruption.

answered Feb 4, 2016 at 8:33

jijinp's user avatar

jijinpjijinp

1,3419 silver badges10 bronze badges

The usermod command won’t work if you’re logged in with the user you are trying to make changes on.

From the manual page on usermod it says:

CAVEATS
usermod will not allow you to change the name of a user who is logged in. You must make certain that the named user is not executing
any processes when this command is being executed if the user’s
numerical
user ID is being changed. You must change the owner of any crontab files manually. You must change the owner of any at jobs
manually. You must make any changes involving NIS on the NIS server.

Try logging in with a different user and running the command again.

If that isn’t possible then you can manually edit the /etc/passwd file (which is actually what the usermod command is doing). If you do that make sure you back the file up in case you inadvertently do something silly.

Jeff Schaller's user avatar

Jeff Schaller

65.2k34 gold badges106 silver badges240 bronze badges

answered Feb 4, 2016 at 8:47

MattM's user avatar

MattMMattM

1031 silver badge10 bronze badges

A couple possible workarounds, depending on what you’re hoping to solve:

Option 1. Add HOME=/var/www/html to your .bashrc

Option 2. Rename /home/myusername and then create a symlink to the desired directory.

mv /home/myusername /home/myusername-old
ln -s /var/www/html /home/myusername

Archemar's user avatar

Archemar

30.6k18 gold badges69 silver badges104 bronze badges

answered Nov 9, 2016 at 0:10

Dax Kerchner's user avatar

1

You can only do this temporarily. This means that every time you login as that user you have to run this one command:

export HOME=/var/www/html

This way, you can make most applications think that your home directory is whatever location you use above.

~ will also start to point to /var/www/html.

The applications this worked with for me were NPM and Maven.

answered Jan 11, 2018 at 11:54

Molten Ice's user avatar

Чтобы изменить каталог по умолчанию

  1. Откройте файл .bashrc в текстовом редакторе, введя команду: gedit .bashrc.
  2. Отредактируйте этот файл, добавив свою команду в последнюю очередь, например: cd ~ / YourDirectoryName.
  3. Сохраните файл и перезапустите терминал.

Как изменить рабочий каталог по умолчанию в терминале Linux?

Как изменить каталог в терминале Linux

  1. Чтобы немедленно вернуться в домашний каталог, используйте cd ~ OR cd.
  2. Чтобы перейти в корневой каталог файловой системы Linux, используйте cd /.
  3. Чтобы перейти в каталог пользователя root, запустите cd / root / как пользователь root.
  4. Для перехода на один уровень вверх по каталогу используйте cd ..
  5. Чтобы вернуться в предыдущий каталог, используйте cd —

9 февраля. 2021 г.

Как изменить рабочий каталог в терминале?

Чтобы изменить текущий рабочий каталог, вы можете использовать команду «cd» (где «cd» означает «изменить каталог»). Например, чтобы переместить один каталог вверх (в родительскую папку текущей папки), вы можете просто вызвать: $ cd ..

Как изменить каталог по умолчанию?

  1. В меню «Инструменты» выберите «Параметры».
  2. Щелкните вкладку Directoriestab.
  3. В разделе «Локальная домашняя папка по умолчанию» нажмите «Обзор» и выберите каталог ПК, который вы хотите установить по умолчанию.
  4. Нажмите кнопку ОК.

Какой домашний каталог по умолчанию в Linux?

Домашний каталог по умолчанию для каждой операционной системы

Операционная система Path Переменная среды
Unix на основе /дом/ $ HOME
BSD/Linux (FHS) /дом/
SunOS / Солярис / экспорт / домой /
MacOS / Пользователи /

Как мне найти домашний каталог в Linux?

home »было бы самым простым способом получить домашний каталог текущего пользователя. Чтобы получить произвольный домашний каталог пользователя, потребуется немного тонкости с командной строкой: String [] command = {«/ bin / sh», «-c», «echo ~ root»}; // подставляем желаемое имя пользователя Process outsideProcess = rt. exec (команда); externalProcess.

Как мне получить текущий каталог в терминале?

Чтобы увидеть их в терминале, вы используете команду «ls», которая используется для вывода списка файлов и каталогов. Итак, когда я набираю «ls» и нажимаю «Enter», мы видим те же папки, что и в окне Finder.

Как мне получить root права в Linux?

Команды для файлов и каталогов

  1. Чтобы перейти в корневой каталог, используйте «cd /»
  2. Чтобы перейти в домашний каталог, используйте «cd» или «cd ~».
  3. Для перехода на один уровень вверх по каталогу используйте «cd ..»
  4. Для перехода к предыдущему каталогу (или назад) используйте «cd -»

2 юл. 2016 г.

Как изменить домашний каталог в Linux?

Изменить каталог по умолчанию для пользователя в системе Linux

Вы можете использовать команду usermod, чтобы изменить домашний каталог по умолчанию для пользователя. Эта команда редактирует файл / etc / passwd.

Как вы перемещаете файлы в терминале?

Перемещение файлов

Чтобы переместить файлы, используйте команду mv (man mv), которая похожа на команду cp, за исключением того, что с mv файл физически перемещается из одного места в другое, а не дублируется, как с cp. Общие параметры, доступные с mv, включают: -i — интерактивный.

Как изменить каталог в bash?

когда вы напишете «p» в командной строке, это изменит каталог. Если вы запустите сценарий bash, он будет работать в своей текущей среде или в среде своих дочерних элементов, а не в родительской среде.

Как мне перейти в другой каталог в командной строке?

Чтобы получить доступ к другому диску, введите букву диска, а затем «:». Например, если вы хотите изменить диск с «C:» на «D:», вы должны ввести «d:» и затем нажать Enter на клавиатуре. Чтобы изменить диск и каталог одновременно, используйте команду cd, за которой следует переключатель «/ d».

Как изменить командную строку по умолчанию?

Установить глобальный размер и положение окна командной строки по умолчанию

  1. Откройте окно командной строки, запустив cmd.exe из диалогового окна «Начать выполнение». В Windows 8 и Windows 10 вы можете щелкнуть правой кнопкой мыши «Пуск» и выбрать «Командная строка». …
  2. Щелкните правой кнопкой мыши строку заголовка командной строки и выберите Параметры по умолчанию.

Как изменить значение по умолчанию для открытия с помощью?

В последней версии стандартного Android вам нужно открыть приложение «Настройки», затем выбрать «Приложения и уведомления», затем «Дополнительно», а затем «Приложения по умолчанию». Перечислены все доступные категории, такие как браузер и SMS. Чтобы изменить значение по умолчанию, просто нажмите на категорию и сделайте новый выбор.

Как изменить диск по умолчанию в командной строке?

Как: изменить путь по умолчанию в командной строке

  1. Шаг 1. Откройте расположение командной строки. На начальном экране / меню введите cmd, щелкните его правой кнопкой мыши и выберите «Открыть расположение файла».
  2. Шаг 2. Откройте свойства командной строки и измените свойство «Начать с».

21 окт. 2015 г.

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

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

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

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

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

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

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

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

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

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

  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. При этом в папке пользователя должны храниться какие-нибудь данные.

Источник

Пользователи и группы в linux. Добавление удаление редактирование пользователей

Системы, обеспечивающие многопользовательский доступ, будь то операционная система ОС, программное обеспечение (ПО), система управления контентом (CMS), очень важно иметь инструментарий для надёжного управления пользователями (их аккаунтами или учётными записями, пользовательскими конфигурациями, домашними каталогами и т. д.), а также для организации и управления самим пользовательским доступом. В таких случаях грамотное и продуманное управление пользователями (точнее, их учётными записями) является ключевым аспектом, от которого зависят безопасность, стабильность и, как следствие — надёжность всей системы. В современных дистрибутивах Linux имеются автоматизированные системы управления пользователями с наглядным графическим пользовательским интерфейсом (GUI), что позволяет быстро и удобно выполнять рутинные (как оказывается на самом деле) мероприятия по управлению пользователями и конфигурации их учётных записей. Однако, очень важно знать и понимать как и какие на самом деле процессы и изменения происходят в самой системе во время управления пользователями.

Добавление пользователей в Linux

Для добавления в систему нового пользователя с именем John, следует просто выполнить команду:

В результате будет создана следующая запись в файле /etc/passwd:

Однако, команда useradd располагает куда большими возможностями, например:

Эта команда добавит в систему пользователя с полным именем «John Silver», регистрационным именем «john». Включив его в основную группу «pirates», а также добавит его в ещё одну дополнительную группу «john» и назначит ему домашний каталог по адресу /home/pirates/john. В результате, соответствующая запись в файле /etc/passwd будет примерно такой:

Команда useradd автоматически создаёт домашний каталог пользователя, если он ещё не создан. A также копирует в него файлы из /etc/skel/.

Полный список параметров useradd

Использование: useradd [параметры] ПОЛЬЗОВАТЕЛЬ
useradd -D
useradd -D [параметры]

Параметры:
-b, —base-dir БАЗ_КАТ базовый каталог для домашнего каталога новой
учётной записи
-c, —comment КОММЕНТАРИЙ поле GECOS новой учётной записи
-d, —home-dir ДОМ_КАТ домашний каталог новой учётной записи
-D, —defaults показать или изменить настройки
по умолчанию для useradd
-e, —expiredate ДАТА_УСТ дата устаревания новой учётной записи
-f, —inactive НЕАКТИВНОСТЬ период неактивности пароля новой учётной записи
-g, —gid ГРУППА имя или ID первичной группы новой
учётной записи
-G, —groups ГРУППЫ список дополнительных групп новой
учётной записи
-k, —skel КАБ_ШАБ использовать альтернативный каталог с шаблонами
-K, —key КЛЮЧ=ЗНАЧЕНИЕ заменить значение по умолчанию
из /etc/login.defs
-l, —no-log-init не добавлять пользователя в базы данных lastlog и
faillog
-m, —create-home создать домашний каталог пользователя
-M, —no-create-home не создавать домашний каталог пользователя
-N, —no-user-group не создавать группу с тем же именем что и у
пользователя
-o, —non-unique разрешить создание пользователей с
повторяющимися (не уникальными) UID
-p, —password ПАРОЛЬ зашифрованный пароль новой учётной записи
-r, —system создать системную учётную запись
-R, —root КАТ_CHROOT каталог, в который выполняется chroot
-s, —shell ОБОЛОЧКА регистрационная оболочка новой
учётной записи
-u, —uid UID пользовательский ID новой учётной записи
-U, —user-group создать группу с тем же именем что и у
пользователя
-Z, —selinux-user SEUSER использовать указанного SEUSER для
пользовательского сопоставления SELinux

Создание и назначение домашнего каталога пользователю

Обычно домашний каталог создается автоматически при добавлении пользователя в систему. Но бывают случаи когда по каким либо причинам домашний каталог не создается. А затем появляется необходимость создать его. Для создания домашнего каталога пользователя используется стандартная команда mkdir. После этого нужно скопировать необходимые конфигурационные скрипты в домашний каталог (для организации рабочей среды пользователя), далее, с помощью команд chown и chmod задать владельца и режимы доступа к каталогу и его содержимому. Это лучше сделать после того как все конфигурационные файлы были скопированы в целевой каталог. Например:

Как видно, файлы конфигурации были скопированы из каталога /etc/skel/ – именно здесь хранятся примеры конфигураций запуска, которые можно отредактировать так, как это необходимо. Кстати, модифицирование копии файлов из каталога /etc/skel/ следует хранить в каталоге usr/local/etc/skel. При задании владельца домашнего каталога необходимо следить за тем, чтобы (в случае неаккуратного использования команды chown) пользователь не стал владельцем псевдокаталога «..», т. е. каталог, уровнем выше, который часто представляет собой каталог /home, что по соображениям безопасности недопустимо.

Создание пароля для пользователя

В целях безопасности для учётной записи обязательно должен существовать надёжный пароль. Который следует задать сразу же после создания учётной записи пользователя:

Например, для пользователя jonh:

Проверка учётной записи

Перед тем, как передать новому пользователю реквизиты и начальный пароль для входа в свою учётную запись, её необходимо проверить. Для этого нужно завершить текущий сеанс. И войти в систему под именем нового пользователя (учётную запись которого необходимо проверить). И последовательно выполнить следующие команды:

Первая выведет домашний каталог для текущего пользователя, вторая список всех (в том числе и скрытых) файлов и подкаталогов в домашнем каталоге с указанием их владельца и режимов доступа.

Управление учётными записями

Как уже ранее отмечалось, для управления пользователями в Linux-системах существуют наборы специализированных утилит для добавления, редактирования и удаления учётных записей (пользователей) — useradd, usermod и userdel. Они выполняют предписанный порядок действий для достижения конечной цели — например, в случае с добавлением нового пользователя, команда useradd производит, соответственно, весь вышеописанный «комплекс мероприятий». Каждую из этих утилит можно гибко настроить с помощью конфигурационных файлов, чем, кстати, очень активно пользуются разработчики дистрибутивов Linux. Ведь в разных Linux-системах работа этих утилит незначительно, но отличается, хотя утилиты, по сути, идентичные. Ниже приводится таблица, показывающая команды и файлы конфигурации для управления пользователями для некоторых систем на примере утилиты useradd:

Система Команды Файлы конфигурации Комментарий
Ubuntu useradd /etc/login.defs
adduser /etc/default/useradd Perl-версия
/etc/adduser.conf
SUSE useradd /etc/login.defs
/etc/default/useradd
/etc/default/passwd
/usr/sbin/useradd.local Локальные настройки
/usr/sbin/userdel.local Локальные настройки
/usr/sbin/userdel-pre.local Локальные настройки
/usr/sbin/userdel-post.local Локальные настройки
Red Hat useradd /etc/login.defs
/etc/default/useradd
Solaris useradd /etc/default/
/etc/security/policy.conf

Удаление пользователей

Для удаления пользователей из системы используется команда userdel, например команда

Удалит пользователя john, но зачастую (как и команда useradd, кстати) не в «чистом» виде, а в виде Perl-оболочек с использованием сценария удаления учётной записи. Например, в дистрибутивах Ubuntu используется команда deluser, которая является обычным сценарием на Perl. Который, в свою очередь, вызывает саму команду userdel для удаления и очистки всего того, что было сделано ранее командой useradd. При этом, используется файл сценария (обычно это файл /etc/deluser.conf в Ubuntu и /etc/login.defs в RedHat). Который позволяет задать следующие опции для работы команды userdel:

Использование: userdel [параметры] ПОЛЬЗОВАТЕЛЬ

Параметры:
-f, —force принудительное удаление пользователя и файлов, даже если они используются в настоящее время
-r, —remove удалить домашний каталог и почтовый ящик
-R, —root КАТ_CHROOT каталог, в который выполняется chroot
-Z, —selinux-user удалить все пользовательские сопоставления
SELinux для пользователя

Файл /etc/passwd – описание локальных учётных записей

Если в системе не используется какая-либо автоматизированная служба управления каталогами (например LDAP, NIS), то файл /etc/passwd – это именно тот файл, в котором хранится информация об учётных записях пользователей, известных системе. К этому файлу система обращается всякий раз при попытке авторизации пользователя в поисках требуемого идентификатора пользователя и определения его домашнего каталога. Формат этого файла заключается в том, что каждая строка в нём соответствует одному конкретному пользователю (учётной записи), в которой (в строке) перечислены атрибуты (поля) учётной записи, разделяемые символом двоеточия:

  1. Имя пользователя.
  2. Пароль пользователя (в шифрованном виде) или «заполнитель» пароля.
  3. Идентификатор пользователя.
  4. Идентификатор группы пользователя (по умолчанию).
  5. Информация GECOS — полное имя, офис, телефоны и т. д.
  6. Домашний каталог.
  7. Регистрационная оболочка.

Содержимое файла /etc/passwd может выглядеть следующим образом: Как можно видеть, второе поле для всех записей содержит символ «x» — заполнитель пароля. В Linux-системах зашифрованные пароли хранятся отдельно, в файле /etc/shadow. В случае, если совместно с файлом /etc/passwd используется служба автоматизированного управления каталогами, то в этом же файле имеются записи, начинающиеся с символа «+». Такие записи содержат инструкции по интеграции службы управления каталогами в системе. Стоит вкратце рассмотреть поля учётных записей:

  • Имя пользователя или регистрационное имя — уникальное имя, которое должно составляться согласно правилам построения регистрационных имён для той или иной системы. Для Linux длина регистрационного имени может быть не более 32 символов. Допускается использование только строчных букв с включением цифр. Начинаться регистрационное имя должно с буквы.
  • Зашифрованный пароль — как уже отмечалось, пароли для локальных учётных записей хранятся в /etc/shadow в зашифрованном виде. В Linux в качестве криптографических инструментов для шифрования паролей используются алгоритмы crypt, MD5, Blowfish. Минимальная длина пароля составляет 5 символов, максимальная 8
  • Идентификатор пользователя — это целое число без знака, по которому система «распознаёт» отдельных пользователей, поэтому идентификаторы пользователей используются системой и программной средой, в то время как имена пользователей служат для наглядности и удобства представления пользователей в системе. Для пользователя root зарезервирован идентификатор под номером 0, также рекомендуется присваивать реальным пользователям идентификаторы, следующие после 500, поскольку в системе может быть много «неперсонифицированных» пользователей, таких как bin или daemon – это позволит содержать в порядке список пользователей и избегать путаницы. Также в Linux-системах предусмотрен псевдопользователь nobody, с идентификатором -1 или -2. Обычно этот псевдопользователь используется, когда суперпользователь системы пытается получить доступ к файлам, примонтированным с другого компьютера, у которого нет доверия к исходному компьютеру.
  • Идентификатор группы — целое число без знака, аналогично идентификатору пользователя предназначено для обозначения в системе уникальных групп пользователей. Под номером 0 зарезервирована группа root. Группы используются в основном для удобного управления и организации совместного доступа к файлам. Как и в случае с идентификаторами пользователей, в системе зарезервированы группы (например bin) для использования самой системой.
  • ПолеGECOS – информация, которая не имеет чётко определённой спецификации, отражает в себе дополнительные данные о пользователе: его полное имя, телефоны, сведения о должности и отделе и т. д. Информацию в этом поле можно менять с помощью команды chfn.
  • Домашний каталог — «место» в дереве файловой системы, которое отведено для хранения данных определённого пользователя. Этот каталог из соображений безопасности должен быть доступен только пользователю-владельцу этого каталога. Если домашний каталог отсутствует на момент регистрации, то пользовательские данные помещаются в каталог /. Также, если в файле /etc/login.defs в опции DEFAULT_HOME, задающем домашний каталог по умолчанию указано значение no, то авторизация/регистрация пользователя будет невозможной.
  • Регистрационная оболочка — командная оболочка интерпретатора команд (или любая другая программа), которая запускается при входе пользователя в свою учётную запись. Для Linux используется интерпретатор

Файл /etc/group – создание и удаление групп пользователей

Добавления новой группы в Linux осуществляется с помощью команды

где group_name название новой группы. Эта команда создаст в файле /etc/group новую запись

Формат этого файла такой же как и у /etc/passwd. Пример содержимого файла /etc/group: Как видно, каждая строка включает в себя четыре поля:

  1. Имя группы.
  2. Зашифрованный пароль или заполнитель пароля.
  3. Уникальный идентификатор группы.
  4. Список пользователей, входящих в данную группу, содержащий имена пользователей, разделённых запятыми без пробелов.

Интересным здесь является поле пароля. Пароль группы предназначен для того, чтобы пользователи могли вступить в группу с помощью команды newgrp. Сам же пароль для группы задаётся командой gpasswd, после чего он в зашифрованном виде будет храниться в файле /etc/gshadow. Однако, следует заметить, что пароли для групп используются крайне редко. Системным администраторам следует следить за содержимым файлов /etc/passwd и /etc/group и согласовывать их между собой, поскольку иногда возникают ситуации, когда пользователь указывается членом группы в файле /etc/passwd и в то же время в файле /etc/group такого объявления нет. Следует заметить, что в этом случае пользователь будет считаться членом группы, однако всё же настоятельно рекомендуется согласовывать содержимое обоих файлов.

По умолчанию в дистрибутивах Linux (кроме SUSE), при создании пользователя (утилита useradd) создаётся и его одноимённая группа, в которую он сразу же включается. Это предусмотрено для того, чтобы максимально исключить вероятность доступа разных пользователей к файлам друг друга.

Удалить группу пользователей можно с помощью команды

Эта команда удалит запись из /etc/group.

Файл /etc/shadow – хранение паролей

Для хранения скрытых или теневых паролей используется отдельный файл /etc/shadow. Доступ к которому доступен только суперпользователю. Нужно также заметить, что файлы /etc/shadow и /etc/passwd хоть и связаны концептуально, однако на уровне системы между ними практически нет никакого взаимодействия. За исключением того, что поле, содержащее регистрационное имя в shadow берётся из passwd. Т.е. при модификации shadow, изменения не отражаются автоматически в passwd – эти файлы хранятся отдельно и обрабатываются системой независимо друг от друга. Формат /etc/shadow аналогичен /etc/passwd и каждая строка включает в себя следующие поля:

  1. Регистрационное имя.
  2. Пароль в зашифрованном виде.
  3. Дата последнего изменения пароля.
  4. Минимальное количество дней между изменениями пароля.
  5. Максимальное количество дней между изменениями пароля.
  6. Количество дней до выдачи сообщения об окончании срока действия пароля.
  7. Количество дней (по истечению срока действия пароля) до автоматического аннулирования учётной записи.
  8. Период действия учётной записи.
  9. Зарезервированное поле.

Запись из файла /etc/shadow выглядит следующим образом:

Следует отметить, что обязательными являются первые два поля. Формат полей дат соответствует количеству дней, прошедших с первого января 1970 года. Поле с регистрационным именем, как уже отмечалось, заполняется соответствующим значением из файла /etc/passwd. В Linux седьмое поле содержит значение, которое определяет по истечении какого времени (в днях) после устаревания пароля учётная запись будет автоматически отключена. Эта интерпретация отличается от той, которая используется в системах Solaris и HP-UX. В восьмом поле, для установки даты истечения срока действия учётной записи можно использовать команду usermod в формате гггг-мм-чч.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

  • Печать

Страницы: [1]   Вниз

Тема: Как изменить расположение папок пользователя в домашней папки?  (Прочитано 6056 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
mxxxxxxxxxxxx

Подскажите, пожалуйста. Как изменить расположение папок пользователя в домашней папки? В Windows, например, я мог кликнуть правой кнопкой по папке (напр. Документы), перейти во вкладку «Расположение» и указать новое расположение. Как сделать это в Ubuntu? Изменить ссылки (Ctrl+B) в Nautilus ничего не меняет, только добавляет дубликат внизу.


Оффлайн
victor00000


Оффлайн
wolfser2701

mfhunruh, в Nautilus — Вид — Выстраивать объекты — вручную ?


Оффлайн
Azure

изменить расположение папок пользователя в домашней папки?

1. ЗАЧЕМ??? Давайте подробнее (пока не натворили что-то ненужное)
2.

man xdg-user-dirs-update Была какая-то графическая утилита что-то вроде «Настройки рабочего стола», но не помню
3. Создать ссылки на нужные директории.

В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !


Оффлайн
ALiEN175

Пути к папкам прописаны в файле
~/.config/user-dirs.dirs

ASUS P5K-C :: Intel Xeon E5450 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE


Оффлайн
wolfser2701

ALiEN175, Мне показалось, что ТС хотел примерно такого ( на скрине я конечно прикололся).


Оффлайн
mxxxxxxxxxxxx

изменить расположение папок пользователя в домашней папки?

1. ЗАЧЕМ??? Давайте подробнее (пока не натворили что-то ненужное)

У меня есть облако, и я хочу, чтобы эти папки ссылались на папки из облако. То есть так:

Но у меня не работает почему-то, путь поверял. Вместо этого создаются дубликаты внизу.

« Последнее редактирование: 21 Мая 2016, 15:47:32 от mfhunruh »


Оффлайн
victor00000

~/.config/gtk-3.0/bookmarks


Оффлайн
ALiEN175

mfhunruh, понятно.
пробуйте внести изменения в файл, о котором я писал выше.
например

XDG_PICTURES_DIR=»$HOME/Yandex.Disk/Изображения»

после изменений перезапустите сессию

ASUS P5K-C :: Intel Xeon E5450 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE


Оффлайн
mxxxxxxxxxxxx

после изменений перезапустите сессию

Ооо, спасибо большое


  • Печать

Страницы: [1]   Вверх

Понравилась статья? Поделить с друзьями:
  • Ufc 4 как изменить сложность карьеры
  • Ubuntu как изменить горячие клавиши для смены раскладки клавиатуры
  • Uefi windows boot manager как исправить
  • Ubuntu как изменить время блокировки экрана
  • Uefi usb boot error