Error code account is not available on this system

[Решение найдено!] Вы получаете сообщение об This account is currently not available.ошибке, потому что для пользователя www-dataустановлена оболочка…

При попытке установить соединение SSH возникает ошибка:

$ ssh -p 22 www-data@x.x.x.x 
This account is currently not available

Ответы:


Вы получаете сообщение об This account is currently not available.ошибке, потому что для пользователя www-dataустановлена оболочка /usr/sbin/nologin, и она установлена ​​по очень веской причине. Вы не должны входить в систему как www-data, это специальный пользователь / группа, используемая веб-сервером, не предназначенная для обычного использования оболочки.

РЕДАКТИРОВАТЬ : Это особенно плохая идея, чтобы дать sudoправа www-data. Если бы Apache предназначался для работы с правами root, у него не было бы своей собственной группы. Делая это, вы создаете огромные дыры в безопасности. Вы были предупреждены.







Хотя я согласен с другими, что разрешить вход через SSH через пользователя www-data — это, как правило, плохая идея, но после того, как вы вошли в систему с обычным пользователем, может быть полезно запускать несколько команд одновременно с набором разрешений www- пользователь данных. В этом случае можно запустить

sudo su -l www-data -s /bin/bash

и вы сможете получить доступ к своим файлам как пользователь www-данных.




Первый вопрос, который мне нужно задать, это то, что вы пытаетесь достичь, делая это?

kraxor верен на 100%, вы никогда не сможете использовать ssh на своем сервере, используя своего пользователя Apache / Nginx. Это приглашает каждого хакера с половиной мозговых клеток на ваш сервер.

Если вам нужно запустить скрипт или какую-то программу от имени этого пользователя, вы можете попробовать sudo -u www-data yourscriptили временно можете отправить chownфайл пользователю с правами входа в систему. Это просто плохая идея разрешить этой учетной записи такой доступ.






При попытке установить соединение SSH возникает ошибка:

$ ssh -p 22 www-data@x.x.x.x 
This account is currently not available

задан
28 March 2016 в 18:56

поделиться

3 ответа

Вы добираетесь This account is currently not available. ошибка, потому что оболочка для пользователя www-data установлена на /usr/sbin/nologin, и она установлена на очень серьезном основании. Вы не должны входить в систему как www-data, это — специальный пользователь / группа, используемая веб-сервером, не предназначенным для регулярного использования оболочки.

РЕДАКТИРОВАНИЕ : Это особенно плохая идея для предоставления sudo права на www-data. Если бы Apache был предназначен для выполнения с корневыми полномочиями, то он не имел бы своей собственной группы. Путем выполнения этого Вы создаете огромные дыры в системе безопасности. Вас предупредили.

ответ дан kraxor
28 March 2016 в 18:56

поделиться

Первый вопрос, который я должен был бы задать, что Вы пытаетесь выполнить путем выполнения этого?

kraxor на 100% корректен, Вы никогда не должны мочь к ssh в Ваш сервер с помощью пользователя Apache/Nginx. Выполнение так приглашает каждого хакера с половиной клетки головного мозга в Ваш сервер.

, Если необходимо запустить скрипт или некоторую программу как тот пользователь, Вы могли бы попробовать sudo -u www-data yourscript, или Вы могли временно chown на файле пользователю с полномочиями входа в систему. Это — просто варьирование плохой идеи предоставить этой учетной записи такой доступ.

ответ дан LovesTha
28 March 2016 в 18:56

поделиться

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

sudo su -l www-data -s /bin/bash

, и Вы сможете получить доступ к своим файлам как www-пользователь-данных.

ответ дан D. Scott Boggs
28 March 2016 в 18:56

поделиться

Другие вопросы по тегам:

Похожие вопросы:

An error occurs when I try to make SSH connection:

$ ssh -p 22 www-data@x.x.x.x 
This account is currently not available

muru's user avatar

muru

189k52 gold badges460 silver badges711 bronze badges

asked Jun 21, 2014 at 13:10

Mert Özoğul's user avatar

1

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

sudo su -l www-data -s /bin/bash

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

answered Aug 21, 2017 at 23:46

D. Scott Boggs's user avatar

D. Scott BoggsD. Scott Boggs

1,4511 gold badge7 silver badges3 bronze badges

4

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.

answered Jun 22, 2014 at 11:06

kraxor's user avatar

kraxorkraxor

5,3793 gold badges25 silver badges35 bronze badges

8

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.

LovesTha's user avatar

LovesTha

5045 silver badges13 bronze badges

answered Mar 28, 2016 at 15:23

TheStarvingGeek's user avatar

6

Содержание

  1. Отключение пользовательских аккаунтов в Linux
  2. 1. Введение
  3. 2. Редактирование файла shadow
  4. 3. Пользовательская оболочка nologin
  5. 4. Заключение
  6. This account is currently not available – Login Problem
  7. What does “This account is currently not available” error mean?
  8. How to fix “This account is currently not available” error?
  9. Устранение неполадок SSH: ошибки оболочки
  10. Требования
  11. Основные ошибки
  12. Не открывается домашний каталог
  13. Учётная запись недоступна
  14. Ресурс временно недоступен
  15. Устранение неполадок
  16. Проверка домашнего каталога
  17. Обновление оболочки
  18. Устранение проблем с ресурсами

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

1. Введение

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

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

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

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

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

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

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

3. Пользовательская оболочка 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 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!

Источник

Устранение неполадок SSH: ошибки оболочки

В первой статье этой серии вы узнали о том, как и в каких ситуациях вы можете попробовать исправить ошибки SSH. Остальные статьи расскажут, как определить и устранить следующие ошибки:

Установив соединение SSH, вы получаете доступ к удалённой среде оболочки. Это руководство поможет исправить самые распространённые ошибки, которые могут возникнуть на данном этапе.

Требования

Основные ошибки

Не открывается домашний каталог

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

Could not chdir to home directory /home/user: Permission denied
Error
Could not chdir to home directory /home/user: Input/output error
Error
Could not chdir to home directory /home/user: No such file or directory

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

Учётная запись недоступна

У некоторых пользователей системы отключена оболочка входа. При запросе оболочка не будет отвечать. Это вызовет ошибку:

This account is currently not available.

Это случается, если:

Ресурс временно недоступен

Для работы SSH (как и любого другого сервиса) требуются системные ресурсы. Это означает, что SSH может не открыть среду оболочки, если сервер находится в условиях ограниченных ресурсов. Такие условия возникают при исчерпывании системной памяти, сбоях среды выполнения и т. п.

Вы получите такую ошибку:

ssh: connect to host example.com port 22: Resource temporarily unavailable

Проблемы с ресурсами довольно сложно устранить; во многом методы будут зависеть от типа вашего сервера.

Устранение неполадок

Проверка домашнего каталога

Чтобы проверить права доступа и собственности на домашний каталог, нужно подключиться к серверу через консоль как пользователь root. Убедитесь, что каталог /home существует (для этого можно использовать утилиту stat).

Если каталог существует в системе, убедитесь, что пользователь имеет права доступа (минимум 700) и права собственности на него.

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

Обновление оболочки

Откройте консоль, войдите как пользователь root или sudo.

Просмотрите файл /etc/passwd или запросите данные с помощью getent.

getent passwd user

В выводе команды найдите /usr/sbin/nologin:

Чтобы обновить оболочку, используйте команду usermod и укажите рабочую оболочку, например, /bin/bash.

Снова запустите getent.

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

Устранение проблем с ресурсами

Устранение проблем с ресурсами – очень специфическая ситуация.

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

Если вы не можете войти в систему через веб-консоль, последний вариант –перезагрузить сервер. В зависимости от причины нехватки ресурса вы либо сразу попадёте в ту же среду, либо успеете получить доступ к консоли до того, как случится ошибка Unable to fork process при попытке запустить команду. После перезагрузки очень важно поймать момент и использовать веб-консоль или SSH-соединение с сервером, прежде чем они перестанут отвечать.

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

Источник

Главная > Linux > Linux: su, sudo и This account is currently not available, на примере www-data

Linux logoОчень часто надо запустить тот или иной процесс от пользователя от которого работает веб-сервер. Это не всегда получается сделать быстро, т.к. политики безопасности ограничивают эту учетную запись. В этой заметке, соберу причины и команды которые помогут нам сделать то, что мы хотим..

This account is currently not available

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

$ su wwwdata

This account is currently not available.

это говорит о том, что шелл для текущего пользователя установлен в заглушку. Проверить можно так

$ cat /etc/passwd

wwwdata:x:33:33:wwwdata:/var/www:/usr/sbin/nologin

тут /usr/sbin/nologin и является такой заглушкой. Если вы отдаете себе отчет, то можно просто поменять заглушку на нормальный шелл и начнет все работать

$ chsh s /bin/bash wwwdata

$ sudo wwwdata

$ whoami

wwwdata

разумеется, потом всегда можно вернуть назад

$ chsh s /usr/sbin/nologin wwwdata

Список доступных шелов можно посмотреть так

$ chsh listshells

# или так

$ cat /etc/shells

Логин без смены шелла

Если же вам нужно временно залогиниться от этого пользователя, но менять шелл каждый раз не удобно, можно воспользоваться такой командой, указав шелл в командной строке

$ su l wwwdata s /bin/bash

$ whoami

wwwdata

Запуск команды от пользователя

Если же нужно просто запустить команду от пользователя, сделать это можно так

$ su wwwdata s /bin/bash c ‘whoami’

wwwdata

или с помощью sudo

$ sudo u wwwdata whoami

wwwdata

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

Автор:
| Рейтинг: 5/5 |
Теги: linux , su , sudo , www-data


Отключение пользовательских аккаунтов в 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 и почтовые клиенты и многое другое.

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

Источник

Понравилась статья? Поделить с друзьями:
  • Error code accessdenied code message access denied message error
  • Error code 99993 5000
  • Error code 9999
  • Error code 9988 after effects
  • Error code 998 неверная попытка доступа к адресу памяти