2013-07-19 68 views
2

我有限制用户,其默认外壳为rbash。现在,我想允许TAB完成功能此用户对他/她的主目录,而不是得到这个错误:在rbash中允许选项卡完成

-rbash: /dev/null: restricted: cannot redirect output 
-rbash: /dev/null: restricted: cannot redirect output 
bash: _upvars: `-a2': invalid number specifier 
-rbash: /dev/null: restricted: cannot redirect output 
bash: _upvars: `-a0': invalid number specifier 

我能做到这一点的如何限制用户?中的/ dev

+0

你不能。限制模式不允许你'cd';标签完成启用意味着被绕过。 – devnull

+0

我知道rbash不允许'ls'和'cd'到系统目录(也可能是其他的目录),但是启用选项卡完成选择限制用户目录中的文件可能是合法的功能,不是吗?我的受限用户在他的目录中有很多长名文件,并且一遍又一遍地输入它们真的是在屁股上绘画。 – TomiL

+1

'rbash'不允许您更改*任何*目录,甚至是您的主目录中的一个。但是,这不会干扰我系统上的制表符完成。可能会安装导致观察到的错误的自定义完成。 – chepner

回答

0

变更许可/空到666

​​
+0

这不是'/ dev/null'的权限问题。 – CivFan

+0

因为python脚本,我在0755/dev/null中发现自己将文件复制到/ dev/null并更改了目标的权限。 – bgStack15

0

很抱歉这么晚才回复,但这是谷歌的第一个结果这个问题之一,所以你应该知道:Tab补工作通常,即使在rbash。我最近遇到了同样的问题,原因是使用su restricteduser而不是su -l restricteduser。后者命令将环境变量和shell变量设置为如果您使用实际登录shell以限制用户身份登录时的环境变量和shell变量。您从未在OP中提到过su,但我怀疑这是问题所在。