CVE-2015-0240 (Lỗ hổng của Samba trên Linux / Unix)

samba
CVE-2015-0240 – Lỗ hổng nguy hiểm của Samba trên Linux/Unix)
– Công bố : ngày 23/02/2015
– Nội Dung: Richard van Eeden của Microsoft phát hiện lỗi nguy hiểm của Samba (đa phần dùng smbd để làm file server, dùng phổ biến trên Linux/Unix). Lỗi này khai thác được từ xa, pre-auth (qua netlogon packet) để thực thi mã lệnh với quyền hạn của smbd (default là root)
– Các phiên bản lỗi: từ Samba 3.5.0 tới 4.2.0rc4
– Link Chi tiết:
+ https://access.redhat.com/security/cve/CVE-2015-0240
+ https://www.samba.org/samba/security/CVE-2015-0240

@betapcode

Hưỡng dẫn cài đặt OpenCV trên Mac 10.10 (Yosemite)

OpenCV_Logo

Năm cũ (2014) sắp qua, còn vài ngày nữa là chào đón năm mới Ất Mùi , với nhiều dự định và hy vọng thực hiện một số điều gì đó đặc biệt (càng dị càng tốt :”>). Và để chuẩn bị cho những khởi đầu và dự định trong năm tới. Mình sẽ bắt đầu bằng chuỗi bài về OpenCV

Ở bài này mình sẽ huỡng dẫn các bạn cài đặt OpenCV trên Mac OSX 10.10

Step 1: Cài đặt MacPorts

– Nếu máy bạn chưa cài thì truy cập vào link tại đây để download về cài đặt

– Nếu đã được cài đặt trên máy kiếm tra version, mở terminal và gõ port (hình bên dưới)

port

– Nếu hiển thị lỗi thì bạn cần xem lại phần cài đặt

Step 2: Kiếm tra version Python của bạn

python_version

– Nếu trên máy có cài nhiều version python khác nhau thì chúng ta cần xác định version python mặc định. Sử dụng lệnh sau để xem danh sách các version python đang có

# port select python

python_select– Chọn version python mà bạn muốn sử dụng:

# sudo port select –set python python27

Step 3: Cài đặt Numpy và Scipy

# sudo port install py27-numpy py27-scipy

Step 4: Cài đặt OpenCV

# sudo port install opencv +python27

Step 5: Kiếm tra và test thử

test_python_opencv

Sau khi import cv mà không báo lỗi là bạn đã cài đặt thành công.

Test với Python

Tạo file test.py ( tạo ra 1 file ảnh mới sử dụng opencv ) và thêm nội dung bên dưới

# vi test.py

import cv

im = cv.LoadImageM(“test.jpg”)

cv.SaveImage(“test-converted.png”, im)

# python test.py

Test Với C++

# wget https://gist.githubusercontent.com/betapcode/12fb912c2f66b3be6337/raw/9cf5acc2526c462b868ddedf68d7c2bd8ca54184/opencv-test-c.cpp

# chmod +x opencv-test-c.cpp

# wget https://gist.githubusercontent.com/betapcode/f347d639c717f1b1a68a/raw/998ad28d0b61504172b31a9cc93e9cae3aa52ece/CMakeLists.txt

# cmake .

# make

# ./DisplayImage test.jpg

Download file PDF tại đây

@betapcode

 

Hưỡng dẫn cài đặt Mongodb 2.6 trên Centos 6.4

images

1. Mongodb là gì?

a. Giới thiệu

MongoDB (được lấy tên từ “humongous”) là hệ thống CSDL mã nguồn mở dạng NoSQL. Thay vì lưu trữ cấu trúc dạng table như các Hệ CSDL quan hệ truyền thống, MongoDB lưu trữ dữ liệu dưới dạng JSON, khiến cho việc sử dụng nó trên một số loại ứng dụng trở nên dễ dàng và nhanh chóng hơn.

MongoDB đầu tiên được phát triển bởi công ty phần mềm 10gen (nay là MongoDB Inc) trong tháng 10 năm 2007 như một sản phẩm dịch vụ, công ty chuyển sang mô hình phát triển mã nguồn mở trong năm 2009, với việc 10gen cung cấp hỗ trợ thương mại và các dịch vụ khác. Kể từ đó, MongoDB đã được áp dụng trên rất nhiều hệ thống dịch vụ lớn, bao gồm Craigslist, eBay, Foursquare, SourceForge, Viacom, the New York Times, và nhiều hơn nữa. Mongo trở thành Hệ CSDL NoSQL phổ biến nhất.

MongoDB được viết bằng C++, và sau đây là những đặc điểm chính của MongoDB: (tham khảo thêm tại www.mongodb.org)

b. Đặc điểm của Mongodb

– NoSQL lưu trữ dữ liệu của mình theo dạng cặp giá trị “key – value”. Sử dụng số lượng lớn các node để lưu trữ thông tin – Mô hình phân tán dưới sự kiểm soát phần mềm
– Chấp nhận dữ liệu bị trùng lặp do một số node sẽ lưu cùng thông tin giống nhau
Một truy vấn sẽ được gửi tới nhiều máy cùng lúc, do đó khi một máy nào đó không phục vụ được sẽ không ảnh hưởng lắm đến chất lượng trả về kết quả
– Phi quan hệ – không có ràng buộc nào cho việc nhất quán dữ liệu
– Tính nhất quán không theo thời gian thực: Sau mỗi thay đổi CSDL, không cần tác động ngay đến tất cả các CSDL liên quan mà được lan truyền theo thời gian.

