Меню Рубрики

Linux this account is currently not available

Отключение пользовательских аккаунтов в Linux

1. Введение

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

2. Редактирование файла shadow

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

Для отключения аккаунта достаточно просто добавить «*» или «!» перед зашифрованным паролем:

То же самое можно сделать с помощью команды:

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

Для активации пользовательского аккаунта просто удалите «!» из файла /etc/shadow, или воспользуйтесь командой:

Важно помнить, что этот метод отключения пользовательских аккаунтов в Linux работает только для тех программ и команд, которые для аутентификации пользователей используют файл /etc/shadow. Например, если у пользователя уже есть ssh-ключ, он все равно сможет авторизоваться, несмотря на модификацию /etc/shadow.

3. Пользовательская оболочка nologin

Другой, и более безопасный способ отключения пользовательского аккаунта — заменить существующую программную оболочку пользователя на псевдооболочку, такую как /usr/sbin/nologin, которая при попытке авторизации выдает вежливое сообщение:

Для этого модифицируйте файл /etc/password, изменив запись пользователя:

После этого пользователь не сможет авторизоваться даже с правильным паролем:

4. Заключение

Оба описанных выше метода имеют свои преимущества и недостатки, и какой из них выбрать, решать вам. Получить более подробную информацию об описанных здесь командах и файлах можно из man-страниц:

Источник

This account is currently not available – Login Problem

Have you ever got an error “This account is currently not available” when trying to login via SSH or trying to “su” to certain user? Read here what this error means and how you can easily fix it!

Example of the error:

User Login – This account is currently not available

What does “This account is currently not available” error mean?

This account is currently not available” error means what is says.The account you are trying to “su” to or trying to login with is currently not available because there is no valid shell set for this user.

You can check this by looking into /etc/passwd file and see the shell which is set for the desired user. If the shell is set to “/bin/false” or “/sbin/nologin” you have confirmed the problem.

Here is an example of users geekpeek and geekpeeknet with “/bin/false” and “/sbin/nologin” shell.

How to fix “This account is currently not available” error?

You can fix this error by setting a shell for the desired user. You can do this via “chsh” command or by editing /etc/passwd file.

When using “chsh” command you should do something like this (you should run this as root or via sudo!):

After this /etc/passwd user line should look something like this:

If not, try to edit /etc/passwd file manually and setting the desired shell. Now you should be able to login to your user account via SSH or “su”.

If you do not know which shells are available on your system you can run a command “chsh” or “cat /etc/shells” as seen below!

Источник

“This account is currently not available” error when trying to ssh

An error occurs when I try to make SSH connection:

3 Answers 3

You’re getting the This account is currently not available. error because the shell for the user www-data is set to /usr/sbin/nologin , and it’s set for a very good reason. You should not log in as www-data , it’s a special user/group used by the web server, not intended for regular shell use.

EDIT: It is an especially bad idea to give sudo rights to www-data . If Apache was intended to run with root permissions, it wouldn’t have it’s own group. By doing this, you are creating huge security holes. You have been warned.

While I agree with the others that allowing login through SSH through the www-data user is generally a bad idea, once you’ve logged in with a normal user it may be useful to run multiple commands concurrently with the permissions set of the www-data user. In that case, one can run

and you will be able to access your files as the www-data user.

The first question I would have to ask is, what are you trying to accomplish by doing this?

kraxor is 100% correct you should never be able to ssh into your server using your Apache/Nginx user. Doing so invites every hacker with half a brain cell into your server.

If you need to run a script or some program as that user you could try sudo -u www-data yourscript or you could temporally chown on the file to a user with login privileges. It’s just a vary bad idea to allow this account that kind of access.

Источник

Information Security Squad

stay tune stay secure

4 способа отключить учетную запись root в Linux

Учетная запись root является конечной учетной записью в Linux и других Unix-подобных операционных системах.

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

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

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

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

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

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

В этой статье мы объясним четыре способа отключения учетной записи пользователя root в Linux.

