LinuxForum.Fans
Тема

Вопросы юного debian'щика

Автор: foozzi 201 сообщений 48434 просмотров
#182977

как сконфигурировать sudo что бы не наблюдать
[console] is not in the sudoers file. This incident will be reported.[/console]
при команде sudo <name> ?

#182979
foozzi написал:
как сконфигурировать sudo

Запустите команду visudo, перед этим man sudoers.
Опишите, выполнение каких команд и для какого пользователя вы хотите настроить?

#182982

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

#182984

Проще всего, как советовал emlsch, добавить строку (используя команду visudo!) к файлу /etc/sudoers:

text
 %wheel ALL=(ALL) ALL

либо так, чтобы не запрашивался пароль:

text
%wheel ALL=(ALL) NOPASSWD: ALL

Ну и, разумеется, убедиться, что пользователь входит в группу wheel.
P.S. Прочитайте всё же man sudoers — многие вопросы просто отпадут. Да и сам файл /etc/sudoers очень хорошо прокомментирован.

#183094

Lupo Alberto
В Debian/Ubuntu вместо группы wheel используется группа sudo.

#183286

sudo настроил.

еще вопрос, стоит гном, при установке icewm или jwm из репозитория, gdm поменяется? или гномовский будет?

#183331

foozzi
Не поменяется.

#184257

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

Подскажите пожалуйста, как команда
[console]update-alternatives --config имя_программы[/console]
находит доступные альтернативы?

#184281

Forsaken, конкретный вопрос где? В связи с чем вопрос возник?

#184291

newzenon,
Прошу прощения, опишу вопрос подробнее.
Вот например:
[console]morose@debian:~$ sudo update-alternatives --config editor
[sudo] password for forsaken:
Есть 2 варианта для альтернативы editor (предоставляет /usr/bin/editor).

Выбор Путь Приор Состояние
------------------------------------------------------------
* 0 /bin/nano 40 автоматический режим
1 /bin/nano 40 ручной режим
2 /usr/bin/vim.tiny 10 ручной режим

Нажмите enter, чтобы сохранить текущий выбор[* ], или введите выбранное число:
[/console]
Более четкий вопрос - откуда берется этот список (т.е. где он хранится или как динамически строится и т.д.)? Хотелось бы понять как это работает...

И еще возник небольшой вопрос... Мне нужно добавить переменную окружения JAVA_HOME, как я прочел лучше всего ее прописывать не в /etc/profile, а создать фаил ~/.bash_profile и поместить её туда, что я и сделал:

text

JAVA_HOME=/opt/jdk1.6.0_26
export JAVA_HOME

Пере логинился, но что-то в списках этой переменной нет:
[console]
morose@debian:~$ echo $JAVA_HOME

morose@debian:~$
[/console]
Подскажите пожалуйста, что я сделал неправильно.

#184299

А я бы поместил эту переменную именно в /etc/profile.
У меня tcsh, тал что проверить не могу.

Посмотрите в /usr/share/doc/bash/examples/startup-files/, что должно
быть в этих файлах. Действительно, если ~/.bash_profile существует,
должен исполняться именно он, но вдруг это не так?
Это пакет bash-doc.
Если уже существует ~/bash_login, а если его нет, но есть ~/.profile,
то лучше установить эту переменную в том, который уже есть.

Пётр.

#184304

update-alternatives - это всё механизмы dpkg может это поможет: http://ru.wikipedia.org/wiki/Alternatives
Также можно добовлять альтернативы: update-alternatives --install

Куда добавлять переменные поищи тут большой дискус был, но в общем если глобально не нужно, то наверное в ~/.profile

#184330
Peter написал:
Посмотрите в /usr/share/doc/bash/examples/startup-files/, что должно
быть в этих файлах. Действительно, если ~/.bash_profile существует,
должен исполняться именно он, но вдруг это не так?
Это пакет bash-doc.
Если уже существует ~/bash_login, а если его нет, но есть ~/.profile,
то лучше установить эту переменную в том, который уже есть.

есть ещё ~/.bashrc
а ещё есть скрипты инициализации X11, и скрипты инициализации WM.

Действительно, если ~/.bash_profile существует,
должен исполняться именно он, но вдруг это не так?

