
我不熟悉基於 deb 的系統,所以如果解決方案很簡單,我很抱歉。
我正在嘗試設定 vsftpd 以將用戶監禁到他們的主目錄中。我得到 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
我研究了這個問題,發現常見的解決方案是使用 thefrontiergroup 提供的向後移植,如下所示:
sudo add-apt-repository ppa:thefrontiergroup/vsftpd
當我這樣做時,我收到一個 python 錯誤:
You are about to add the following PPA to your system:
vsftpd 2.3.5 with the allow_writeable_chroot feature backported from vsftpd 3.
More info: https://launchpad.net/~thefrontiergroup/+archive/vsftpd
Press [ENTER] to continue or ctrl-c to cancel adding it
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/dist-packages/softwareproperties/ppa.py", line 99, in run
self.add_ppa_signing_key(self.ppa_path)
File "/usr/lib/python2.7/dist-packages/softwareproperties/ppa.py", line 132, in add_ppa_signing_key
tmp_keyring_dir = tempfile.mkdtemp()
File "/usr/lib/python2.7/tempfile.py", line 322, in mkdtemp
name = names.next()
File "/usr/lib/python2.7/tempfile.py", line 141, in next
letters = [choose(c) for dummy in "123456"]
File "/usr/lib/python2.7/random.py", line 274, in choice
return seq[int(self.random() * len(seq))] # raises IndexError if seq is empty
ValueError: cannot convert float NaN to integer
在嘗試尋找另一個解決方案時,我找到了更改主目錄權限的建議,如本文所示vsftpd - 將使用者限制在主目錄但是,遵循此操作將導致大量手動權限重置,因為我希望可以透過 apache 存取每個使用者的子目錄,如 UserDir apache 配置中所述http://httpd.apache.org/docs/2.2/howto/public_html.html
最後,我希望能夠添加用戶 foo 並神奇地最終使 foo 能夠在 /home/foo 中擁有完整的讀/寫權限,而無法看到文件系統的任何其他部分,http://xxxx/~foo/任何人都可以訪問,如果我將他們的 shell 從 nologin 更改為 bash,則可以訪問 shell。
Ubuntu 12.04 LTS、vsftpd 2.3.5
請提供任何建議...我一直在撓頭!
答案1
我只是在這裡猜測,因為你的情況並不完全相同,但是..
apt-get install python-software-properties
(也許apt-get update python-software-properties
)?
這是我正在設定的 12.04 系統上的先決步驟,但我也遇到了「add-apt-repository:找不到命令」錯誤,而不是 python 錯誤。正是這些錯誤讓我認為 python 是你的問題,因為一旦我安裝了 python-software-properties,該命令就成功執行了。
我能想到的唯一其他選擇——太晚了,無法嘗試/修復我自己的設定——而不是添加外部儲存庫,而是讓每個人的家 /home/ ,然後修改所有其他目錄的權限,以便當他們讀取/home/ 時,他們唯一可以看到的目錄是「foo」。時除了“foo”之外什麼都沒有,並且是不可寫的,如果使用 GUI,則必須“cd foo”或單擊 foo 資料夾的影響應該相當低。顯然這並不像我想的那麼簡單,當我想像一個權限設定來決定一個目錄是否可以被看到時,我想到的是具有NTFS權限的IIS。的選項” hide_files”,它可能能夠通過仔細選擇的術語來完成此任務(它允許您指定正則表達式,但我不知道您是否可以執行一些操作,例如根據當前用戶的登錄名擴展變量以使其對每個用戶都不同)用戶...)