Hệ thống tập tin không phân biệt chữ hoa cho máy chủ sản xuất?


10

Tình huống ban đầu trông như thế này:

  • Phần mềm công ty dựa trên PHP.
  • Nó được phân phối bởi Apache 2 trên Máy chủ Windows 2003.
  • Nó là lớn .
  • Đó là một di sản của các nhà phát triển khá không chuyên nghiệp, những người không bận tâm về độ nhạy trường hợp hoặc phân tách thư mục.

Tình huống mong muốn trông như thế:

  • Mọi thứ được chuyển sang Apache 2 dưới sự phân phối của Linux với hương vị chưa quyết định.

Vấn đề:

  • Vô số tấn mã mà không quan tâm đến ký tự phân biệt chữ hoa hoặc chữ thường.

Tôi đã thực hiện một số nghiên cứu, nhưng tiếc là không tìm thấy bất cứ thứ gì phù hợp với môi trường sản xuất. CIOPFStrông đẹp nhưng rõ ràng là không được sử dụng trên các hệ thống sản xuất. Bạn có nghĩ rằng mod_spellingApache sẽ là một lựa chọn không? Câu hỏi chưa được giải quyết cho tôi là, nếu PHP truy cập các tệp với sự trợ giúp của mô-đun đó hoặc trực tiếp (điều này sẽ khiến nó trở nên vô dụng).

Chúng ta có nên nuốt viên thuốc đắng và đi qua tất cả các mã? Chúng tôi muốn tránh điều đó, vì chúng tôi sẽ thay thế từng mảnh môi trường phần mềm hiện tại bằng công cụ xây dựng mới (về lâu dài).


Một khả năng khác có thể là tạo một số loại proxy ( mod_rewrite) cho ứng dụng cũ (nằm trong thiết lập cũ) thông qua máy chủ mới, thay thế các bộ phận theo cách này ... có thể.
sr_

Lưu trữ nó trong OS X thay vì Linux ... bạn vẫn nhận được môi trường unix của mình, nhưng bạn cũng nhận được một hệ thống tệp không nhạy cảm trường hợp ra khỏi hộp.
larsks

@sr_ Điều đó có thể làm công việc. Nhưng vì chúng tôi đang vận hành một hệ thống cửa hàng trực tuyến lớn gây ra đủ lưu lượng truy cập, nên ít nhất nó sẽ tăng gấp đôi (không quan trọng nếu mạng nội bộ hay bên ngoài). Trong khả năng hiểu biết của tôi.
Peter

@larsks Mặc dù tôi khuyến khích OS X cho doanh nghiệp, tôi không nghĩ rằng nó có tương lai như một máy chủ web cho quy mô lớn. Ngoài ra, công ty chúng tôi đang khuyến khích sử dụng phần mềm nguồn mở và cố gắng duy trì nền tảng độc lập nhất có thể.
Peter

Chỉ là một bản cập nhật: các mô-đun apache thật đáng buồn khi không thực hiện công việc vì chỉ được gọi trong trường hợp yêu cầu HTTP, ví dụ hàm PHP bao gồm truy cập trực tiếp các tệp. Bây giờ tôi sẽ thử cách tiếp cận samba được đề cập dưới đây.
Peter

Câu trả lời:


3

Chỉ cần xem bài viết của tôi ở đây trên ubuntuforums:

http://ubuntuforums.org/showthread.php?t=1497253

Tạo một đĩa ảo

dd if=/dev/zero of=virtual.dsk bs=1048576 count=150

Định dạng nó

mkfs.vfat virtual.dsk

Gắn kết nó

sudo mkdir -p /mnt/vfat
sudo mount virtual.dsk /mnt/vfat -t vfat -o loop

PS: Gắn vĩnh viễn:

/path/to/virtual.dsk /mnt/vfat vfat loop,owner,group,umask=000 0 0

Cùng với thông tin bổ sung tại đây: http://fatter-keine.dk/helptipsguides/ubfox/under Hiểu_fstab.html


3

Cả ZFS và JFS đều có thể được cấu hình không phân biệt chữ hoa chữ thường:

zfs create -o casesensitivity=insensitive filesystem

jfs_mkfs -O /dev/sdax

Chỉnh sửa (7 năm sau):

Như @JorgeYanesDiez đã nhận xét, nhân Linux cuối cùng đã thêm ext4 cho mỗi thư mục tùy chọn không nhạy cảm bắt đầu từ phiên bản 5.2 và efsprogie 1.45.

Lưu ý rằng Linus Torvalds đã mạnh mẽ chống lại tính năng này .


1
Đối với những người nhìn vào điều này vào năm 2020, ext4 chỉ cần thêm hỗ trợ caseFold. Bạn cần Linux Kernel 5.2 và e2fspross 1.45 trở lên. Tìm kiếm chattr + F
Jorge Yanes Diez

2

Bạn có thể sử dụng Samba để chia sẻ một hệ thống tệp cục bộ theo cách không phân biệt chữ hoa chữ thường ... bài viết này có một số chi tiết.


2
Điều này là hoàn toàn điên rồ, nhưng IMO ít điên rồ nhất trong tất cả các tùy chọn khác.
jgoldschrafe

@larsks Cảm ơn bạn, tôi sẽ xem xét sâu hơn về nó và sẽ thử cách nó hoạt động.
Peter

@larsks Mặc dù tôi đã theo dõi bài viết và thử một số biến thể, nhưng thật đáng buồn là nó không hoạt động với chúng tôi. Cảm ơn bạn mặc dù. Cuối cùng chúng tôi quyết định viết lại tất cả những thứ không có trong hệ thống tệp nhạy cảm vì các lựa chọn thay thế khác dường như mất quá nhiều thời gian.
Peter

1

Viết trình bao bọc cầu chì của riêng bạn mà không phân biệt chữ hoa chữ thường so với bất kỳ fs nào khác? Với một số mã python điều này có thể được thực hiện nhanh chóng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.