Более кратким awk
решением может быть:
awk '!(NF==1&&$1==",")' /path/to/file
awk
по умолчанию печатает всю строку, пока предикат/фильтр/условие истинно
. NF==1
) being ","
. Традиционно в дистрибутивах на основе Debian, таких как Debian/Ubuntu/Mint/Kali/Antix, группой по умолчанию для sudo является, ну, sudo
.
Таким образом, чтобы добавить пользователей без пароля sudo
в систему на основе Debian, выполните следующие действия::
Установитьsudo
В Debian, в зависимости от параметров установки, вы часто не устанавливаете sudo
по умолчанию.
Если пакет sudo
не установлен (, например. у вас нет /etc/sudoers
), запустите как root:
# apt install sudo
Добавить пользователя в группу sudo
Добавить пользователя в группу sudo, если он еще не входит в группу sudo (Ubuntu и производные системы автоматически добавляют пользователя, созданного при установке, в группу sudo ).
При настройке первого пользователя sudo вы попали к первому какroot
:
# gpasswd -a <primary account> sudo
Если у вас уже есть пользователь sudo
, в целях безопасности рекомендуется настроить других пользователей в группе sudo через этого пользователя:
$ sudo gpasswd -a <primary account> sudo
Измените /etc/sudoers
для добавления директивы NOPASSWD
Затем вы редактируете строку по умолчанию в /etc/sudoers
для группы sudo
с помощью :
$ sudo visudo
и измените его с:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
-:
# Allow members of group sudo to execute any command, no password
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Выйдите из системы и войдите снова
Если вы вошли в систему,предполагаемый пользователь должен затем выйти из системы и войти в систему, чтобы изменение пользователя, принадлежащего к группе sudo
, вступило в силу.
ПРИМЕЧАНИЕ.:В Debian группа wheel
часто используется для ограничения в PAM использования su
группой вместо использования ее для команды sudo
, как в дистрибутивах на основе RedHat/SuSE.
Традиционно в дистрибутивах на основе Debian для команды sudo
используется группа sudo
.
В большинстве дистрибутивов есть эта строка в/etc/sudoers/
:
#includedir /etc/sudoers.d
Следовательно, простой способ добавить одного пользователя — создать соответствующий файл в каталоге /etc/sudoers.d/
; Обычно я называю его для добавляемого пользователя:
add_sudoer() {
if ! test -n "$1"
then echo "Usage: $0 <user>" >&2; return
fi
printf >"/etc/sudoers.d/$1" '%s ALL= NOPASSWD: ALL\n' "$1"
}
Вы также можете добавить в файл Defaults:%s !lecture, !authenticate\n
и/или другие параметры.
В качестве альтернативы вы можете использовать пакет Python pudo .
Установка:
user$ sudo -H pip3 install pudo # you can install using pip2 also
Ниже приведен фрагмент кода для использования в автоматизации Python для запуска команд с привилегиями root::
user$ python3 # or python2
>>> import pudo
>>> (ret, out) = pudo.run(('ls', '/root')) # or pudo.run('ls /root')
>>> print(ret)
>>> 0
>>> print(out)
>>> b'Desktop\nDownloads\nPictures\nMusic\n'
Ниже приведен пример cmd для запуска команд с привилегиями root
user$ pudo ls /root
Desktop Downloads Pictures Music