Внимание. Прежде чем блокировать доступ к учетной записи root, убедитесь, что вы создали админскую учетную запись, способную использовать команду sudo для получения привилегий пользователя root, с помощью команды useradd и предоставить этой учетной записи надежный пароль. Флаг -m означает создание домашнего каталога пользователя, а -c позволяет указать комментарий:

Затем добавьте этого пользователя в соответствующую группу системных администраторов, используя команду usermod, где ключ -a означает добавление учетной записи пользователя, а -G указывает группу для добавления пользователя в (колесо или sudo в зависимости от вашего дистрибутива Linux):

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

1. Изменение оболочки пользователя root

Самый простой способ отключить вход пользователя root — изменить его оболочку из /bin/bash (или любой другой оболочки, которая разрешает вход пользователя) в /sbin/nologin, в файле /etc/passwd, который вы можете открыть для редактирования с использованием любого из ваших любимых редакторов командной строки, как показано далее.

Сохраните файл и закройте его.

С этого момента, когда пользователь root войдет в систему, он / она получит сообщение «This account is currently not available».

Это сообщение по умолчанию, но вы можете изменить его и установить собственное сообщение в файле /etc/nologin.txt.

Этот метод эффективен только для программ, для которых требуется учетная запись пользователя для входа в систему, иначе sudo, ftp и почтовые клиенты смогут получить доступ к учетной записи root.

2. Отключить root через консольное устройство (TTY)

Второй метод использует модуль PAM, называемый pam_securetty, который разрешает root-доступ только в том случае, если пользователь регистрируется в «защищенном» TTY, как определено в списке в /etc/securetty.

В приведенном выше файле вы можете указать устройства TTY, c которыми пользователь root может войти в систему, опуская этот файл, запрещает вход в систему на любом устройстве, подключенном к системе.

Чтобы создать пустой файл, запустите

Этот метод имеет некоторые ограничения, он влияет только на такие программы, как логин, диспетчеры отображения (например, gdm, kdm и xdm) и другие сетевые службы, запускающие TTY.

Такие программы, как su, sudo, ssh и другие связанные с ними средства openssh, будут иметь доступ к учетной записи root.

3. Отключить вход root по SSH

Самый распространенный способ доступа к удаленным серверам или VPS, даже если это VPS в США — через SSH и блокировка пользователя root на вход, а для этого вам нужно отредактировать файл /etc/ssh/sshd_config.

Затем раскомментируйте (если она закомментирован) директиву PermitRootLogin и установите ее значение равным no, как показано на скриншоте.

Как только вы закончите, сохраните и закройте файл.

Затем перезапустите службу sshd, чтобы применить последние изменения в конфигурациях.

Как вы уже знаете, этот метод влияет только на набор инструментов openssh, такие программы, как ssh, scp, sftp, будут заблокированы для доступа к учетной записи root.

4. Ограничение доступа root к службам через PAM

Подключаемые модули аутентификации (PAM) — это централизованный, подключаемый, модульный и гибкий метод аутентификации в системах Linux.

PAM через модуль /lib/security/pam_listfile.so обеспечивает большую гибкость в ограничении привилегий конкретных учетных записей.

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

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

Сначала откройте и отредактируйте файл для целевой службы в каталоге /etc/pam.d/, как показано ниже:

Затем добавьте конфигурацию ниже в оба файла.

Когда все будет готово, сохраните и закройте каждый файл. Затем создайте простой файл / etc / ssh / deniedusers, который должен содержать один элемент на строку, а не читаемый в мире.

Добавьте в него имя root, затем сохраните и закройте его.

Также установите необходимые разрешения для этого файла.

Этот метод влияет только на программы и службы, которые известны PAM.

Вы можете заблокировать доступ root к системе через ftp и почтовые клиенты и многое другое.

Для получения дополнительной информации обратитесь к соответствующим страницам руководства.

Источник

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

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

  • Teamspeak для mac os
  • Task manager mac os
  • Talagent mac os что это
  • System integrity protection mac os x
  • Syslogd mac os грузит процессор