конечно не так ;)
в смысле - не должен.
есть ещё /etc/profile, а в слаке (и вроде не только) /etc/profile.d/*

#184334
drBatty написал:

есть ещё /etc/profile, а в слаке (и вроде не только) /etc/profile.d/*

В Deb /etc/profile.d/* на месте.

#184342
drBatty написал:
[quote=Peter]Посмотрите в /usr/share/doc/bash/examples/startup-files/, что должно
быть в этих файлах. Действительно, если ~/.bash_profile существует,
должен исполняться именно он, но вдруг это не так?
Это пакет bash-doc.
Если уже существует ~/bash_login, а если его нет, но есть ~/.profile,
то лучше установить эту переменную в том, который уже есть.

есть ещё ~/.bashrc
а ещё есть скрипты инициализации X11, и скрипты инициализации WM.

Действительно, если ~/.bash_profile существует,
должен исполняться именно он, но вдруг это не так?

конечно не так ;)
в смысле - не должен.
есть ещё /etc/profile, а в слаке (и вроде не только) /etc/profile.d/*[/quote]
В "man bash" говорится, что при входе исполняется 1-й из существуюших файлов
в $HOME, ищушихся в порядке: .bash_profile, .bash_login, .profile.

Пётр.

#184388

newzenon,

Куда добавлять переменные поищи тут большой дискус был, но в общем если глобально не нужно, то наверное в ~/.profile

Как этот все работает я понял за исключением списков альтернатив.

Peter,
drBatty,
newzenon,
Я приблизительно понял как работать с переменными окружениями.
У меня была такая ситуация, я сделал файл .bash_profile прописал туда выше указанную мной переменную:

text
JAVA_HOME=/opt/jdk1.6.0_26
export JAVA_HOME

Но результат выполнения echo не чего не показал:
[console]
morose@debian:~$ echo $JAVA_HOME

morose@debian:~$
[/console]
Тогда я сделал так:
[console]
morose@debian:~$ eval $SHELL -l
morose@debian:~$ echo $JAVA_HOME
/opt/jdk1.6.0_26
[/console]

Пошел читать еще лучше о всей этой истории, оказалось что переменные окружения прописанные в ~/.bash_profile будут актуальны только после login'а того пользователя которому они предназначаются. Я же сначала загрузился в графическом режиме (не знаю как это правильно назвать), затем выбрал Приложения -> Стандартные -> Терминал - и похоже что bash в таком случае запускается без процедуры логина (уж простите меня за подобные формулировки - у меня нет опыта, и пока понимания). Однако, как я вычитал ~/.bashrc запускается для каждого запущенного bash'а в отличии от ~/.bash_profile.
Только, я решил что Пётр прав и такие вещи как jdk должны быть доступны для каждого пользователя в системе. По этому я прочел в документации что лучше всего не совать такие переменные в /etc/profile, а лучшее место для них будет /etc/environment. Что я и сделал и все заработало.

Если я что-то не так понял - поправьте меня пожалуйста. И большое спасибо за помощь Пётр, newzenon, drBatty

#184403

Ну правильно иксам на .bashrc как-то фиолетово (если запуск через gdm), вот если в иксах откроешь терминал, то если шеллом является bash, .bashrc и сопутствующие файлы сразу будут прочитаны.

#184405
Forsaken написал:
Я же сначала загрузился в графическом режиме (не знаю как это правильно назвать), затем выбрал Приложения -> Стандартные -> Терминал - и похоже что bash в таком случае запускается без процедуры логина (уж простите меня за подобные формулировки - у меня нет опыта, и пока понимания). Однако, как я вычитал ~/.bashrc запускается для каждого запущенного bash'а в отличии от ~/.bash_profile.

всё верно. в частности и в терминах. "Логин", это когда вы вводите логин, и пароль. Если вы просто запускаете shell, то никакого логина не нужно, и ~/.bash_login не выполняется. А ~/.bashrc это скрипт, который выполняется при старте bash. И, ЕМНИП, если выполняется второй, не выполняется первый. И наоборот. Я просто сделал симлинк с одного на другой, и теперь у меня по любому выполняется.

Forsaken написал:
Только, я решил что Пётр прав и такие вещи как jdk должны быть доступны для каждого пользователя в системе. По этому я прочел в документации что лучше всего не совать такие переменные в /etc/profile, а лучшее место для них будет /etc/environment. Что я и сделал и все заработало.

просто эти файлы разные, в разных системах. Лениво смотреть что там у вас в дебе. А написано это всё в man bash. Читать его надо вам и не мне. По той причине, что они немного у нас разные.

Forsaken написал:
$ eval $SHELL -l

зря вы так накручиваете. Уже писал ведь: хотите выполнить (точнее встроить) скрипт ~/.bash_login, так и пишите
[console]$ . ~/.bash_login[/console]
(точку не забудьте)

#184409

drBatty,

зря вы так накручиваете. Уже писал ведь: хотите выполнить (точнее встроить) скрипт ~/.bash_login, так и пишите

Не, я выполнив [console]$ eval $SHELL -l
[/console] т.е. запустив bash еще раз, и увидев что переменная окружения стала доступна.. понял, что я просто не понимаю как это все работает и пошел разбираться)

просто эти файлы разные, в разных системах. Лениво смотреть что там у вас в дебе. А написано это всё в man bash. Читать его надо вам и не мне. По той причине, что они немного у нас разные.

Дело еще в том, что я плохо ориентируюсь в документации линукса/юникса... Т.е. для меня очевидным становится что нужно было смотреть об этом в документации по bash, после того как мне подсказали, а самому додуматься до этого не получается) Что поделать - windows культура. Буду исправляться.

Войдите или зарегистрируйтесь, чтобы ответить.