Bài đăng nổi bật

Hướng dẫn thay đổi thư mục root mặc định của Docker trên Linux

Hoàn cảnh: người viết gặp một trường hợp như này Được team hạ tầng cấp cho một máy chủ gồm 2 phân vùng lưu trữ, 1 phân vùng 20GB được gắn và...

19 tháng 9, 2018

Cài đặt Kerberos trên Linux

Lưu ý: Kerberos sử dụng giao thức dựa trên việc đồng bộ thời gian giữa các server thành phần nên yêu cầu các server phải đồng bộ thời gian với nhau ==> Sử dụng NTP. Thời gian lệch giữa các client  tối đa là 5 phút.

Cài đặt server KDC:

Bước 1: cài đặt phiên bản mới nhất của KDC

RHEL/CentOS/Oracle Linux
yum install krb5-server krb5-libs krb5-workstation
SLES
zypper install krb5 krb5-server krb5-client
Ubuntu/Debian
apt-get install krb5-kdc krb5-admin-server

Bước 2: Sửa file

vi /etc/krb5.conf
Đổi phần [realms] thành hostname của máy chủ cài đặt KDC, ví dụ:

[realms]
EXAMPLE.COM = {
   kdc = my.kdc.server
   admin_server = my.kdc.server
}

Bước 3: Một số thành phần, ví dụ HUE, yêu cầu phải có một ticket có thể làm mới được vì thế cần cấu hình để KDC hỗ trợ yêu cầu này bằng cách thêm tùy chọn sau vào file /etc/krb5.conf:
renew_lifetime = 7d

Lưu ý: Trên Ubuntu/Debian, các bước thiết lập được thực hiện khi cài đặt mới KDC, bạn có thể cài đặt lại bằng cách chạy lệnh dpkg-reconfigure krb5-kdc, vì thế có thể bỏ qua bước 1 và 2 ở trên.

Tạo cơ sở dữ liệu cho Kerberos:

Bước 1: Sử dụng tool kdb5_util:

RHEL/CentOS/Oracle Linux
kdb5_util create -s
SLES
kdb5_util create -s
Ubuntu/Debian
krb5_newrealm

Nhập mật khẩu cho database (lưu ý phải nhớ mật khẩu này, nếu không thì không thể giải mã được dữ liệu nữa)

Bước 2: khởi động máy chủ KDC và máy chủ quản trị KDC

RHEL/CentOS/Oracle Linux 6
/etc/rc.d/init.d/krb5kdc start
/etc/rc.d/init.d/kadmin start
RHEL/CentOS/Oracle Linux 7
systemctl start krb5kdc
systemctl start kadmin
SLES 11
rckrb5kdc start
rckadmind start
SLES 12
systemctl start krb5kdc
systemctl start kadmind
Ubuntu/Debian
service krb5-kdc restart
service krb5-admin-server restart

Bước 3(tùy chọn): khởi động KDC cùng với máy bằng cách:
RHEL/CentOS/Oracle Linux 6
chkconfig krb5kdc on
chkconfig kadmin on
RHEL/CentOS/Oracle Linux 7
systemctl enable krb5kdc
systemctl enable kadmin
SLES 11
chkconfig rckrb5kdc on
chkconfig rckadmind on
SLES 12
systemctl enable krb5kdc
systemctl enable kadmind
Tạo tài khoản quản trị Kerberos:
Có thể tạo tài khoản này từ các máy chạy KDC trong cùng mạng, sử dụng quyền admin. Trong hướng dẫn này, giả sử bạn sử dụng kadmin.local trên máy chạy KDC. kadmin.local cho phép bạn phân quyền mà không cần sử dụng tài khoản admin.
Bước 1: tạo tài khoản admin
kadmin.local -q "addprinc admin/admin"
Bước 2: xác nhận lại tài khoản này có đủ quyền cần thiết trong KDC ACL bằng cách kieer tra file kadm5.acl
RHEL/CentOS/Oracle Linux
vi /var/kerberos/krb5kdc/kadm5.acl
SLES
vi /var/lib/kerberos/krb5kdc/kadm5.acl
Ubuntu/Debian
vi /etc/krb5kdc/kadm5.acl
Ví dụ bạn có tài khoản admin@EXAMPLE.COM, bạn cần thêm dòng sau vào file:
*/admin@EXAMPLE.COM *
Bước 3: khởi động lại kadmin:
RHEL/CentOS/Oracle Linux 6
/etc/rc.d/init.d/kadmin restart
RHEL/CentOS/Oracle Linux 7
systemctl restart kadmin
SLES
rckadmind restart
Ubuntu/Debian
service krb5-admin-server restart

Bài tham khảo: https://docs.hortonworks.com/HDPDocuments/Ambari-2.5.0.3/bk_ambari-security/content/optional_install_a_new_mit_kdc.html

07 tháng 9, 2018

Tản mạn một vài dạng lưu trữ database

1. Hbase

Hbase lưu trữ dữ liệu theo cấu trúc column family.
Có thể nhìn vào hình sau để hình dung:



Trong đó:

  • Một table có thể có nhiều column family.
  • Một column family có thể có nhiều column.
Một số note:
  • Có thể query Hbase theo dạng sql bằng cách sử dụng Hive
2.  MongoDB:
MongoDB lưu trữ dữ liệu phẳng dạng Json:
Có thể nhìn vào hình sau để hình dung: