Sorry, you have been blocked
This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.
What can I do to resolve this?
You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.
Cloudflare Ray ID: 7d99cbecfb0b77b6 • Your IP: Click to reveal 88.135.219.175 • Performance & security by Cloudflare
How to create a sudo user on Ubuntu and allow SSH login
The sudo command is used to allow a permitted user to execute a command as the superuser or another user, as specified by the security policy.
In this guide, I will show you how to create a new user on an Ubuntu server and give it sudo access and allow SSH login to that user.
Create a sudo user
1. Log in to your server as the user with superuser privilege
2. Create a new user account
For this, we use adduser command. Don’t be confused with the useradd command here. useradd is a low level binary command compiled with the system, whereas adduser is a high level Perl script built on top of useradd .
You should always use adduser to create new user as it provides more user friendly and interactive procedure.
Then follow the instruction to finish the procedure
3. Add the user to the sudo group
On Ubuntu, members of the sudo group have sudo privileges by default.
4. Test
- Switch to the new user account
- Verify the superuser privileges by the sudo command
Add public key to allow remote SSH login for the new user
1. Switch to the new user account
2. Create .ssh folder in home directory
3. Create authorized_keys file in side the .ssh folder and add the public key
Use your favorite text editor for this. I use vim here, for example:
And paste your SSH public key here, save and close file
4. Verify SSH remote login
Open another terminal on your machine and try to remote SSH login using new user.
This should work if you have your SSH private key in
/.ssh/id_rsa file, otherwise you must specify the path to your private key with -i option:
Как запустить терминал от имени администратора в linux
Sudo allows a system administrator to delegate authority to give certain users—or groups of users—the ability to run commands as root or another user while providing an audit trail of the commands and their arguments.
Sudo is an alternative to su for running commands as root. Unlike su, which launches a root shell that allows all further commands root access, sudo instead grants temporary privilege elevation to a single command. By enabling root privileges only when needed, sudo usage reduces the likelihood that a typo or a bug in an invoked command will ruin the system.
Sudo can also be used to run commands as other users; additionally, sudo logs all commands and failed access attempts for security auditing.
Installation
Usage
To begin using sudo as a non-privileged user, it must be properly configured. See #Configuration.
To use sudo, simply prefix a command and its arguments with sudo and a space:
For example, to use pacman:
See sudo(8) for more information.
Configuration
alt=»Tango-view-fullscreen.png» width=»48″ height=»48″ />This article or section needs expansion. alt=»Tango-view-fullscreen.png» width=»48″ height=»48″ />
Defaults skeleton
sudoers(5) § SUDOERS OPTIONS lists all the options that can be used with the Defaults command in the /etc/sudoers file.
See [1] for a list of options (parsed from the version 1.8.7 source code) in a format optimized for sudoers .
See sudoers(5) for more information, such as configuring the password timeout.
View current settings
Run sudo -ll to print out the current sudo configuration, or sudo -lU user for a specific user.
Using visudo
The configuration file for sudo is /etc/sudoers . It should always be edited with the visudo(8) command. visudo locks the sudoers file, saves edits to a temporary file, and checks it for syntax errors before copying it to /etc/sudoers .
- It is imperative that sudoers be free of syntax errors! Any error makes sudo unusable. Always edit it with visudo to prevent errors.
- visudo(8) warns that configuring visudo to honor the user environment variables for their editor of choice may be a security hole, since it allows the user with visudo privileges to run arbitrary commands as root without logging simply by setting that variable to something else.
The default editor for visudo is vi. The sudo package is compiled with —with-env-editor and honors the use of the SUDO_EDITOR , VISUAL and EDITOR variables. EDITOR is not used when VISUAL is set.
To establish nano as the visudo editor for the duration of the current shell session, export EDITOR=nano ; to use a different editor just once simply set the variable before calling visudo:
Alternatively you may edit a copy of the /etc/sudoers file and check it using visudo -c /copy/of/sudoers . This might come in handy in case you want to circumvent locking the file with visudo.
To change the editor permanently, see Environment variables#Per user. To change the editor of choice permanently system-wide only for visudo, add the following to /etc/sudoers (assuming nano is your preferred editor):
Example entries
To allow a user to gain full root privileges when they precede a command with sudo , add the following line:
To allow a user to run all commands as any user but only on the machine with hostname HOST_NAME :
To allow members of group wheel sudo access:
To disable asking for a password for user USER_NAME :
Enable explicitly defined commands only for user USER_NAME on host HOST_NAME :
Enable explicitly defined commands only for user USER_NAME on host HOST_NAME without password:
A detailed sudoers example is available at /usr/share/doc/sudo/examples/sudoers . Otherwise, see the sudoers(5) for detailed information.
Sudoers default file permissions
The owner and group for the sudoers file must both be 0. The file permissions must be set to 0440. These permissions are set by default, but if you accidentally change them, they should be changed back immediately or sudo will fail.
Tips and tricks
Disable password prompt timeout
A common annoyance is a long-running process that runs on a background terminal somewhere that runs with normal permissions and elevates only when needed. This leads to a sudo password prompt which goes unnoticed and times out, at which point the process dies and the work done is lost or, at best, cached. Common advice is to enable passwordless sudo, or extend the timeout of sudo remembering a password. Both of these have negative security implications. The prompt timeout can also be disabled and since that does not serve any reasonable security purpose it should be the solution here:
Add terminal bell to the password prompt
To draw attention to a sudo prompt in a background terminal, users can simply make it echo a bell character:
Note the ^G is a literal bell character. E.g. in vim, insert using the sequence Ctrl+v Ctrl+g . If Ctrl+v is mapped, e.g. for pasting, one can usually use Ctrl+q instead. In nano, Alt+v Ctrl+g .
alt=»Tango-view-fullscreen.png» width=»48″ height=»48″ />This article or section needs expansion. alt=»Tango-view-fullscreen.png» width=»48″ height=»48″ />
Another option is to set the SUDO_PROMPT environment variable. For example, add the following to your shell configuration file:
Passing aliases
Aliases in Zsh and Bash are normally only expanded for the first word in a command. This means that your aliases will not normally get expanded when running the sudo command. One way to make the next word expand is to make an alias for sudo ending with a space. Add the following to your shell’s configuration file:
If the replacement text ends with a space, the next word in the shell input is always eligible for purposes of alias expansions.
If the last character of the alias value is a blank, then the next command word following the alias is also checked for alias expansion.
Disable per-terminal sudo
If you are annoyed by sudo’s defaults that require you to enter your password every time you open a new terminal, set timestamp_type to global :
Reduce the number of times you have to type a password
If you are annoyed that you have to re-enter your password every 5 minutes (default), you can change this by setting a longer value for timestamp_timeout (in minutes):
If you are using a lot of sudo commands on a row, it is more logical to refresh the timeout every time you use sudo than to increase timestamp_timeout . Refreshing the timeout can be done with sudo -v (whereas sudo -K revokes immediately).
You might want to automate this by adding the following to your shell initialization files:
It is also possible to use a bash function; for more details see stackexchange.
Environment variables
If you have a lot of environment variables, or you export your proxy settings via export http_proxy=». » , when using sudo these variables do not get passed to the root account unless you run sudo with the -E / —preserve-env option.
The recommended way of preserving environment variables is to append them to env_keep :
Root password
Users can configure sudo to ask for the root password instead of the user password by adding targetpw (target user, defaults to root) or rootpw to the Defaults line in /etc/sudoers :
To prevent exposing your root password to users, you can restrict this to a specific group:
Disable root login
Users may wish to disable the root login. Without root, attackers must first guess a user name configured as a sudoer as well as the user password. See for example OpenSSH#Deny.
- Be careful, you may lock yourself out by disabling root login. Sudo is not automatically installed and its default configuration allows neither passwordless root access nor root access with your own password. Ensure a user is properly configured as a sudoer before disabling the root account!
- If you have changed your sudoers file to use rootpw as default, then do not disable root login with any of the following commands!
- If you are already locked out, see Password recovery for help.
The account can be locked via passwd :
A similar command unlocks root.
Alternatively, edit /etc/shadow and replace the root’s encrypted password with «!»:
To enable root login again:
kdesu
kdesu may be used under KDE to launch GUI applications with root privileges. It is possible that by default kdesu will try to use su even if the root account is disabled. Fortunately one can tell kdesu to use sudo instead of su. Create/edit the file
or use the following command:
Harden with sudo example
Let us say you create 3 users: admin, devel, and archie. The user «admin» is used for journalctl, systemctl, mount, kill, and iptables; «devel» is used for installing packages, and editing configuration files; and «archie» is the user you log in with. To let «archie» reboot, shutdown, and use netctl we would do the following:
Edit /etc/pam.d/su and /etc/pam.d/su-l . Require user be in the wheel group, but do not put anyone in it.
Limit SSH login to the ‘ssh’ group. Only «archie» will be part of this group.
Add users to other groups.
Set permissions on configs so devel can edit them.
With this setup, you will almost never need to login as the root user.
«archie» can connect to their home WiFi.
«archie» can not use netctl as any other user.
When «archie» needs to use journalctl or kill run away process they can switch to that user.
But «archie» cannot switch to the root user.
If «archie» want to start a gnu-screen session as admin they can do it like this:
Configure sudo using drop-in files in /etc/sudoers.d
sudo parses files contained in the directory /etc/sudoers.d/ . This means that instead of editing /etc/sudoers , you can change settings in standalone files and drop them in that directory. This has two advantages:
- There is no need to edit a sudoers.pacnew file;
- If there is a problem with a new entry, you can remove the offending file instead of editing /etc/sudoers (but see the warning below).
The format for entries in these drop-in files is the same as for /etc/sudoers itself. To edit them directly, use visudo -f /etc/sudoers.d/somefile . See sudoers(5) § Including other files from within sudoers for details.
The files in /etc/sudoers.d/ directory are parsed in lexicographical order, file names containing . or
are skipped. To avoid sorting problems, the file names should begin with two digits, e.g. 01_foo .
Editing files
sudo provides the sudoedit command (equivalent to sudo -e ). This is useful for editing files which can be edited by root only while still running the editor as a normal user, and using that user’s configuration.
To edit a file, set SUDO_EDITOR to the name of the editor and pass the file name to sudoedit . For example:
If multiple names are passed to sudo , all files are opened in the editor in a single invocation. A feature useful for merging files:
Enable insults
Users can enable the insults easter egg in sudo by adding the following line in the sudoers file with visudo .
Upon entering an incorrect password this will replace Sorry, try again. message with humorous insults.
Enable password input feedback
By default, there is no visual feedback when you input a password. That is done on purpose for extra security. However, if you wish to have visual input, you can enable it by adding this line:
Colored password prompt
To customize the password prompt with colors and/or bold fonts, set the SUDO_PROMPT environment variable in your shell initialization file and use tput(1) .
For example, to set the password prompt to display Password: in bold red, use this:
Or use different colors with the default message like so:
alt=»Merge-arrows-2.png» width=»48″ height=»48″ />This article or section is a candidate for merging with Color output in console. alt=»Merge-arrows-2.png» width=»48″ height=»48″ />
TroubleshootingSSH problem without TTYalt=»Merge-arrows-2.png» width=»48″ height=»48″ />This article or section is a candidate for merging with #Configuration. alt=»Merge-arrows-2.png» width=»48″ height=»48″ /> SSH does not allocate a tty by default when running a remote command. Without an allocated tty, sudo cannot prevent the password from being displayed. You can use ssh’s -t option to force it to allocate a tty. The Defaults option requiretty only allows the user to run sudo if they have a tty. Permissive umaskalt=»Merge-arrows-2.png» width=»48″ height=»48″ />This article or section is a candidate for merging with #Configuration. alt=»Merge-arrows-2.png» width=»48″ height=»48″ /> Sudo will union the user’s umask value with its own umask (which defaults to 0022). This prevents sudo from creating files with more open permissions than the user’s umask allows. While this is a sane default if no custom umask is in use, this can lead to situations where a utility run by sudo may create files with different permissions than if run by root directly. If errors arise from this, sudo provides a means to fix the umask, even if the desired umask is more permissive than the umask that the user has specified. Adding this (using visudo ) will override sudo’s default behavior: This sets sudo’s umask to root’s default umask (0022) and overrides the default behavior, always using the indicated umask regardless of what umask the user as set. Администратор в Ubuntu, или Что такое sudoВ любой Linux-системе обязательно есть один привилегированный пользователь — root. Этот пользователь имеет права на выполнение любых действий, удаление любых файлов и изменение любых параметров. Как-то ограничить свободу действий root практически невозможно. С другой стороны, все остальные пользователи системы обычно не имеют большинства необходимых прав, например, прав на установку программ, поскольку это является административной операцией, права на которую есть только у root. Ещё одной распространённой операцией, доступной только суперпользователю, является копирование и изменение файлов в системных папках, куда обычный пользователь доступа не имеет. Раньше данная проблема решалась достаточно просто: при обладании паролем root можно было зайти в систему под его аккаунтом либо временно получить его права, используя команду su . Потом выполнить все необходимые операции и вернуться обратно под обычного пользователя. В принципе, такая схема работает неплохо, однако у неё есть много существенных недостатков, в частности, невозможно никак (точнее, очень сложно) ограничивать административные привилегии только определённым кругом задач. Поэтому в современных дистрибутивах Linux вместо root аккаунта для администрирования используется утилита sudo . В Ubuntu по умолчанию root аккаунт вообще отключён, т.е. вы никаким способом не сможете попасть под root, не включив его. root именно что отключён, т.е. он присутствует в системе, под него всего лишь нельзя зайти. Если вы хотите вернуть возможность использовать root, смотрите ниже пункт о включении root аккаунта. Что такое sudosudo — это утилита, предоставляющая привилегии root для выполнения административных операций в соответствии со своими настройками. Она позволяет легко контролировать доступ к важным приложениям в системе. По умолчанию, при установке Ubuntu первому пользователю (тому, который создаётся во время установки) предоставляются полные права на использование sudo. Т.е. фактически первый пользователь обладает той же свободой действий, что и root. Однако такое поведение sudo легко изменить, об этом см. ниже в пункте про настройку sudo. Где используется sudosudo используется всегда, когда вы запускаете что-то из меню Администрирования системы. Например, при запуске Synaptic вас попросят ввести свой пароль. Synaptic — это программа управления установленным ПО, поэтому для её запуска нужны права администратора, которые вы и получаете через sudo вводя свой пароль. Однако не все программы, требующие административных привилегий, автоматически запускаются через sudo. Обычно запускать программы с правами администратора приходится вручную. Запуск графических программ с правами администратораДля запуска графических программ с правами администратора можно воспользоваться диалогом запуска программ, вызываемым по умолчанию сочетанием клавиш Alt + F2 . Допустим, нам необходимо запустить файловый менеджер Nautilus с правами администратора, чтобы через графический интерфейс как-то изменить содержимое системных папок. Для этого необходимо ввести в диалог запуска приложений команду Вместо gksudo можно подставить gksu , кроме того, пользователи KDE должны вместо gksudo писать kdesu . У вас попросят ввести свой пароль, и, если вы обладаете нужными правами, Nautilus запуститься от имени администратора. Запуск любого графического ПО можно производить с правами администратора, просто написав в диалоге запуска Запуск программ с правами администратора в терминалеДля запуска в терминале команды с правами администратора просто наберите перед ней sudo : У вас попросят ввести ваш пароль. Будьте внимательны, пароль при вводе никак не отображается, это нормально и сделано в целях безопасности, просто вводите до конца и нажимайте Enter . После ввода пароля указанная команда исполнится от имени root. Система какое-то время помнит введённый пароль (сохраняет открытой sudo-сессию). Поэтому при последующих выполнениях sudo ввод пароля может не потребоваться. Для гарантированного прекращения сессии sudo наберите в терминале Кроме того, часто встречаются ошибки, связанные с каналами в Linux. При исполнении команды с правами root исполнится только cat , поэтому файл result.txt может не записаться. Нужно либо писать sudo перед каждой командой, либо временно переходить под суперпользователя. Получение прав суперпользователя для выполнения нескольких командИногда возникает необходимость выполнить подряд несколько команд с правами администратора. В этом случае можно временно стать суперпользователем одной из следующих команд: После этого вы перейдёте в режим суперпользователя (с ограничениями, наложенными через настройки sudo), о чём говорит символ # в конце приглашения командной строки. Данные команды по действию похожа на su , однако: — sudo -s — не меняет домашний каталог на /root, домашним остается домашний каталог пользователя вызвавшего sudo -s, что обычно очень удобно. — sudo -i — сменит так же и домашний каталог на /root. Для выхода обратно в режим обычного пользователя наберите exit или просто нажмите Ctrl + D . Использование традиционного root аккаунта и команды suUbuntu 11.04 и младшеДля входа под root достаточно задать ему пароль: Потом на экране входа нажмите Другой… и введите логин (root) и пароль, который вы задали. Ubuntu 11.10 и старшеНачиная с версии 11.10 был установлен менеджер входа lightdm, и дело со входом под root обстоит немного сложнее. 1. Устанавливаем root пароль. Введите в терминал: 2. Включаем пункт «Введите логин». Введите в терминал: В конце файла допишите: 3. Перезагружаем lightdm. Введите в терминал: Все, на экране входа появится пункт «Логин». В поле логин вводим «root», в поле пароль — пароль, который мы задали на первом этапе. Для обратной блокировки учетной записи root вам потребуется откатить изменения в настройках lightdm, а также заблокировать учетную запись root командой в терминале: Настройка sudo и прав доступа на выполнение различных командsudo позволяет разрешать или запрещать пользователям выполнение конкретного набора программ. Все настройки, связанные с правами доступа, хранятся в файле /etc/sudoers . Это не совсем обычный файл. Для его редактирования необходимо (в целях безопасности) использовать команду По умолчанию, в нём написано, что все члены группы admin имеют полный доступ к sudo , о чём говорит строчка Подробнее о синтаксисе и возможностях настройки этого файла можно почитать выполнив Разрешение пользователю выполнять команду без ввода пароляДля того, что бы система не запрашивала пароль при определенных командах необходимо в sudoers после строки # Cmnd alias specification добавить строку, где через запятую перечислить желаемые команды с полным путём(путь команды можно узнать, выполнив which имя_команды: И в конец файла дописать строку Создание синонимов (alias`ов)Для того, чтобы не только не вводить пароль для sudo, но и вообще не вводить sudo, сделайте следующее: откройте файл .bashrc, находящейся в вашем домашнем каталоге и добавьте в конец файла строки Время действия введённого пароляВозможно, вы хотите изменить промежуток времени, в течение которого sudo действует без ввода пароля. Этого легко добиться добавив в /etc/sudoers (visudo) примерно следующее: Здесь sudo для пользователя foo действует без необходимости ввода пароля в течение 20 минут. Если вы хотите, чтобы sudo всегда требовал ввода пароля, сделайте timestamp_timeout равным 0. sudo не спрашивает парольsudo без пароля — чудовищная дыра в безопасности, кому попало разрешено делать что угодно. Если вы разрешили это намеренно — срочно верните обратно как было. Однако, в некоторых случаях sudo внезапно перестаёт требовать пароль само по себе. Если сделать visudo , то можно увидеть примерно такую строку, которую пользователь вроде бы не добавлял: Скорее всего, эта катастрофичная строка была добавлена при установке программы типа Connect Manager от МТС или Мегафона. В таком случае, её нужно поменять на строку, разрешающую с правами root запускать только этот Connect Manager, примерно так: |