ubuntu 12.04 上的 vsftpd chroot opps

ubuntu 12.04 上的 vsftpd chroot opps

我不熟悉基於 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”,它可能能夠通過仔細選擇的術語來完成此任務(它允許您指定正則表達式,但我不知道您是否可以執行一些操作,例如根據當前用戶的登錄名擴展變量以使其對每個用戶都不同)用戶...)

相關內容