Linux usermod no changes

Команда Usermod в Linux

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

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

Команда usermod

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

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

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

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

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

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

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

sudo usermod -a -G games linuxize

Всегда используйте параметр -a (добавить) при добавлении пользователя в новую группу. Если вы опустите опцию -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 абсолютный путь к новому домашнему каталогу и имя пользователя:

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

usermod -d HOME_DIR -m USER

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

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

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

Читайте также:  Touch cat vi linux

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

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

sudo usermod -s /usr/bin/zsh linuxize

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

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

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

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

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

sudo usermod -u 1050 linuxize

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

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

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

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

sudo usermod -l linuxize lisa

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

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

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

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

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

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

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

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

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 позволяет заблокировать учетную запись пользователя:

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

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

sudo usermod -L -e 1 linuxize

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

Выводы

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

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

Источник

CentOS

Hi, I saw this link https://www.tecmint.com/usermod-command-examples/ the following command usermod -d /var/www/ tecmint but when I use this command to my user I’m receiving usermod: no changes the result of the ls -l command is:
[root@vps40026 www]# ls -l /var/www
total 158988
drwxr-xr-x. 4 adminitc root 29 Aug 7 08:41 36532444715.itcmedbr.com
drwxr-xr-x. 2 adminitc root 6 Apr 6 11:56 cgi-bin
drwxr-xr-x. 4 adminitc root 29 Aug 5 17:15 clinica.itcmedbr.com
drwxr-xr-x. 3 root root 18 Aug 9 08:55 demonstracao.itcmedbr.com
drwxr-xr-x. 3 adminitc root 50 Apr 6 11:56 html
-rwxr-xr-x. 1 root root 162802212 Jun 30 14:03 jdk-17_linux-x64_bin.rpm
[root@vps40026 www]#
I want that adminitc access all of /var/www to directory to use filezila but I can’t to do this.

Читайте также:  Как установить docker linux mint

I apreciate any help.
Thanks and best regards.

Re: usermod : no changes

Post by jlehtone » 2022/08/09 14:57:28

man usermod says that -d is short for —home .
You did change the home directory of tecmint to be /var/www.
You can see that with getent passwd tecmint (unless the command really did not update the config).

The command does not move files or touch permissions, I presume. You probably want to restore the original, correct value.
Perhaps usermod —home /home/tecmint

It does look like everyone can read and execute (rx) all of /var/www content.
The adminitc can write too, but that is obviously different account than tecmint.

Re: usermod : no changes

Post by Cezar Apulchro » 2022/08/09 19:52:01

Источник

How to make user home folder after account creation? [duplicate]

I created a new user with useradd name and forgot to use -d -m to create their home directory. I tried making one, copying the contents of /etc/skel, and chown ing everything to the new user. Aliases don’t work, such as ll , and I just have a $ at the command prompt, instead of name@server ~$ . Also, using the scroll wheel dumps garbage on the command line 🙁 How do I fix this, or is it easier to delete the user and start over?

I haven’t figured out what else was needed from that point, but I fixed it by deleting the user and directory and starting over with adduser instead of useradd.

I think that would result in a different userid and groupid which may or may not be a problem for you.

6 Answers 6

You have $ at the command prompt because you are using the sh shell.

The shell with name@server is based on the bash shell.

You have to change the default shell for the newly created user via : usermod -s /bin/bash .

Using usermod again to add the user home directory if it wasn’t present. usermod -d /home/username

If the user has no home directory specified in /etc/passwd :

Run mkhomedir_helper to create the home directory. mkhomedir_helper will create the user home directory and copy the stuff in /etc/skel as well.

If the user already has a home directory specified in /etc/passwd :

Such as via usermod -d /some/directory , mkhomedir_helper will not work. The only way is to manually create the home directory for the affected user.

Читайте также:  Linux firewall for network

Источник

Linux usermod command

Computer Hope

On Unix-like operating systems, the usermod command modifies a user account.

Description

The usermod command is used by an administrator to change a user’s system account settings, as listed in the options below:

Syntax

usermod [options] LOGIN

Options

-a, —append Add the user to the supplementary group(s). Use only with the -G option.
-c COMMENT,
—comment COMMENT
The new value of the user’s password file comment field. It is normally modified using the chfn utility.
-d,
—home HOME_DIR
The user’s new login directory.

A value of 0 disables the account as soon as the password has expired, and a value of -1 disables the feature.

This option is only valid in combination with the -d (or —home) option.

Note: This option is not recommended because the password (or encrypted password) is visible by users listing the processes (using the ps command, for instance).

The password is written in the local /etc/passwd or /etc/shadow file. This might differ from the password database configured in your PAM (Pluggable Authentication Module) configuration.

This value must be unique, unless the -o option is used. The value must be non-negative.

The user’s mailbox, and any files which the user owns and that are located in the user’s home directory, have the file user ID changed automatically.

The ownership of files outside of the user’s home directory must be fixed manually.

Notes

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, the user’s name, or the user’s home directory is being changed. usermod checks this on Linux, but only checks if the user is logged in according to the utmp file on other systems.

You must change the owner of any crontab files or at jobs manually.

You must make any changes involving NIS (Network Information Service) on the NIS server.

Configuration

The following configuration variables in /etc/login.defs change the behavior of this tool:

The default value is 0, meaning that there are no limits in the number of members in a group.

This feature (split group) permits to limit the length of lines in the group file. This is useful to make sure that lines for NIS groups are not larger than 1024 characters.

If you need to enforce such limit, you can use 25.

Files

usermod makes use of the following files:

/etc/group Group account information.
/etc/gshadow Secure group account information.
/etc/login.defs Shadow password suite configuration.
/etc/passwd User account information.
/etc/shadow Secure user account information.

Examples

usermod -d /home/exampleusernew exampleuser

Modifies the home directory for the exampleuser account, changing it to /home/exampleusernew.

chsh — The C shell command interpreter.
useradd — Add a user to the system.
userdel — Remove a user from the system.

Источник

Оцените статью
Adblock
detector