<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-31093120-1']);
  _gaq.push(['_setDomainName', 'linux-user.eu']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linux-user.eu/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
		<id>http://wiki.linux-user.eu/index.php?action=history&amp;feed=atom&amp;title=Ograniczenie_Bash%27a</id>
		<title>Ograniczenie Bash'a - Historia wersji</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linux-user.eu/index.php?action=history&amp;feed=atom&amp;title=Ograniczenie_Bash%27a"/>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php?title=Ograniczenie_Bash%27a&amp;action=history"/>
		<updated>2026-06-03T02:32:24Z</updated>
		<subtitle>Historia wersji tej strony wiki</subtitle>
		<generator>MediaWiki 1.19.1</generator>

	<entry>
		<id>http://wiki.linux-user.eu/index.php?title=Ograniczenie_Bash%27a&amp;diff=1031&amp;oldid=prev</id>
		<title>Slawek: Napisanie artykułu</title>
		<link rel="alternate" type="text/html" href="http://wiki.linux-user.eu/index.php?title=Ograniczenie_Bash%27a&amp;diff=1031&amp;oldid=prev"/>
				<updated>2012-11-04T08:41:02Z</updated>
		
		<summary type="html">&lt;p&gt;Napisanie artykułu&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Bezpieczeństwo]]&lt;br /&gt;
== Ograniczenie Bash'a ==&lt;br /&gt;
W tym miejscu postaram się wyjaśnić w jaki sposób można przypisać danemu użytkownikowi w systemie tylko te polecenia, które chcemy aby mógł wykonać w konsoli bash'a. Takie ograniczenie w pewnym stopniu pozwala na wprowadzenie kontroli nad tym kto co może zrobić w systemie.&lt;br /&gt;
Poniższe kroki testowałem na systemach z rodziny RH.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja systemu ===&lt;br /&gt;
Na początku tworzymy link symboliczny za pomocą polecenia [[ls]] do bash'a, możemy go nazwać jak kolwiek chcemy.&lt;br /&gt;
 ln -s /bin/bash /opt/nowy-bash&lt;br /&gt;
Dodajemy użytkownika, którego domyślnym shell'em będzie nasz ''nowy-bash'' lub też zmieniamy domyślnego shell'a już istniejącemu użytkownikowi&lt;br /&gt;
 useradd test -s /opt/nowy-bash&lt;br /&gt;
 passwd test&lt;br /&gt;
dodajemy katalog w którym będziemy umieszczać linki do programów shell'a&lt;br /&gt;
 mkdir /home/test/bin&lt;br /&gt;
i dodajemy linki z istniejących programów shell'a do naszej nowej lokalizacji. Oczywiście linki tworzymy tylko do tych programów do których użytkownik ma mieć dostęp&lt;br /&gt;
 ln -s /bin/ping /home/test/bin/ping&lt;br /&gt;
uniemożliwiamy zmianę pliku ''.bash_profile'' przez zwykłego użytkownika&lt;br /&gt;
 chown root. /home/cern/.bash_profile&lt;br /&gt;
 chmod 755 /home/cern/.bash_profile&lt;br /&gt;
edytujemy plik .bash_profile użytkownika, któremu ograniczamy shell'a i zmieniamy ścieżkę zmiennej ''PATH'' do folderu z udostępnionymi poleceniami&lt;br /&gt;
 vim /home/test/.bash_profile&lt;br /&gt;
 PATH=$HOME/bin&lt;br /&gt;
teraz możesz sprobować zalogować się na danego użytkownika, efekt powinien być podobny do poniższego&lt;br /&gt;
 su test&lt;br /&gt;
 cd&lt;br /&gt;
 -rbash: cd: restricted&lt;br /&gt;
&lt;br /&gt;
 ls&lt;br /&gt;
 -rbash: ls: command not found&lt;br /&gt;
&lt;br /&gt;
 ping wp.pl&lt;br /&gt;
 PING wp.pl (212.77.100.101) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=1 ttl=247 time=10.1 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=2 ttl=247 time=10.1 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=3 ttl=247 time=9.93 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=4 ttl=247 time=10.2 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=5 ttl=247 time=10.8 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=6 ttl=247 time=14.0 ms&lt;br /&gt;
 64 bytes from www.wp.pl (212.77.100.101): icmp_req=7 ttl=247 time=13.8 ms&lt;br /&gt;
 ^C&lt;br /&gt;
 --- wp.pl ping statistics ---&lt;br /&gt;
 7 packets transmitted, 7 received, 0% packet loss, time 6007ms&lt;br /&gt;
 rtt min/avg/max/mdev = 9.937/11.316/14.075/1.707 ms&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;google1 style=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;/google1&amp;gt;&lt;/div&gt;</summary>
		<author><name>Slawek</name></author>	</entry>

	</feed>