c. Điểm mạnh của Mongodb

– Dễ học, có một số nét khá giống với CSDL quan hệ – Quản lý bằng command line hoặc bằng GUI như RockMongo hoặc phpMyAdmin

– Linh động, không cần phải định nghĩa cấu trúc dữ liệu trước khi tiến hành lưu trữ nó -> rất tốt khi ta cần làm việc với các dạng dữ liệu không có cấu trúc.

– Khả năng mở rộng tốt (distributed horizontally), khả năng cân bằng tải cao, tích hợp các công nghệ quản lý dữ liệu vẫn tốt khi kích thước và thông lượng trao đổi dữ liệu tăng.

– Miễn phí

d. Ưu , nhược điểm của Mongodb

Ưu điểm:

Dữ liệu lưu trữ phi cấu trúc, không có tính ràng buộc, toàn vẹn nên tính sẵn sàng cao, hiệu suất lớn và dễ dàng mở rộng lưu trữ

Dữ liệu được caching (ghi đệm) lên RAM, hạn chế truy cập vào ổ cứng nên tốc độ đọc và ghi cao

Nhược điểm:

Không ràng buộc, toàn vẹn nên không ứng dụng được cho các mô hình giao dịch yêu cầu độ chính xác cao

Không có cơ chế transaction (giao dịch) để phục vụ các ứng dụng ngân hàng

Dữ liệu được caching, lấy RAM làm trọng tâm hoạt động vì vậy khi hoạt động yêu cầu một bộ nhớ RAM lớn

Như đã giới thiệu ở trên, mọi thay đổi về dữ liệu mặc định đều chưa được ghi xuống ổ cứng ngay lập tức vì vậy khả năng bị mất dữ liệu từ nguyên nhân mất điện đột xuất là rất cao.

2. Cài đặt Mongodb trên Centos

B1 : Add MongoDB Yum Repository

# touch /etc/yum.repos.d/mongodb.repo

# vim /etc/yum.repos.d/mongodb.repo

Với Centos 64 bit thêm:

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

Với Centos 32 bit

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/
gpgcheck=0
enabled=1

Trường hợp bước 2 không cài được mà báo bị lỗi

http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/repodata/repomd.xml: [Errno 14] Downloaded more than max size for https://www.mongodb.com/: 125777 > 102400
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: mongodb. Please verify its path and try again

Thay lại nội dung file: mongodb.repo

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

Cẩn thận thì chạy thêm 1 lệnh:

$ yum clean all

B2: Install Mongodb

# yum install mongodb-org

B3: Khởi động Mongodb

# service mongod start

Đặt khởi động cùng OS

# chkconfig mongod on

B4: Kiểm tra version mongodb

# mongo –version

MongoDB shell version: 2.6.0

Test thử bằng thực thi lệnh bằng command line

# mongo
> db.test.save( { a: 1 } )
> db.test.find()

{ “_id” : ObjectId(“52b0dc8285f8a8071cbb5daf”), “a” : 1 }

Ngoài ra , bạn có thể vào link tại đây để thực hành

Thanks @betapcode

Nâng cấp Mysql 5.1 lên Mysql 5.5 trên Centos

j2zpyui5

Trong quá trình sử dụng hoặc cần phục vụ cho công việc liên quan đến cơ sở dữ liệu (csdl) ở đây là Mysql. Chúng ta cần sử dụng phiên bản mysql mới hơn so với repo hiện tại của hệ điều hành đang có (tôi sử dụng Centos 6.4)

Trên Centos 6.4 repo cho Mysql là 5.1 . Bây giờ chúng ta cùng nâng cấp phiên bản hiện tại từ 5.1 lên 5.5

B1: Cập nhật EL

Với Webtatic EL6 for CentOS/RHEL 6.x

# rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

Với Webtatic EL5.1 for CentOS/RHEL 5.x:

# rpm -Uvh https://mirror.webtatic.com/yum/el5/latest.rpm

B2: Cập nhật Mysql

Trường hợp bạn đã cài Mysql client và Mysql Server

# yum install mysql.`uname -i` yum-plugin-replace
# yum replace mysql –replace-with mysql55w

Nếu chưa cài Mysql

# yum install mysql55w mysql55w-server

B3: Khởi động lại

# service mysqld start

B4: Cập nhật lại mật khẩu ( nếu cần )

# mysql_upgrade -u root -p

@betapcode

Hưỡng dẫn thay đổi mở ứng dụng mặc định trên Mac OSX

change-default-application-file-mac-os-x

Với những bạn sử dụng macbook thì ít người có hoặc không để ý đến việc thay đổi mở ứng dụng mặc định cho chương trình hay file của mình. Bài hưỡng dẫn nhằm giúp những ai chưa biết thay đổi nó.

B1 : Chọn file cần thay đổi ( click chuột phải ) hoặc control + click

get-info
B2: Hình bên dưới – khung màu đỏ với dòng chữ “Open With “. Click vào button để chọn ứng dụng mặc định cần thiết lập

skitch-2

B3: Chọn ứng dụng trong danh sách

Screen-Shot-2013-06-16-at-19.09.55

B4: Sau khi chọn ứng dụng cần , ấn “Change All“, sau đó sẽ hiện 1 popup và chọn “Continue

Screenshot_20_06_2013_15_59

change-all
@betapcode