<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://research.iat.sfu.ca/research/index.php?action=history&amp;feed=atom&amp;title=%2Fetc%2Flocalshell.conf</id>
	<title>/etc/localshell.conf - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://research.iat.sfu.ca/research/index.php?action=history&amp;feed=atom&amp;title=%2Fetc%2Flocalshell.conf"/>
	<link rel="alternate" type="text/html" href="https://research.iat.sfu.ca/research/index.php?title=/etc/localshell.conf&amp;action=history"/>
	<updated>2026-09-15T16:52:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://research.iat.sfu.ca/research/index.php?title=/etc/localshell.conf&amp;diff=5277&amp;oldid=prev</id>
		<title>Gordp: Created page with &quot; # localshell.conf  # $Header: /var/cvsroot/infrastructure/localshellc/doc/localshell.conf.complex,v 1.1 2005/07/18 02:21:26 robbat2 Exp $  # This file describes the behavior of …&quot;</title>
		<link rel="alternate" type="text/html" href="https://research.iat.sfu.ca/research/index.php?title=/etc/localshell.conf&amp;diff=5277&amp;oldid=prev"/>
		<updated>2011-03-05T04:46:16Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; # localshell.conf  # $Header: /var/cvsroot/infrastructure/localshellc/doc/localshell.conf.complex,v 1.1 2005/07/18 02:21:26 robbat2 Exp $  # This file describes the behavior of …&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; # localshell.conf&lt;br /&gt;
 # $Header: /var/cvsroot/infrastructure/localshellc/doc/localshell.conf.complex,v 1.1 2005/07/18 02:21:26 robbat2 Exp $&lt;br /&gt;
 # This file describes the behavior of localshell as a complete real-world&lt;br /&gt;
 # example.&lt;br /&gt;
 &lt;br /&gt;
 # comments start with a &amp;#039;#&amp;#039; in the first line only&lt;br /&gt;
 # blank lines are ignored.  every other line is parsed exactly as is,&lt;br /&gt;
 # whitespace IS significent the format of this file resembles shell scripts,&lt;br /&gt;
 # but NO special interpreation is done&lt;br /&gt;
 # so the format is: &lt;br /&gt;
 # VARNAME=&amp;quot;VARCONTENTS&amp;quot;&lt;br /&gt;
 # and the &amp;#039;&amp;quot;&amp;#039; are stripped.&lt;br /&gt;
 # each of these variables has a structure as such&lt;br /&gt;
 # [USER]:[GROUP],VALUE&lt;br /&gt;
 # where user and group can be either a numeric UID/GID or a name to be resolved&lt;br /&gt;
 # via NSS. For the purposes of matching, the GID is checked against both the&lt;br /&gt;
 # primary group of the current user, and the additional groups of the current&lt;br /&gt;
 # user. &lt;br /&gt;
 &lt;br /&gt;
 # every specific entry needs stuff in 3 parts&lt;br /&gt;
 # so the full format is:&lt;br /&gt;
 # entry=&amp;quot;[USER]:[GROUP],PRIORITY,SHELL,ALLOWED_CMDS&amp;quot;&lt;br /&gt;
 # priority,shell,allowed_cmds&lt;br /&gt;
 # - priorities takes a signed 32-bit integer. higher priorities take precedence&lt;br /&gt;
 # - the shells variable has two special cases: If &amp;#039;LOCALSHELL&amp;#039; is specified,&lt;br /&gt;
 # the user&amp;#039;s preferred_shell_file is checked to see what shell they would want&lt;br /&gt;
 # to use for being let in. If &amp;#039;DEFAULTSHELL&amp;#039; is specified, this shell is&lt;br /&gt;
 # enforced on the user.&lt;br /&gt;
 # - allowed_cmds takes a regular expression to see what command arguments are&lt;br /&gt;
 # allowed.&lt;br /&gt;
 entry=&amp;quot;:infrastructure,10000,LOCALSHELL,&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # SVN and CVS require that the user has a real shell&lt;br /&gt;
 # but we still want to limit what commands they can run.&lt;br /&gt;
 # so this is how you go about it.&lt;br /&gt;
 # note that &amp;#039;^svn&amp;#039; is not safe as they could find some other command starting with &amp;#039;svn&amp;#039; to abuse.&lt;br /&gt;
 ##entry=&amp;quot;:ePortfolio,6000,LOCALSHELL,&amp;quot;&lt;br /&gt;
 entry=&amp;quot;:users,5000,/bin/bash,&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # if you wanted to allow everybody in&lt;br /&gt;
 # you could use this&lt;br /&gt;
 #entry=&amp;quot;:,-2147483647,LOCALSHELL,&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # this is the default entry&lt;br /&gt;
 # it should always exist!&lt;br /&gt;
 # it enforces that for any case that doesn&amp;#039;t match above (lowest priority)&lt;br /&gt;
 # The user gets the default shell, and is allowed to specify arguments.&lt;br /&gt;
 # force secure alternative&lt;br /&gt;
 entry=&amp;quot;:,-2147483647,/bin/false,^$&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # these are defaults for the system&lt;br /&gt;
 # they are implicitly included if deleted here.&lt;br /&gt;
 &lt;br /&gt;
 # default_preferred_shell is what you get if you don&amp;#039;t have a&lt;br /&gt;
 # preferred_shell_file, and your shells line says &amp;#039;LOCALSHELL&amp;#039;&lt;br /&gt;
 # where to look for the shell that a user would prefer.&lt;br /&gt;
 preferred_shell_file=&amp;quot;:,~/.localshellrc&amp;quot;&lt;br /&gt;
 # if the user hasn&amp;#039;t specified a prefered shell, &lt;br /&gt;
 default_preferred_shell=&amp;quot;:,/bin/bash&amp;quot;&lt;br /&gt;
 # enforce /bin/false as a safe shell to block users.&lt;br /&gt;
 default_shell=&amp;quot;:,/bin/false&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # sure, this is cheating, but it looks good.&lt;br /&gt;
 # vim: set ft=sh:&lt;/div&gt;</summary>
		<author><name>Gordp</name></author>
	</entry>
</feed>