<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bappoy&#039;s blog &#187; sudo</title>
	<atom:link href="http://bappoy.pp.ru/tag/sudo/feed" rel="self" type="application/rss+xml" />
	<link>http://bappoy.pp.ru</link>
	<description>Линуксоид на велосипеде с моторчиком</description>
	<lastBuildDate>Fri, 02 Dec 2011 11:44:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Заметки на память</title>
		<link>http://bappoy.pp.ru/2009/09/07/782.html</link>
		<comments>http://bappoy.pp.ru/2009/09/07/782.html#comments</comments>
		<pubDate>Mon, 07 Sep 2009 10:34:37 +0000</pubDate>
		<dc:creator>bappoy</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[su]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[syslog]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://bappoy.pp.ru/?p=782</guid>
		<description><![CDATA[<p>Если после перезагрузки не сохраняются параметры клавиатуры в Gnome-окружении Debian или Ubuntu, поможет добавление <strong>setxkbmap</strong> в приложения, запускаемые автоматически при входе в систему (&laquo;Система — Параметры — Запускаемые приложения&raquo; или &laquo;System — Parameters — Sessions&raquo;)</p>
<p>Если при монтировании расшаренного через Samba каталога через mount.cifs симлинки отображаются как локальные ссылки, нужно на обеих машинах в <strong>smb.conf</strong> отключить unix extensions, которые и отвечают за такое поведение символических ссылок:</p>
<pre>unix extensions = no</pre>
<p>Если в Ubuntu одновременно перестали работать su, sudo, входы в систему с консоли и через ssh (основной симптом: зависает после ввода пароля), то для постановки окончательного дифференциального диагноза можно попробовать выполнить команду &laquo;logger test&raquo;. Если и это зависает, то налицо проблема с демоном syslogd. В моем случае решение вылилось в отключении опции &laquo;<strong>-r</strong>&raquo; в<strong>/etc/default/syslogd</strong> (принимать сообщения по сети), которая однажды была добавлена мной для удаленной отладки одного voip-телефона. На самом деле это явная бага, которая, судя по <a href="https://bugs.launchpad.net/ubuntu/+source/sysklogd/+bug/26986">Ubuntu Bug 26986</a>, тянется аж с 2005 года.</p>
]]></description>
		<wfw:commentRss>http://bappoy.pp.ru/2009/09/07/782.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>su vs sudo</title>
		<link>http://bappoy.pp.ru/2008/11/10/su-vs-sudo.html</link>
		<comments>http://bappoy.pp.ru/2008/11/10/su-vs-sudo.html#comments</comments>
		<pubDate>Mon, 10 Nov 2008 06:27:18 +0000</pubDate>
		<dc:creator>bappoy</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://bappoy.pp.ru/?p=293</guid>
		<description><![CDATA[<p>С давних времен многих смущает разнообразие вариантов обеспечения безопасности при выполнении операций с максимальными привилегиями. Например, в официальной документации ubuntu в качестве команды редактирования рекомендуется использовать что-то вроде sudo nano, а в многочисленных любительских мануалах (в стиле &laquo;5 фокусов в командной строке, которые удивят вашу бабушку&raquo;) для получения root&#8217;ового шелла предлагается писать &laquo;sudo su -&raquo;. Попробую объяснить, почему такое положение вещей кажется мне неправильным. </p>
<p>Исторически единственным универсальным способом выполнить команду от имени другого пользователя в Unix была программа su. Запущенная без параметров, она запрашивала пароль суперпользователя и в случае успеха просто подменяла текущее имя пользователя на root, оставляя почти все переменные окружения  от старого пользователя (кроме PATH, USER и еще пары-тройки, см. <code>man su</code> от своего дистрибутива). Более правильно было запускать ее как <code>su -</code> &#8212; в таком случае оболочка получала также и правильный environment. С параметром <code>-c</code> можно было выполнить команду: <code>su -c "vim /etc/fstab"</code>.</p>
<p>При этом пользователям приходилось помнить пароль root&#8217;а и у всех пользователей, перечисленных в группе &laquo;0&#8243; (т.е. в группе, члены которой могли выполнить команды su и стать суперпользователем), был одинаковый неограниченный доступ ко всей системе, что являлось серьёзной проблемой безопасности.</p>
<p>Затем появилась команда sudo, и это был прорыв. Теперь администратор мог указывать список разрешенных команд для каждого пользователя (или группы пользователей), файлы, доступные для редактирования, специальные переменные окружения и многое другое (все это великолепие управляется из <code>/etc/sudoers</code>, см. <code>man sudoers</code> от своего дистрибутива). При запуске sudo спрашивает у пользователя его собственный пароль, а не пароль root. Полноценный шелл можно получить с помощью &laquo;<code>sudo -i</code>&raquo;</p>
<p>Стоит особо упомянуть о  специальной команде <code>sudoedit</code>, безопасно запускающей редактор, указанный в переменной окружения <code>$EDITOR</code>. При более традиционной схеме редактирование файлов производилось примерно так:</p>
<pre>sudo vim /etc/fstab</pre>
<p>Запускаемый таким образом vim наследовал оболочку с неограниченными правами и через :! пользователь мог запускать любую команду (если, конечно, админ не позаботился об этом заранее) и открыть любой файл.</p>
<p>sudoedit проверяет, можно ли этому пользователю изменять данный файл,  затем копирует указанный файл во временный каталог, открывает его в редакторе, после редактирования, если файл был изменён, с особыми предосторожностями копирует его обратно.</p>
<p>В Debian-based дистрибутивах пользователь root не имеет пароля, вместо этого все административные действия должны производиться через sudo или его графический аналог gksudo. Являясь полной заменой su, sudo должна бы быть единственной командой переключения между пользователями, однако, как было сказано вначале, в настоящий момент это не так и все зачем-то изобретают дикие последовательности из sudo, su, vi и черточек. </p>
<p>Поэтому предлагаю  всем раз и навсегда запомнить:</p>
<div align="center">
<table border="1" width="60%">
<tr>
<td align="right">выполнить команду от имени root:</td>
<td><b>sudo command</b></td>
</tr>
<tr>
<td align="right">редактирование файлов от имени root:</td>
<td><b>sudoedit file</b></td>
</tr>
<tr>
<td align="right">оболочка root:</td>
<td><b>sudo -i</b></td>
</tr>
</table>
</div>
<p><b>Upd.</b> Тут коллеги в комментариях жалуются на то, что <code>sudo echo 1 >> /etc/apt/sources.list</code> не работает. Это происходит потому, что права повышаются только для команды echo, а результат уже перенаправляется в файл с правами обычного пользователя. Чтобы добавить что-нибудь в privileged_file, нужно выполнить такую команду:</p>
<pre>
echo 1| sudo tee -a privileged_file >/dev/null
</pre>
]]></description>
		<wfw:commentRss>http://bappoy.pp.ru/2008/11/10/su-vs-sudo.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

