Я столкнулся с этим в изолированной среде (, в которой безопасность не была -проблемой )и была решена простым запуском svn ls
в репозитории с соответствующими учетными данными с помощью (linux )yes
, хотя я обнаружил, что мне пришлось удалить каталог ~/.subversion
, чтобы заставить его работать. В частности:
rm -fr ~/.subversion
yes yes | svn --username=user --password=guest ls svn://server/repo &>/dev/null
Затем все последующие команды svn будут использовать эти учетные данные на этом сервере. Конечно, можно передать yes yes
любой команде svn, у которой есть опция --password
.
наслаждайтесь!
I want my user xxxx to NOT have root access, except when using sudo.
На самом деле это нормальное состояние для обычных пользователей. :вам не нужно ничего делать, кроме как настроить sudo
, чтобы указать, какие команды разрешать.
root ALL=(ALL:ALL) ALL
Эта строка существует только для того, чтобы разрешить использование sudo
, если вы уже переключились на пользователя root. Важная строка, которая предоставляет разрешения не -root-пользователям, это:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
(В некоторых дистрибутивах Linux первый обычный пользователь, созданный во время установки ОС, может стать членом группы sudo
и, таким образом, для него будет автоматически включен root-доступ. Это исключение, а не значение по умолчанию для всех пользователей.)
Основная форма спецификации разрешений в файле sudoers:
<who> <where>=(<as_who>) <what>
<who>
указывает, какие пользователи (и )могут использовать эту запись. Это может быть пользователь, группа (с префиксом % )или ранее -определенный Пользователь _Псевдоним (в основном сокращение для длинного списка пользователей и/или групп ). ] и некоторые другие вещи.
<where>
может быть именем хоста. :ограничивает эту запись конкретной системой. Это может быть полезно в корпоративной среде, где вы устанавливаете централизованно -управляемый стандартный файл sudoers
на все хосты, но часто это указывается как ВСЕ, чтобы избежать проблем в случае, если разрешение имени хоста не работает или система неправильно настроена.
(<as_who>)
определяет учетную запись пользователя (s ), под которой могут выполняться команды. По умолчанию используется root, но вы также можете ограничить пользователя, чтобы он мог запускать команды с помощью sudo, например, только для определенной учетной записи приложения, отличной от -.
<what>
— это команда (или команды, разделенные запятыми )для разрешения.
Существуют также различные теги и параметры, но вышеперечисленное является важной частью файла sudoers
в двух словах.
When using sudo I want the xxxx user to be prompt for the root password and not his own password
Это возможно, и это довольно легко сделать. Если вы добавите эти строки в свой файл sudoers
:
Defaults:xxxx rootpw,timestamp_timeout=0
xxxx ALL=(ALL:ALL) ALL
затем для пользователяxxxx
(и только для них ), команда sudo
запросит пароль root -и будет запрашивать каждый раз, Используется команда sudo
вместо поведения по умолчанию, позволяющего до 15 минут использовать команду sudo
без повторного запроса пароля.
Это важно, если вы планируете следить за пользователем и вводить пароль root самостоятельно, когда это необходимо этому пользователю. -Если вы пропустите опцию timestamp_timeout=0
, пользователь может сначала попросить вас ввести пароль root для некоторых законные действия, а затем отвлекут вас в течение следующих 15 минут, и в течение этого времени они смогут использовать sudo
для всего, что захотят.
Но обратите внимание, что если вы сообщите своему пользователю пароль root, они смогут использовать его с командой su
также , если только вы не применяете ограничения по умолчанию -к su
. Классический (и обычно единственный )способ ограничить su
— потребовать, чтобы пользователь был членом определенной группы, иначе он вообще не сможет использовать su
. Чтобы применить это ограничение, отредактируйте /etc/pam.d/su
и найдите эту часть в самом начале:
# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth required pam_wheel.so
Просто удалите #
в начале последней строки, и команда su
будет доступна только членам группы root
.