2013-07-19 71 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,但我懷疑這是問題所在。