Tumgik
quangvublog · 3 years
Text
Cách khắc phục single manager docker swarm bị state Down sau khi reboot
Vấn đề “state Down” khi cluster swarm của bạn chỉ có duy nhất một manager (có thể kiêm cả worker) và cluster của bạn không có quorum nên không thể bầu chọn leader được. Và trong trường hợp server của bạn cần phải reboot để thay ram hoặc mất điện thì sẽ không thể nào start cluster swarm lên được.
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION qz0cen9fshc7ncqjuxvdxz1ak * WORKER-NODE Ready Active Leader 19.03.8
Có một cách sau đây mà vẫn có thể start swarm cluster và tiếp tục giữ các service stack đã tạo trước đó chạy được trong docker swarm như sau:
Cách khắc phục
Bước 1: Xóa file tasks.db
Đây là file cache database được sử dụng để lưu giữ thông tin về tasks đã được khởi chạy và có thể cần thiết nếu có sự cố network nào đó giữa worker và manager. Và nó cũng có thể chứa những thông tin như các tasks khởi chạy không thành công (sử dụng command docker service ps để xem).
sudo rm /var/lib/docker/swarm/worker/tasks.db
Bước 2: Start docker
Chạy lệnh sau để start docker swarm
sudo service docker start
The post Cách khắc phục single manager docker swarm bị state Down sau khi reboot appeared first on VSUDO Blog.
source https://vsudo.net/blog/khac-phuc-single-manager-docker-swarm-state-down.html
0 notes
quangvublog · 3 years
Text
Hướng dẫn đếm số lượng địa chỉ IP duy nhất từ file log
Trong bài viết này mình sẽ hướng dẫn các bạn dùng command line trong linux để đếm số lượng địa chỉ IP duy nhất trong file log (web server bất kỳ như nginx hay apache) và sắp xếp chúng lại dựa trên số lượng request HTTP. Đây là một cách rất hữu ích để kiểm tra xem địa chỉ IP nào là nguồn tạo request nhiều nhất – có thể là nguồn tấn công flood hoặc DDoS vào website của bạn.
Để lấy danh sách tất cả địa chỉ IP trong file log, các bạn có thể sử dụng câu lệnh sau:
cat access.log | awk '{print $1}'
Để lấy danh sách các địa chỉ IP duy nhất từ file log
cat access.log | awk '{print $1}' | sort | uniq
Để lấy danh sách địa chỉ IP duy nhất, sau đó đếm số lượng địa chỉ IP này
cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr
Hoặc bạn cũng có thể sử dụng câu lệnh sau:
cat access.log | cut -f1 -d ' ' | sort | uniq -c | sort -nr
Sau đó bạn sẽ nhận được output có dạng như sau:
38473 222.255.239.XXX 3322 222.255.239.XXX 345 222.255.239.XXX 22 118.102.1.XXX 4 118.102.1.XXX
The post Hướng dẫn đếm số lượng địa chỉ IP duy nhất từ file log appeared first on VSUDO Blog.
source https://vsudo.net/blog/dem-so-luong-dia-chi-ip-duy-nhat-tu-log.html
0 notes
quangvublog · 3 years
Text
Hướng dẫn đăng ký tài khoản Gmail không cần số điện thoại
Thường thì hiện nay để đăng ký tài khoản Gmail bạn sẽ cần phải có số điện thoại xác minh (bắt buộc để tăng cường bảo mật) thì mới có thể đăng ký tài khoản thành công được. Trong bài viết này, mình sẽ hướng dẫn bạn cách đăng ký tài khoản Gmail thành công mà không cần phải có bất kỳ số điện thoại nào.
Xem thêm: Hướng dẫn tạo tài khoản microsoft
Nội dung chính
Đăng ký gmail không cần số điện thoại
Kết luận
Đăng ký gmail không cần số điện thoại
Bước 1: mở trình duyệt trắng (hoặc bấm tổ hợp phím Ctrl + Shift +N để mở trình duyệt ẩn danh) lên.
Bước 2: Truy cập vào địa chỉ: https://accounts.google.com/signup để tiến hành đăng ký tài khoản
Bước 3: Nhập vào đầy đủ các thông tin tài khoản như họ tên, username và password.
Bước 4: Bạn để ý hình bên dưới, chỗ phần nhập số điện thoại xác minh sẽ không bắt buộc nên bạn chỉ cần nhập thông tin ngày tháng năm sinh và giới tính là được.
Bước 5: Bấm đồng ý để hoàn tất quy trình đăng ký tài khoản Gmail.
Lưu ý: trong trường hợp đăng ký tài khoản Gmail mà mình để link bên trên yêu cầu nhập số điện thoại bắt buộc, bạn sẽ cần phải thay đổi địa chỉ IP khác. Vì có thể Google đã giới hạn số lần đăng ký tài khoản mới cho một địa chỉ IP để tránh trường hợp spam rồi.
Kết luận
Như bài viết trên, mình đã hướng dẫn bạn cách tạo một tài khoản Gmail không cần phải nhập số điện thoại xác minh rồi đấy. Hy vọng bài viết này có thể giúp bạn đăng ký tài khoản google một cách dễ dàng hơn.
Lưu ý: chỉ có thể đăng ký tài khoản gmail không cần số điện thoại một lần trên địa chỉ IP mới (không được đăng ký nhiều lần vì Google sẽ hạn chế việc spam đăng ký tài khoản rác).
The post Hướng dẫn đăng ký tài khoản Gmail không cần số điện thoại appeared first on VSUDO Blog.
source https://vsudo.net/blog/dang-ky-tai-khoan-gmail.html
0 notes
quangvublog · 3 years
Text
[Ebook] Download bạn đắt giá bao nhiêu PDF
Bạn đắt giá bao nhiêu? Tất cả là do bạn quyết định!
Cuốn sách “Bạn đắt giá bao nhiêu” là cuốn sách chia sẻ những câu chuyện gần gũi trong cuộc sống đời thường mà ai trong chúng ta khi đọc cuốn sách này cũng cảm thấy rằng mình là nhân vật chính trong đó. Trong cuốn sách này có hơn 40 câu chuyện xoay quanh các chủ đề trong cuộc sống của chúng ta như: tình yêu, hôn nhân, gia đình, sự nghiệp… Những câu chuyện được kể vừa thực tế lại vừa gợi mở, giúp chúng ta có thể dễ dàng cảm nhận được bản thân mình ở ngay trong đó, rất cuốn. Với những câu chuyện được kể, tác giả Vãn Tình hi vọng có thể giúp nhiều cô gái có thể vượt qua được khó khăn, sống một cuộc đời theo cách mà mình mong muốn.
Tổng quan về bộ sách
Tên tác giảVãn TìnhNgày xuất bản2018Số trang320Ngôn ngữTiếng việtĐịnh dạngPDFThể loạiTruyện ngắn – Tản văn
Tác giả Vãn Tình là một nhà văn trẻ tuổi nhưng lại có sự trải đời một cách khá sâu sắc. Từng câu chữ trong cuốn sách của nhà văn Vãn Tình đều làm nổi bật sự chiêm nghiệm cuộc sống trong đó. Chị còn trẻ nhưng nhận thức không bị bó buộc. Mà cái nhìn của chị được mở rộng ra để cho những cô gái đọc văn của chị như nhìn thấy mình trong đó và nhận thức được những giá trị bản thân.
Ai nên đọc cuốn sách “Bạn đắt giá bao nhiêu?”
“Bạn đắt giá bao nhiêu?” là một quyển sách mà ai nên đọc để chiêm nghiệm cuộc sống và có thể khẳng định một điều rằng, đây là cuốn sách dành cho mọi lứa tuổi. Trong cuốn sách, tác giả đã kể lại những câu chuyện chiêm nghiệm đời thực, những ví dụ cụ thể trong cuộc sống mà ta dễ dàng nhận thấy. Từ đó có thể đưa ra cho bạn đọc được những lời khuyên rất hay và ý nghĩa, nhất là dành cho những bạn nữ. Đây là một tác phẩm cực kỳ sâu sắc nhưng không hề có sự giáo điều hay sáo rỗng vớ vẩn. Các câu chuyện được kể được đưa ra một cách ngắn gọn, xúc tích và dễ hiểu. Nhận định của nhà văn Vãn Tình rất phù hợp với suy nghĩ của giới trẻ thời hiện đại – đặc biệt là phái nữ.
Nói tóm gọn lại là review vậy thôi, cuốn sách này rất đáng để mọi người đọc nó. Đặc biệt là các bạn nữ nên đọc cuốn sách này!
Download sách bạn đắt giá bao nhiêu
Dưới đây mình để lại đường link để các bạn download sách bản PDF về đọc trên các thiết bị máy tính
Download Ebook: PDF
The post [Ebook] Download bạn đắt giá bao nhiêu PDF appeared first on VSUDO Blog.
source https://vsudo.net/blog/ban-dang-gia-bao-nhieu-pdf.html
0 notes
quangvublog · 3 years
Text
[Ebook] Sách hạt giống tâm hồn PDF
Hạt giống tâm hồn là bộ sách nổi tiếng đã được khẳng định là kiệt tác văn học của Việt Nam. Và mình nghĩ cuốn sách này nổi tiếng đến nỗi chắc chắn ai cũng đã từng nghe qua tựa đề sách bởi người nào đó rồi.
Tổng quan về bộ sách
Tên tác giảNhiều tác giảNgày xuất bản2002Số cuốn11Ngôn ngữTiếng việtĐịnh dạngPDFThể loạiTâm lý/ Kỹ năng sống
Có lẽ, bất cứ ai trong mỗi người chúng ta đều luôn nuôi dưỡng trong mình một ước mơ, hoài bão chinh phục và khám phá cuộc sống với bao điều tốt đẹp nào đó. Thế nhưng, thực tế là cuộc không phải màu hồng và không có con đường nào bằng phẳng và êm đẹp gì cả. Chúng ta sẽ không thể tránh khỏi những thiết sót, sai lầm, thách thức, sự mất mát và cả những nỗi đau. Sẽ có những lúc chúng ta tự nhủ bản thân một điều rằng: “Điều gì là ý nghĩa thực sự của cuộc sống?“
Câu trả lời sẽ nằm gọn trong chính suy nghĩ của mỗi chúng ta. Thật tế mà nói, mỗi một người sẽ có những cách cảm nhận cuộc sống riêng của bản thân họ, và đôi khi là bình dị. Có thể là khi bạn hoàn tất trọn vẹn một ngày làm việc, là khi bạn có thể bày tỏ được lòng mình với những người mà mình yêu thương, là khi bạn có thể chia sẻ những nỗi đau từ sâu trong đáy lòng với người khác bằng tấm lòng của mình hoặc đơn giản hơn là khi bạn bắt gặp một nét đẹp dịu dàng trong đôi mắt trẻ thơ.
Danh mục cuốn sách
Tập 1 – 2: Cho lòng dũng cảm và tình yêu cuộc sống
Tập 3 – 4: Từ những điều bình dị
Tập 5 – 6: Ý nghĩa cuộc sống
Tập 7 – 8: Những câu chuyện cuộc sống
Tập 9: Vượt qua thử thách
Tập 10: Theo dòng thời gian
Tập 11: Những trải nghiệm cuộc sống
Download bộ sách hạt giống tâm hồn 11 cuốn
Dưới đây là đường link mà mình muốn chia sẻ cho bạn đọc, bạn có thể click vào đường link bên dưới để download toàn bộ 11 cuốn sách bản PDF về thiết bị của mình.
Download: link
The post [Ebook] Sách hạt giống tâm hồn PDF appeared first on VSUDO Blog.
source https://vsudo.net/blog/hat-giong-tam-hon-pdf.html
0 notes
quangvublog · 3 years
Text
Download file ISO windows 10 chính thức từ Microsoft
Có phải bạn đang cần tìm kiếm file cài đặt ISO windows 10 để cài đặt hệ điều hành cho máy tính của mình mà chưa biết tìm hay download ở đâu phải không? Mình cũng thế, đôi khi cần sử dụng windows 10 chạy trên máy ảo vmware workstastion mà chẳng biết download source ở đâu nhanh chóng, link sống và không bị giới hạn tốc độ download cả. Do đó, mình đã research và tìm thấy một cách để luôn có được file windows 10 ISO mới nhất luôn được update bởi Microsoft. Bởi file này được download thẳng từ server của Microsoft nên mình không còn cần phải update file ISO theo từng version nữa.
Trong bài viết này, VSUDO sẽ hướng dẫn bạn cách download file iso windows 10 từ link chính thức của Microsoft.
Download file ISO windows 10
Bước 1: Truy cập link sau để vào trang download file iso windows 10:
https://www.microsoft.com/en-gb/software-download/windows10ISO
Bước 2: Tại mục Windows 10 English, lựa chọn phiên bản download là 32 bit hay 64 bit phù hợp với cấu hình máy tính của bạn. Sau đó bấm vào nút “64-bit Download” hoặc “32-bit Download” để tải file ISO về.
Tại thời điểm mình chia sẻ bài viết này, file ISO windows 10 có kích thước 5GB và thời gian download rất nhanh. Download tầm 10 phút là xong file 5GB rồi.
Sau khi download file ISO này về máy tính rồi, bạn đã có thể sử dụng công cụ tạo boot USD như rufus chẳng hạn để tạo boot được rồi đấy. Ngoài ra đây chỉ là file cài đặt mà thôi, và không có key – do đó bạn sẽ cần phải cung cấp key win 10 nữa để cài đặt và sử dụng windows 10 một cách trơn tru, an toàn.
The post Download file ISO windows 10 chính thức từ Microsoft appeared first on VSUDO Blog.
source https://vsudo.net/blog/iso-windows-10.html
0 notes
quangvublog · 3 years
Text
Hướng dẫn cài đặt teamviewer trên Ubuntu 20.04
Teamviewer là một ứng dụng đa nền tảng cho phép người dùng có thể kết nối tới các máy từ xa, hoặc để truyền file và tổ chức cuộc họp online từ bất kỳ nơi nào trên thế giới. Nó có thể hoạt động trên hầu hết các thiết bị và hệ điều hành phổ biến hiện nay từ PC, smartphone cho đến tablet.
Teamviewer cực kỳ hữu ích, đặc biệt trong trường hợp xử lý sự cố trên các máy tính khi mà bạn không thể tiếp cận trực tiếp được. Trong bài viết này, mình sẽ hướng dẫn cho các bạn cách cài đặt Teamviewer trên Ubutun 20.04.
Nội dung chính
Cài đặt teamviewer
Thông qua command-line
Thông qua giao diện đồ họa người dùng
Uninstall teamviewer
Thông qua command line
Thông qua GUI
Kết luận
Cài đặt teamviewer
Dưới đây mình sẽ trình bày cho bạn 2 cách khác nhau để cài đặt phần mềm teamviewer trên Ubuntu thông qua command-line và GUI.
Thông qua command-line
Đầu tiên, để cài đặt teamviewer, bạn cần phải download gói cài teamviewer .deb từ teamviewer về máy tính của mình bằng cách chạy lệnh wget để download về:
$ wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
Tumblr media
Khi đã download gói cài đặt về rồi, thực thi câu lệnh sau đây để cài đặt teamviewer:
$ sudo apt install ./teamviewer_amd64.deb
Tumblr media
Hệ thống s��� nhắc bạn option “Y/n” để tiếp tục quá trình cài đặt nữa không hay là hủy bỏ. Nhấn Y để tiếp tục quá trình cài đặt.
Sau khi hoành thành quá trình cài đặt teamviewer từ command line, bây giờ tiến hành khởi chạy Teamviewer. Nếu bạn muốn khởi chạy teamviewer từ terminal, thì bạn sử dụng câu lệnh sau:
$ teamviewer
Tumblr media
Ngoài ra, bạn có thể sử dụng menu Application và gõ vào chữ Teamviewer vào khung tìm kiếm để khởi chạy ứng dụng.
Sau khi click vào icon Teamviewer bên trên để khởi chạy ứng dụng, một cửa sổ pop-up License Agreement xuất hiện. Để tiếp tục, click vào nút “Accept License Agreement“.
Tumblr media
Khi bạn đã chấp nhận License Agreement, Teamviewer sẽ khởi chạy như sau:
Tumblr media
Như bạn có thể thấy bên trên, nó có một màn hình hiển thị trực quan với các thông tin như ID và password để bạn có thể cho phép kết nối từ học kết nối tới bất kỳ hệ thống máy tính từ xa nào có kết nối mạng.
Thông qua giao diện đồ họa người dùng
Việc cài đặt phần mềm thông qua giao diện người dùng khá là dễ. Đầu tiên, bạn cần phải download teamviewer về máy tính của mình với gói cài .deb sau đó mới tiến hành cài đặt phần mềm
Đầu tiên, truy cập vào trang download package .deb từ teamviewer. Tại đây, bạn lựa chọn phiên bản Ubuntu, phiên bản Debian và click vào package 64 bit. Một cửa sổ pop-up sẽ xuất hiện có dạng như sau:
Tumblr media
Click vào Save file, sau đó click OK để lưu file vào máy tính, bạn sẽ thấy gói cài đặt .deb trong thư mục download. Click chuột phải vào gói cài đặt, sau đó sẽ có một menu dạng pop-up xuất hiện, chọn “open with other applications“. Trên cửa sổ kết quả hiển thị, click vào phần “Software Install” để tiến hành cài đặt.
Tumblr media
Sau đó, sẽ có một cửa sổ mới xuất hiện để bạn cài đặt teamviewer có dạng như sau:
Tumblr media
Click vào nút Install. Một hộp thoại yêu cầu xác thực nhập password sẽ hiển thị lên để bạn nhập password tài khoản root – cho phép cài đặt ứng dụng. Sau đó quá trình cài đặt sẽ bắt đầu diễn ra.
Sau khi Teamviewer đã được cài đặt, sẽ có một màn hình được hiển thị có dạng như sau:
Tumblr media
Để khởi chạy teamviewer, đơn giản vào phần application menu và gõ vào Teamviewer. Sau đó click vào ứng dụng Teamviewer để mở ứng dụng lên.
Uninstall teamviewer
Tiếp theo là cách gỡ cài đặt phần mềm teamviewer ra khỏi hệ thống thông qua command-line và GUI
Thông qua command line
Để nâng cấp Teamviewer thành phiên bản mới nhất, đầu tiên bạn cần phải uninstall teaviewer từ giao diện command-line hoặc đồ họa và sau đó download gói cài đặt mới nhất về.
Nếu như bạn muốn uninstall teamviewer – gỡ cả các cấu hình liên quan đến teamviewer (dọn sạch những gì liên quan đến teamviewer) thì bạn chạy command sau:
$ sudo apt purge teamviewer
Ngoài ra, bạn có thể gỡ cài đặt teamviewer mà không cần xóa bất kỳ cấu hình nào đã được thực hiện khi cài teamviewer.
$ sudo apt remove teamviewer
Tumblr media
Hệ thống sẽ nhắc bạn option “Y/n” để bước tiếp hay dừng lại. Nhấn nút Y để tiếp tục, sau đó teamviewer sẽ được gỡ cài đặt thành công.
Thông qua GUI
Xóa Teamviewer thông qua giao diện người dùng rất dễ. Trên cửa sổ desktop activities, click vào ứng dụng Ubuntu Software. Sau khi mở lên, click vào tab installed ở phía trên cửa sổ – nằm giữa 2 tab là Explorer và Updates. Từ đây di chuyển đến ứng dụng teamviewer.
Tumblr media
Bạn sẽ thấy mọi ứng dụng đã được cài đặt và có nút “remove” nằm ngay bên cạnh. Sau đó click vào nút remove để tiến hành gỡ cài đặt teamviewer khỏi hệ thống. Khi đó hộp thoại Authentication sẽ hiện ra yêu cầu bạn nhập vào password để gỡ cài đặt teamviewer.
Kết luận
Giao diện người dùng luôn được coi là đơn giản và dễ dàng nhất để cài đặt và gỡ cài đặt teamviewer khỏi hệ thống. Tuy nhiên, đối với những người dùng đã quen thuộc với command-line, chắc chắn họ sẽ ưu tiên làm mọi thứ thông qua command-line, từ cài đặt cho đến gỡ cài đặt cấu hình.
The post Hướng dẫn cài đặt teamviewer trên Ubuntu 20.04 appeared first on VSUDO Blog.
source https://vsudo.net/blog/teamviewer-ubuntu.html
0 notes
quangvublog · 3 years
Text
Hướng dẫn sử dụng lệnh source trong Linux
Lệnh source là một shell command được tích hợp sẵn, được sử dụng để đọc và thực thi các lệnh chứa trong một file ở shell session hiện tại. Lệnh source thường được sử dụng để giữ lại hoặc thay đổi biến môi trường trong shell session hiện tại. Nói một cách ngắn gọn, đây là lệnh được sử dụng để thực thi các commands trong shell hiện tại.
Xem thêm: shell là gì
Lệnh command rất hữu ích trong những trường hợp như:
Làm mới các biến môi trường trong shell session hiện tại
Thực thi một đoạn shell script trong môi trường shell session hiện tại
Để import một hàm shell vào script của bạn
Đọc biến từ shell script
Nội dung chính
Cú pháp sử dụng lệnh source
Hướng dẫn sử dụng lệnh source
1. Làm mới môi trường shell hiện tại
2. Thực thi shell script trong môi trường shell hiện tại
3. Import một hàm shell
4. Đọc biến từ shell script
5. Đọc và thực thi command
6. Truyền tham số vào hàm shell
Kết luận
Cú pháp sử dụng lệnh source
Cú pháp được tích hợp sẵn trong shell command rất human-readable. Đối số đầu tiên khi sử dụng lệnh shell chính là file truyền vào và nếu các đối số sau đó được cung cấp – nó sẽ đóng vai trò như tham số đầu vào cho file script.
source FILENAME [ARGUMENTS]
Dấu chấm (.) cũng có thể được sử dụng để thay thế cho lệnh source
. FILENAME [ARGUMENTS]
Hướng dẫn sử dụng lệnh source
Dưới đây mình sẽ giải thích bằng một số ví dụ cụ thể về cách sử dụng lệnh source
1. Làm mới môi trường shell hiện tại
Khi sử dụng linux, một user có thể định nghĩa alias trong môi trường shell hiện tại. Để định nghĩa alias ngắn gọn thay vì sử dụng lệnh “ls -l” dài dòng để kiểm tra thông tin chi tiết file và folder trong folder bạn đang đứng:
alias ll = 'ls -l'
Để sử dụng alias vừa khai báo, gõ vào terminal:
ll
Để làm mới môi trường shell hiện tại, gõ vào lệnh sau:
source ~/.bashrc
Nghĩa là khi làm mới môi trường shell hiện tại, thì alias “ll” bạn khai báo bên trên sẽ không sử dụng được nữa.
2. Thực thi shell script trong môi trường shell hiện tại
Shell script không thể nào biết được các biến mà bạn định nghĩa trong môi trường shell hiện tại. Lệnh source có thể được sử dụng để thực thi shell script trong shell session hiện tại.
Để định nghĩa một biến tạm thời trong môi trường shell hiện tại:
WEBSITE = example.com
Tạo một đoạn shell script:
#!/bin/bash echo $WEBSITE
Lưu file ở trên lại với tên script.sh và chmod để thực thi file shell script này sau khi đã thực hiện 2 bước trên:
source ./script.sh
Kết quả hiển thị sau khi sử dụng lệnh source sẽ là:
example.com
3. Import một hàm shell
Định nghĩa một đoạn shell script:
!#/bin/bash foo() { echo "test" }
Lưu file lại với tên script.sh
Để improt hàm foo() từ đoạn script trên vào phiên shell hiện tại, gõ lệnh:
source script.sh
Để sử dụng hàm shell đã khai báo trên, gõ vào:
foo
Khi đó, kết quả output sau khi gõ lệnh trên sẽ là:
test
4. Đọc biến từ shell script
Để tạo một shell script chứa nhiều biến khác nhau, tạo file:
#!/bin/bash a=1 b=2 c=3
Để đọc các biến từ shell script trên từ một đoạn shell khác, nội dung đoạn script sẽ là:
#!/bin/bash source abovescript.sh echo $a, $b, $c
Nội dung đoạn output sau khi thực thi đoạn script trên sẽ là:
1, 2, 3
5. Đọc và thực thi command
Lệnh shell cũng có thể đọc và thực thi các commands từ một file. Giả sử bạn có một file text chứa các command như sau:
pwd date
Khi sử dụng lệnh source để đọc và thực thi command từ file dạng txt dạng như sau:
$ source example.txt /home/vsudo Sat May 15 09:38:12 +07 2021
6. Truyền tham số vào hàm shell
Giờ mình sẽ giải thích cách để truyền các tham số vào hàm shell thông qua lệnh source
File function.sh
!/usr /bin/bash var1=$1 var2=$2
File execute.sh
!/usr/bin/bash source functions.sh 10 AA echo “var1 = $var1” echo “var2 = $var2”
Khi thực thi file excute.sh kết quả sẽ như sau:
var1 = 10 var2 = AA
Kết luận
Lệnh source thường được sử dụng để thực thi các shell script trong phiên shell hiện tại, trong khi đó lệnh exec được sử dụng để chạy các lệnh trong một shell mới. Thông qua bài viết này, bạn đã biết thêm một số ví dụ thực tế cụ thể khi sử dụng lệnh source rồi đấy.
The post Hướng dẫn sử dụng lệnh source trong Linux appeared first on VSUDO Blog.
source https://vsudo.net/blog/source-command.html
0 notes
quangvublog · 3 years
Text
Shell trong Linux là gì? Có bao nhiêu loại shell
Thường thì có rất nhiều người sử dụng hệ điều hành Linux/UNIX thường xuyên nhưng vẫn không hiểu rõ bản chất shell là gì. Đơn giản mọi người chỉ hiểu shell là những dòng lệnh để tương tác với hệ điều hành Linux như lệnh: cd, mv, ls,… Trong bài viết này, mình sẽ giới thiệu và giải thích cho các bạn rõ hơn về shell và các loại shell trong hệ điều hành Linux.
Nội dung chính
Shell là gì?
Các loại shell
Bourne Shell
C Shell
Korn Shell
GNU Bourne-Again Shell
Kết luận
Shell là gì?
Shell là một chương trình cung cấp một giao diện giữa người dùng và kernel hệ điều hành. Hệ điều hành sẽ start một shell cho mỗi user khi user đăng nhập vào hệ thống hoặc mở một cửa sổ terminal.
Kernel hệ điều hành là một chương trình mà:
Kiểm soát tất cả hoạt động trên máy tính
Điều phối tất cả các tiện ích đang được thực thi
Đảm bảo các tiện ích đang được thực thi không can thiệp vào các tiện ích đang được thực thi khác hoặc tiêu tốn tất cả tài nguyên có trên hệ thống.
Lập lịch và quản lý tất cả process có trên hệ thống
Xem thêm:
Lập lịch CPU
Phân biệt Kernal space và User space
Process là gì
Bằng cách giao tiếp với kernel, shell sẽ cho phép user thực thi các tiện ích và chương trình.
Các loại shell
Dưới đây mình sẽ liệt kê các loại shell khác nhau hầu như đều có sẵn trên các hệ điều hành UNIX/Linux. Các tính năng của shell và dấu nhắc lệnh mình cũng sẽ mô tả bên dưới:
Bourne Shell
Bourne Shell hay sh được viết ra bởi Steve Bourne tại AT&T Bell Labs chính là phiên bản shell gốc đầu tiên có mặt trên UNIX. Nó là shell được rất nhiều nhà phát triển ưa chuộng sử dụng để lập trình shell vì tính nhỏ gọn và tốc độ. Có một nhược điểm lớn của sh chính là nó thiếu các tính năng tương tác khi sử dụng, ví dụ như xem lại các command đã sử dụng trước đó (lệnh history có trong bash). Hơn nữa, Bourne shell cũng thiếu đi khả năng xử lý toán học và logic được tích hợp sẵn trong shell.
Đây là shell mặc định có trên hệ điều hành Solaris. Và nó là shell tiêu chuẩn cho các tập lệnh quản trị hệ thống Solaris. User non-root sẽ có dấu nhắc lệnh là $ và user root sẽ có dấu nhắc lệnh phía trước là #.
C Shell
C Shell hay csh là shell được cải tiến bởi Bill Joy tại đại học California ở Berkeley. Nó tích hợp sẵn các tính năng sử dụng tương tác như lệnh aliases và history. Nó cũng tích hợp luôn các tính năng lập trình tiện lợi như: cú pháp biểu thức toán học giống ngôn ngữ lập trình C .
User non-root sẽ có dấu nhắc lệnh chỗ hostname là % và user root sẽ có dấu nhắc lệnh là #.
Korn Shell
Korn Shell viết tắt là ksh được viết bởi David Korn tại AT&T Bell Labs. Là phiên bản kế thừa của Bourne shell – hỗ trợ mọi thứ mà Bourne shell có. Nó có các tính năng tương tác lập trình tiện lợi như mảng số học, thao tascc chuỗi và các hàm giống ngôn ngữ C. Và điểm đặc biệt là nó chạy nhanh hơn nhiều so với C Shell.
User non-root sẽ có dấu nhắc lệnh là $ và user root có dấu nhắc lệnh là #.
GNU Bourne-Again Shell
GNU Bourne-Again Shell hay tên gọi quen thuộc thân thương nhất là bash shell – tương thích với Bourne shell. Nó kết hợp các tính năng hữu ích từ các shell trên mà mình đã trình bày là Korn Shell và C Shell.
Nó có các phím mũi tên tự động được ánh xạ tự động dành cho mục đích chỉnh sửa và gọi lại. Đối với bash shell, user-non root sẽ có dấu nhắc lệnh là bash-x.xx$ trong đó x.xx chỉ ra số phiên bản, ví dụ: bash-3.50$
Và user root có dấu nhắc lệnh là bash-x.xx# trong đó x.xx chỉ ra số phiên bản, ví dụ: bash-3.50#
Kết luận
Dưới đây mình sẽ tổng hợp lại cái bảng so sánh giữa 4 phiên bản shell và đặc tính giữa chúng ra sao
ShellĐường dẫnDấu nhắc lệnh (user non-root)Dấu nhắc lệnh (user root)The Bourne Shell (sh)/bin/sh and /sbin/sh$#The C Shell (csh)/bin/csh%#The Korn Shell (ksh)/bin/ksh$#The GNU Bourne-Again Shell (Bash)/bin/bashbash-x.xx$bash-x.xx#
The post Shell trong Linux là gì? Có bao nhiêu loại shell appeared first on VSUDO Blog.
source https://vsudo.net/blog/shell.html
0 notes
quangvublog · 3 years
Text
SDK là gì? Tất tần tật mọi thứ bạn cần biết
Nếu bạn là một người hoạt động trong lĩnh vực công nghệ, chắc chắn bạn đã từng nghe qua thuật ngữ “SDK” rồi. Nhưng thực sự SDK là gì và nó viết tắt của từ nào?
Nội dung chính
Chính xác thì SDK là gì?
Các đặc tính của một SDK hiệu quả
Sự khác biệt giữa SDK và API là gì?
API
SDK
Kết luận
Chính xác thì SDK là gì?
SDK viết tắt của từ “Software Development Kit” hay ngắn gọn hơn là devkit. Nó là một tập các công cụ và chương trình – được sử dụng bởi các nhà phát triển khác để tạo ra ứng dụng cho các platform cụ thể.
SDK bao gồm một loạt những thứ như: thư viện, tài liệu triển khai, sample code, quy trình và các hướng dẫn mà các nhà phát triển có thể sử dụng và tích hợp vào ứng dụng của họ. SDK được thiết kế để sử dụng cho các platform hoặc ngôn ngữ lập trình nào đó.
Ví dụ: bạn sẽ cần Android SDK để build một ứng dụng Android, iOS SDK để build một ứng dụng iOS hoặc VMWare SDK để tích hợp với các VMWare platform khác,….
Các đặc tính của một SDK hiệu quả
Có những SDK được xây dựng nên dành cho mục đích nội bộ và phổ biến nhất là các SDK được xây dựng và triển khai công khai ra bên ngoài cho các doanh nghiệp và nhà phát triển khác sử dụng. Do đó khi xây dựng và triển khai SDK để nó trở thành một SDK tốt thì bạn sẽ cần phải tuân thủ theo những nguyên tắc đã có (best practices) để tạo ra giá trị riêng cho SDK. Giá trị đó phụ thuộc vào việc SDK của bạn có những đặc tính như sau:
Dễ sử dụng bởi các nhà phát triển khác
Tài liệu rõ ràng để có thể giải thích cách hoạt động cho người khác
Không tác động tiêu cực đến hiệu năng như CPU, pin hay dữ liệu sử dụng.
Không impact với các SDK khác
Sự khác biệt giữa SDK và API là gì?
Chúng ta có thể định nghĩa API (hay Application Programming Interface) là một giao diện giữa 2 thành phần của phần mềm. Cụ thể hơn, nó cho phép bạn định nghĩa việc giao tiếp dễ dàng và rõ ràng hơn giữa các ứng dụng riêng biệt.
API
Ví dụ đơn giản bạn cứ coi API là người đưa thư, gửi yêu cầu từ ứng dụng của bạn tới phần mềm khác, và sau đó đem thông tin phản hồi trở lại cho ứng dụng của bạn. Ví dụ API thực tế: API chuyển đổi văn bản sang âm thanh của Kiki Zalo, API để lấy thông tin kết quả xổ số, API giá vàng, API giá bitcoin,…
SDK
Nếu như API được ví như người đưa thư thì SDK sẽ được ví như bưu điện.
Vì nó có thể chứa mọi thứ cần thiết để giao tiếp với một phần mềm (tức một hoặc nhiều API) cũng như các tài liệu có thể được sử dụng để xây dựng một ứng dụng hoàn toàn mới (tức là các thư viện, chương trình debugger, technical notes và tài liệu hướng dẫn).
Đối với những người mới bước chân vào lĩnh vực công nghệ, có thể 2 thuật ngữ này có thể gây nhầm lẫn cho họ. Cuối cùng mà nói, SDK và API đều có thể kết nối các phần mềm lại với nhau, không có nghĩa về cơ bản là chúng đều giống nhau. Và SDK là một bộ công cụ phát triển có thể chứa một hoặc nhiều API cùng với các tiện ích cần thiết khác, trong khi đó API chỉ là một phần của SDK.
Kết luận
Việc cho phép các thương hiệu khác hoặc các nhà phát triển có thể sử dụng công nghệ của bạn thông qua SDK sẽ mở ra cơ hội mới cho doanh nghiệp của bạn được tiếp cận bởi nhiều đối tượng hơn. Và tất cả những gì mà SDK cần có chính là khả năng cho phép các ứng dụng khác có thể triển khai và tích hợp một cách dễ dàng.
The post SDK là gì? Tất tần tật mọi thứ bạn cần biết appeared first on VSUDO Blog.
source https://vsudo.net/blog/sdk.html
0 notes
quangvublog · 3 years
Text
Hướng dẫn tải nhạc mp3 từ youtube trong 3 bước
Có thể nói, trang web youtube giống như một kho tàng kiến thức chứa đựng mọi thứ vậy, ngoài việc xem phim, nghe nhạc online trực tuyến trên kênh youtube, sẽ có lúc bạn muốn download âm thanh trong video youtube hoặc download youtube video về thiết bị của mình để tiện nghe lại sau. Thay vì phải download cả file video (hình ảnh và âm thanh) về máy, thì có một lựa chọn khác cực kỳ đơn giản để bạn tải mp3 từ youtube về máy. Trong bài viết này, mình sẽ hướng dẫn các bạn thực hiện việc tải nhạc từ youtube chỉ trong 3 bước cực kỳ đơn giản như sau:
Các bước tải mp3 từ youtube
Bước 1: Mở video youtube lên và copy đường dẫn có dạng như sau:
youtube
Bước 2: Truy cập vào trang web https://www.y2mate.com/vi12/youtube-mp3
Sau đó dán đường dẫn tới video bạn cần tải mp3 về, tiếp đó click vào button như hình bên dưới để lựa chọn định dạng tải về. Trong bài viết này, mình sẽ chọn file mp3 320kbps, sau đó nhấn nút “Tải về“
Bước 3: Cửa sổ pop-up mở lên, bạn click vào nút “Download mp3” là đã hoàn thành việc tải nhạc từ youtube về máy tính của mình rồi đấy.
Kết luận
Tải nhạc từ youtube về máy tính của bạn cực kỳ đơn giản như vậy đấy, điều này cực kỳ hữu ích khi bạn không cần phải download toàn bộ file video về máy tính và dùng các phần mềm chuyên dụng như camtasia để tách hình ảnh và âm thanh ra. Bên cạnh công cụ như mình show cho bạn ở bước 1 ra, hiện nay trên internet còn có rất nhiều các công cụ hỗ trợ khác nữa có chức năng tương tự nên mình không gi���i thiệu nhiều mà chỉ giới thiệu công cụ mình hay sử dụng nhất mà thấy ngon nhất thôi.
The post Hướng dẫn tải nhạc mp3 từ youtube trong 3 bước appeared first on VSUDO Blog.
source https://vsudo.net/blog/tai-nhac-mp3-tu-youtube.html
0 notes
quangvublog · 3 years
Text
Download VMWare Fusion – Giả lập windows trên macOS
VMWare Fusion là một phần mềm tạo máy ảo chạy trên hệ điều hành macOS, tương tự như VMWare Workstation – là trình giả lập dành cho máy tính chạy hệ điều hành Windows và Linux. VMWare là ứng dụng mà bạn có thể chi tiền ra mua một lần và sử dụng mãi mãi. Đối với hầu hết những người làm trong lĩnh vực công nghệ và am hiểu nhiều về ảo hóa (virtualization) thì VMWare vẫn là lựa chọn hàng đầu của họ.
Khi bạn khởi chạy hệ điều hành Windows trên VMWare Fusion, trải nghiệm có thể sẽ khác nhiều so với việc bạn chạy hệ điều hành ảo trên các công cụ khác như VirtualBox hay Parallels. Trên các dòng máy tính như Macbook Pro 2015 trở về sau, khi khởi động hệ điều hành Windows 10 lên bạn tầm 1 phút. Trong khi đó các đối thủ khác của VMWare như VirtualBox và Parallels chỉ mất có 35s để khởi động hoàn toàn. Một phần Virtualbox khởi động nhanh hơn vì nó bỏ qua quá trình setup printer và các chức năng tích hợp khác nữa. Hơn nữa cũng bởi Virtualbox là open-source nên sẽ không có nhiều các tính năng cao cấp trả về như VMWare – nên sẽ khá nhẹ nhàng để khởi động hệ thống.
Parallels thậm chí còn chạy nhanh hơn cả Virtualbox vì nó mô phỏng Fast Start BIOS – được hỗ trợ bởi phần cứng máy tính thực sự. Điểm khác biệt của Parallels khi so sánh với VMWare có không có gì đặc sắc, nhưng rất dễ để nhận thấy. Về nhược điểm của Parallels đó là khi khởi động nó sẽ mặc định bật tất cả các tính năng mặc dù những tính năng đó cực kỳ khó chịu. Ví dụ: nó đặt shorcut trên desktop máy tính mac của bạn thậm chí các phím tắt này chẳng có ý nghĩa gì nhiều khi người dùng đã quen sử dụng macOS.
Tính năng nổi bật có trên VMWare Fusion
Giả lập mạnh mẽ
Giống như các đối thủ của VMWare Fusion, phần mềm này có thể chạy giả lập bất kỳ hệ điều hành nào. Từ windows 95 cho đến phiên bản mới nhất là windows 10, chạy một phiên bản macOS giả lập khác, cho đến mọi phiên bản Linux, Solaris, FreeBSD.
Khi sử dụng VMWare, bạn có thể tạo cho mình nhiều máy tính giả lập khác nhau cùng chạy trên máy tính mac thật sự của bạn. Bạn có thể chỉ định khởi chạy máy tính giả lập nào khi mở Fusion lên hoặc cửa sổ thư viện.
Linh hoạt
VMWare Fusion không có giải thưởng nào về tốc độ, nhưng nó có thể được xếp hạng nhất về sự linh hoạt, sức mạnh và các tính năng thân thiện khác với các nhà phát triển và doanh nghiệp.
Download VMWare Fusion
Phiên bản Fusion 12.1.1
Download: Link
Key:
ZF3R0-FHED2-M80TY-8QYGC-NPKYF YF390-0HF8P-M81RQ-2DXQE-M2UT6 ZF71R-DMX85-08DQY-8YMNC-PPHV8
Kết luận
VMWare là một giải pháp giả lập hệ điều hành đáng tin cậy – cho phép bạn tùy chỉnh hàng loạt các tính năng cao cấp khác nhau khi khởi chạy hệ điều hành Windows giả lập và mọi hệ điều hành khác. Mặc dù nó chậm hơn một chút so với các đối thủ cạnh tranh, nhưng so về tính năng và sự ổn định thì VMWare chấp xa các đối thủ khác.
The post Download VMWare Fusion – Giả lập windows trên macOS appeared first on VSUDO Blog.
source https://vsudo.net/blog/vmware-fusion.html
0 notes
quangvublog · 3 years
Text
Hướng dẫn cài đặt Sublime Text 3 trên Ubuntu 20.04
Subline Text 3 là một trình soạn thảo code khá phổ biến trong lĩnh vực lập trình phần mềm, và cụ thể hơn là đối với người chuyên thiết kế website. Ứng dụng này xử lý rất nhanh, đi kèm với nó là rất nhiều các tính năng mạnh mẽ. Ngoài ra, ứng dụng này còn có các tính năng nâng cao, cho phép bạn tùy chỉnh và thêm các chức năng mới thông qua plugin.
Trong bài viết này, mình sẽ hướng dẫn bạn cách cài đặt Subline Text trên máy tính Ubuntu 20.04 thông qua một số bước cực kỳ đơn giản. Đầu tiên là enable repository của Subline Text 3, sau đó add GPG key rồi mới tiến hành cài đặt phần mềm được.
Nội dung chính
Cài đặt Subline Text 3
Khởi chạy Subline Text 3
Kết luận
Cài đặt Subline Text 3
Chạy câu lệnh bên dưới đây để cài đặt Subline Text 3 với quyền root.
Bước 1: Cài đặt các dependency cần thiết thể thêm repository mới.
sudo apt update sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common
Bước 2: Import GPG key của repository của Subline Text vào kho phần mềm trên hệ thống của bạn. Bằng cách chạy câu lệnh bên dưới:
curl -fsSL https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - sudo add-apt-repository "deb https://download.sublimetext.com/ apt/stable/"
Bước 3: Sau khi repository đã được enable, cài đặt Subline Text 3 bằng cách chạy câu lệnh sau:
sudo apt install sublime-text
Như vậy là bạn đã cài đặt Subline Text 3 trên Ubuntu 20.04 thành công rồi đấy và bạn đã có thể sử dụng nó từ ngay bây giờ. Khi có phiên bản mới được phát hành, bạn có thể cài đặt gói cài subline text thông qua công cụ Software Update trên máy tính của mình.
Khởi chạy Subline Text 3
Bạn có thể khởi chạy và sử dụng Subline Text 3 từ command trên terminal hoặc thông qua vài click đơn giản là Activities -> Sublime.
Khi sử dụng phầm mề Subline Text 3 lần đầu, bạn sẽ thấy ứng dụng này có giao diện như sau:
Kết luận
Như ở trên mình đã hướng dẫn bạn cách cài đặt Subline Text 3 cực kỳ basic và easy rồi đấy. Nếu muốn sử dụng editor này nâng cao hơn chút nữa, bước tiếp theo bạn nên cài đặt “Sublime Text Package Control” và tùy chỉnh IDE này theo nhu cầu riêng của bạn.
The post Hướng dẫn cài đặt Sublime Text 3 trên Ubuntu 20.04 appeared first on VSUDO Blog.
source https://vsudo.net/blog/sublime-text-3-ubuntu.html
0 notes
quangvublog · 3 years
Text
Hướng dẫn gửi email bằng Gmail với Python
Hiện nay có rất nhiều cách khác nhau để gửi email với python, có thể là thông qua các thư viện có sẵn như boto và SES, hoặc thông qua giao thức SMTP. Tuy mặc dù bạn có thể sử dụng những thư viện này để gửi mail một cách êm trôi, nhưng sẽ có thể đến lúc có nhiều vấn đề khác nảy sinh mà bạn chưa control được. Mình nghĩ bài viết hướng dẫn gửi mail thông qua gmail bằng python này sẽ rất hữu ích cho bạn để thực hiện các công việc có liên quan đến gmail thông dụng.
Nội dung chính
Giao thức SMTP là gì?
Tạo kết nối SMTP không an toàn
Tạo kết nối SMTP an toàn
Tạo email
Authentication với Gmail
Tiến hành gửi email
Kết luận
Giao thức SMTP là gì?
Python có sẵn một thư viện cho phép bạn kết nối với máy chủ SMTP – như smtp server mà gmail đang sử dụng. Thư viện này được gọi là smtplib, được tích hợp sẵn trong python.
SMTP (Simple Mail Transfer Protocol) là một giao thức ở lớp ứng dụng (trên TCP) được sử dụng để giao tiếp với mail servers từ các dịch vụ bên ngoài, như ứng dụng mail client trên điện thoại của bạn chẳng hạn. SMTP chỉ là một giao thức vận chuyển, như vậy bạn sẽ không thể nhận được email từ nó – nghĩa là bạn chỉ có thể gửi mail thông qua SMTP được thôi và cũng là câu chuyện mà mình sẽ tập trung trong bài viết này. Nếu bạn muốn nhận hay truy xuất thông tin email thì bạn sẽ cần phải đụng đến giao thức IMAP (Internet Message Access Protocol).
Lưu ý rằng hiện nay có rất nhiều dịch vụ email như gmail, outlook thường không sử dụng SMTP trên máy chủ của họ. SMTP thường chỉ cung cấp một interface hướng ra bên ngoài cho dịch vụ của họ như smtp.gmail.com server. Chủ yếu được sử dụng bởi email client trên điện thoại hay máy tính của bạn (như Outlook, thunderbird,…)
Xem thêm: Hướng dẫn cài đặt python 3.9 trên ubuntu
Tạo kết nối SMTP không an toàn
Như mình đã đề cập, Python tích hợp sẵn thư viện smtplib sẵn rồi – nên nó có thể thực hiện xử lý được rất nhiều phần khác nhau của giao thức như: xác thực, tạo kết nối, xác minh và gửi email.
Khi sử dụng thư viện này, có một số cách khác nhau để bạn có thể tạo một kết nối tới mail server. Trong phần này, chúng ta sẽ chỉ tập trung vào việc tạo một kết nối đơn giản, kết nối không an toàn (kết nối không được mã hóa) mặc định sẽ sử dụng port 25. Tuy nhiên, giao thức gửi email thực sự sử dụng port 587 – là những gì mà mình sẽ sử dụng.
Những kết nối này thực sự rất đơn giản để tạo với smtplib. Phiên bản kết nối SMTP không được mã hóa có thể tạo được bằng dòng code sau đây:
import smtplib try: server = smtplib.SMTP('smtp.gmail.com', 587) server.ehlo() except: print ('Something went wrong...')
Đoạn code trên thực tế chỉ thực hiện việc tạo kết nối và gọi hàm ehlo(). Từ đây bạn đã có thể gửi email tới gmail server thông qua kết nối không an toàn được rồi đấy.
Lưu ý: Gmail áp dụng một số hạn chế đối với các kết nối SMTP như thế này. Xem phần “Xác thực với gmail” ở phía bên dưới để hiểu rõ hơn.
Tạo kết nối SMTP an toàn
Khi một kết nối SMTP an toàn được bảo vệ thông qua SSL/TLS, nó sẽ thực hiện việc kết nối thông qua port 465 và thường được gọi là SMTPS. Không cần phải nói thì bạn sẽ biết, hiện tại hầu hết tất cả các website trên internet đều sử dụng kết nối an toàn (https khi truy cập website và google cũng khuyến cáo nên sử dụng SSL để tối ưu SEO cho website) và bạn cũng nên luôn sử dụng kết nối an toàn như vậy.
Xem thêm: SSL là gì
Có một số cách nhau mà bạn có thể dùng để sử dụng một kênh kết nối SMTP an toàn trong thư viện smtplib. Cách đầu tiên là tạo một kết nối không an toàn và sau đó là nâng cấp lên TLS bằng cách sử dụng method startls().
import smtplib try: server = smtplib.SMTP('smtp.gmail.com', 587) server.ehlo() server.starttls() # ...send emails except: print 'Something went wrong...'
Lưu ý là mặc dù đoạn code trên trông có vẻ giống với đoạn code tạo kết nối không an toàn, nhưng trong này mình có sử dụng hàm starttls() để nâng cấp lên thành kết nối an toàn.
Cách khác là bạn có thể tạo một kết nối an toàn ngay từ đầu. Trong trường hợp này, bạn sẽ sử dụng method SMTP_SSL() ngay từ đầu.
import smtplib try: server_ssl = smtplib.SMTP_SSL('smtp.gmail.com', 465) server_ssl.ehlo() # optional # ...send emails except: print ('Something went wrong...')
Đoạn code trên chỉ có một chút khác biệt so với các đoạn code ở trên nữa ở chỗ, đoạn code này sử dụng SMTPS có port mặc định là 465, và bạn có thể bỏ trống tham số này trong đoạn code.
Như vậy, mình đã có thể tạo được một kênh kết nối SMTP an toàn rồi, tiếp theo sẽ tiến hành tạo một email.
Tạo email
Về cơ bản, Email chỉ là một chuỗi văn bản được nối lại với nhau bởi ký tự newline. Hầu hết email sẽ có ít nhất các fields sau đây: FROM, TO, Subject và các fields body. Ví dụ:
From: [email protected] To: [email protected], [email protected] Subject: OMG Super Important Message Hey, what's up? - WTF
Như bạn có thể thấy bên trên, mỗi dòng chứa một field mới với data của nó. Nó không phải là binary, json, hay XML, đơn giả nó chỉ là một chuỗi chứa các dòng được phân cách.
Một ví dụ đơn giản trong python khi áp dụng các fields này để gửi email
sent_from = '[email protected]' to = ['[email protected]', '[email protected]'] subject = 'OMG Super Important Message' body = 'Hey, what's up?\n\n- You' email_text = """\ From: %s To: %s Subject: %s %s """ % (sent_from, ", ".join(to), subject, body)
Ở đoạn code trên, mình chỉ truyền giá trị để tạo ra chuỗi email_text rồi chuyển cho smtplib, tiếp theo mình sẽ giải thích rõ hơn.
Authentication với Gmail
Có một số bước mà bạn cần phải làm trước khi bạn có thể gửi mail thông qua Gmail với SMTP. Nếu bạn đang sử dụng Gmail làm nhà cung cấp dịch vụ email chính, bạn sẽ cần phải yêu cầu Google cho phép bạn kết nối qua SMTP – được coi là phương pháp “kém an toàn“.
Bạn không thể nào đổ lỗi cho Google khi bạn gửi email theo cách này vì ứng dụng của bạn sẽ cần password ở dạng plain-text để hoạt động – nghĩa là không phải một ý tưởng hay. Nó không giống như giao thức OAuth nơi token có thể được thu hồi, như vậy họ phải tìm cách khác để đảm bảo không có third-party nào có thể xâm nhập trái phép vào dữ liệu của bạn.
Đối với nhiều nhà cung cấp dịch vụ email trên thị trường hiện nay, bạn sẽ không cần phải thực hiện bất kỳ thủ tục nào như mình đã đề cập bên trên.
Đầu tiên, bạn sẽ cần phải cho phép các ứng dụng ít an toàn truy cập vào tài khoản của bạn.
Xem chi tiết: https://ift.tt/1rojmiS
Nếu bạn đã bật xác minh 2 bước trên tài khoản của mình, bạn sẽ cần phải tạo mật khẩu dành riêng cho các ứng dụng kém an toàn như này. Trong trường hợp này, bạn cần phải làm theo hướng dẫn bằng đường link bên dưới:
Xem chi tiết: https://ift.tt/1ayffTi
Và cuối cùng, nếu bạn vẫn nhận được exception SMTPAuthenticationError với mã lỗi 534, bạn sẽ cần phải thực hiện thêm một số bước nữa để đoạn code hoạt động trơn tru.
Để unlock Captcha: https://ift.tt/1hVw7Zd
Cuối cùng, đoạn code hoàn chỉnh để đăng nhập Gmail như sau:
import smtplib gmail_user = '[email protected]' gmail_password = 'P@ssword!' try: server = smtplib.SMTP_SSL('smtp.gmail.com', 465) server.ehlo() server.login(gmail_user, gmail_password) except: print 'Something went wrong...'
Tiến hành gửi email
Như vậy, bạn đã thiết lập kết nối SMTP và ủy quyền truy cập ứng dụng của mình với Google thành công rồi, cuối cùng là tiến hành gửi mail qua Gmail bằng Python.
Sử dụng chuỗi email_text như ở trên và object server đã được kết nối/xác thực và gọi hàm .sendmail() để gửi mail. Dưới đây là full code không che hoàn chỉnh.
import smtplib gmail_user = '[email protected]' gmail_password = 'P@ssword!' sent_from = gmail_user to = ['[email protected]', '[email protected]'] subject = 'OMG Super Important Message' body = 'Hey, what's up?\n\n- You' email_text = """\ From: %s To: %s Subject: %s %s """ % (sent_from, ", ".join(to), subject, body) try: server = smtplib.SMTP_SSL('smtp.gmail.com', 465) server.ehlo() server.login(gmail_user, gmail_password) server.sendmail(sent_from, to, email_text) server.close() print ('Email sent!') except: print ('Something went wrong...')
Kết luận
Ngoài các bước ủy quyền truy cập dành riêng cho Gmail (liên quan đến các ứng dụng kém an toàn), đoạn code trên cũng sẽ hoạt động đối với bất kỳ nhà cung cấp dịch vụ email nào khác có hỗ trợ truy cập SMTP, kể cả khi bạn tự dựng mail server và mở port SMTP là được.
Lưu ý khi sử dụng gmail: Gmail có áp dụng một số quy tắc hạn chế đối với những người gửi email bằng SMTP gmail. Tài khoản miễn phí sẽ chỉ có thể gửi được giới hạn 500 email mỗi ngày và bị giới hạn tốc độ vào khoảng 20 email mỗi giây thôi.
The post Hướng dẫn gửi email bằng Gmail với Python appeared first on VSUDO Blog.
source https://vsudo.net/blog/gui-email-gmail-python.html
0 notes
quangvublog · 3 years
Text
[Case Study 3] Tôi đã truy cập thông tin của 100 ngàn người dùng như thế nào?
Xin chào cả nhà, lại là tôi anh Sáu vê-lốc đây. Đã quá lâu rồi kể từ bài viết cuối cùng của tôi. Ngày hôm nay tôi sẽ trở lại với 1 seri bàn về 1 lần đi “check dạo” của tui hehe.
Nội dung chính
Thông tin người dùng có thể truy cập trực tiếp bằng API.
Truy cập vào các lớp học mà không cần xác thực.
Túm váy lại.
Chả là tầm này năm ngoái khi mà con số của những ca nhiễm mới do Covid 19 tăng đến chóng mặt, cả nước bị đưa vào trạng thái chống dịch cao nhất – tui đăng kí 1 khoá học online, sự việc vẫn diễn ra bình thường cho đên 1 ngày chủ nhật đẹp trời khi mà các lớp học bị tạm đóng cửa liên tục để bảo trì hệ thống. Tui tự nhủ: Quái cái trung tâm này có cái gì mà ăn rồi nâng cấp miết?. Thế là để đi tìm câu trả lời cho câu hỏi của mình, tui quyết định tìm thử xem cái nền tảng mà tui đang học nó có cái giống gì? . Đầu tiên tui dạo tất cả các page mà tui có quyền truy cập hợp lệ bằng tài khoản mà tui có. Cũng được vài cái lỗi cơ bản như XSS này kia, cơ mà theo đánh giá thì nó chỉ là phía client thôi, lớp cũng chỉ được có 6 người, thê nên lâu lâu tui cũng chỉ đem đi trêu mấy cô cho vui thôi. Tuy nhiên sau vài ngày tui vô tình kiểm tra lại các api mà nền tảng này gọi để lấy tài nguyên thì bất ngờ tui thấy có log được gửi từ phía người dùng về. Các log này có đủ thể loại, từ thông tin truy cập người dùng, lịch sử đánh giá, lịch sử truy cập… các API này được gọi từ url: portal.chotuihoctienganhonlinexyz.edu.vn là domain tôi rename thôi còn domain thật sự không tiết lộ được. Và đáng ngạc nhiên hơn là các API này hoàn toàn public. Tui nghĩ chắc chẳng có gì thì ngừoi ta mới public nó như thế. Nhưng mà tui đã hoàn toàn nhầm các ông ạ. Ở đây có đến n+1 cái đáng để chặn truy cập từ người dùng bên ngoài như:
            + Toàn bộ thông tin của các học viên, bao gồm: Họ tên,SDT, email, password(hash bằng bcrypt)…
            + Toàn bộ lịch sử truy cập của học viên, bao gồm cả access token cho phép người dùng sử dụng token này truy cập trực tiếp vào lớp học mà không cần tài khoản xác thực.
Bây giờ mình sẽ đi từng hạng mục của “công trình này nhé”:
Thông tin người dùng có thể truy cập trực tiếp bằng API.
Đây là mục “đáng giá” nhất nên tui để đầu tiên. API để truy cập này rất đơn giản, không những đơn giản mà các dev còn “tận tình” hướng dẫn cú pháp để trích xuất API. Thậm chí nếu chỉ cần có các kiến thức cơ bản về web cũng có thể sử dụng nó để đọc thông tin người dùng. API có dạng: portal.chotuihoctienganhonlinexyz.edu.vn/
Đấy các bạn thấy đấy, hướng dẫn rất tận tình và chi tiết từng API cho đến các tham số.  Ở đây mình thấy có 1 API rất đáng chú ý đó là:
portal.chotuihoctienganhonlinexyz.edu.vn/usersData{?page,size,sort}
Và đây là những gì mà tui thu được. Và mọi người có biết bao nhiêu cái tương tự như này không? Con số là hơn 130k người dùng và thông tin bao gồm tất cả những thứ như phía dưới.
Và bằng 1 vài dòng code python cực kì cơ bản thì tui có thể parse hết cái đám data này ra 1 file excel cực kì hoàn chỉnh. Data hình như hơi dễ lấy thì phải.
Truy cập vào các lớp học mà không cần xác thực.
Mọi người không nghe nhầm đâu, là thật đấy. Trong cái đám API này tui cũng tìm ra 1 cái hay ho nữa đó là các access token trong lịch sử đăng nhập của người dùng. Các access token này chỉ được mã hoá bằng base64, khi giải mã ra nó có thể bị sửa đổi thông tin người dùng khi truy cập vào lớp như: tên, chức năng người dùng- có thể trở thành admin của lớp học, đọc lịch sử chat riêng của giữa những người đó.
Theo mình suy đoán thì có thể họ sử dụng session cookie để lưu những thông tin này tạm trên server và sau đó xoá nó đi vì mình có để 1 thời gian thì lịch sử chat không thể load lại nữa, ngoài ra mình cũng test thử bằng việc gửi các tin nhắn bằng các HTTP request thì thấy client side không load trực tiếp tin nhắn từ server về nên mình đoán các đoạn chat này chỉ được load khi người dùng chưa có cookie còn không thì lịch sử chat sẽ được lưu lại tại cookie phía client.  Theo chân tui nhé. Đầu tiên là vào API:
http://portal. chotuihoctienganhonlinexyz.edu.vn/joinRoomHistories?page=xxxxx
Như hình dưới tui có nguyên cái access token định dạng base64.
Tui đem decode nó thì tui được cái như này.
Nếu ở đây tui chỉnh sửa thông tin và encode lại chắc chắn server sẽ thực thi theo các thông tin như cấu hình bên trong. ở đây tui có userRole là Audit. Để tui thử truy cập xem như thế nào nhé:
Ở đây tui chỉ là dự thính chẳng thể làm được gì, nhưng để tui thay đổi 1 role khác xem sao .
Như dưới đây tui đã có được quyền cao hơn với khá nhiều tính năng. Có 1 chức năng đặc biệt và cực kì đáng chú ý đó là chức năng upload file. Về chức năng này tui sẽ có 1 bài viết phân tích cụ thể và đi sâu về nó hơn.
Túm váy lại.
Như các bạn thấy đấy rõ ràng không phải chỉ các tổ chức, cá nhân nhỏ lẻ mắc các lỗi trong quá trình xây dựng hệ thống của mình mà thậm chí các tổ chức lớn và uy tín cũng có thể mắc các lỗi này dẫn đến nguy cơ gây mất an toàn cho thông tin người dùng, với các lỗ hổng mô tả ở trên, tui 1 tay gà mờ trong giới security cũng có thể dễ dàng lấy được toàn bộ thông tin của hơn 130k người dùng này nếu muốn, vậy với các “tay to” khác thì liệu họ còn có thể làm gì nữa thì tui không chắc lắm vì tui chưa có đạt tới cái tầm đó. Bài này tạm đến đây thôi. Hẹn các bạn dịp khác nhé. C ya
The post [Case Study 3] Tôi đã truy cập thông tin của 100 ngàn người dùng như thế nào? appeared first on VSUDO Blog.
source https://vsudo.net/blog/truy-cap-thong-tin-100-ngan-nguoi-dung.html
0 notes
quangvublog · 3 years
Text
Hướng dẫn cài đặt Postman trên Ubuntu 20.04
Postman là một platform được sử dụng để phát triển API khá hay, giúp bạn quản lý các API trong mọi giai đoạn phát triển phần mềm, từ thiết kế và kiểm thử cho đến triển khai tài liệu và monitoring. Postman ban đầu chỉ là một extention google chrome và đã dần nhanh chóng trở thành một trong những công cụ API được sử dụng phổ biến nhất trên thế giới.
Postman hiện tại có sẵn trên hầu hết các hệ điều hành phổ biến như: windows, linux, macOS. Và trong bài viết này, mình sẽ hướng dẫn b��n cách để cài đặt phần mềm Postman trên hệ điều hành Ubuntu 20.04.
Nội dung chính
Cài đặt Postman
Hướng dẫn cách sử dụng Postman
Kết luận
Cài đặt Postman
Cách dễ nh���t và nhanh nhất để cài đặt Postman trên Ubuntu 20.04 chính là thông qua sử dụng hệ thống snapping packaging. Snaps là gói phần mềm độc lập bao gồm tất cả các file binary cần thiết để chạy ứng dụng. Snap package có thể được cài đặt thông qua command-line hoặc ứng dụng Ubuntu Software.
Postman snap package được phân phối và duy trì bởi các nhà phát triển của Postman.
Để cài đặt Postman thông qua snap, đầu tiên bạn mở cửa sổ terminal lên và chạy lệnh sau:
sudo snap install postman
Quá trình download và cài đặt diễn ra nhanh hay chậm tùy thuộc vào kết nối internet của bạn. Khi mà đã cài đặt thành công, màn hình terminal của bạn sẽ hiển thị dữ liệu thông tin có dạng như sau:
postman 7.30.1 from Postman, Inc. (postman-inc✓) installed
Snap packge là cách dễ nhất để cài đặt, nâng cấp và bảo mật phần mềm trên hệ điều hành Ubuntu. Bất cứ khi nào một phiên bản mới được release, Postman sẽ được tự động cập nhật ở chế độ chạy ngầm.
Ngoài ra, cách đơn giản khác nữa là bạn truy cập vào phần mềm Ubuntu Software và tìm kiếm Postman rồi click chuột cài đặt là xong.
Hướng dẫn cách sử dụng Postman
Trong cửa sổ tìm kiếm Activities, gõ vào “Postman” và click vào icon để khởi động chạy postman. Khi bạn khởi chạy Postman lần đầu tiên, bạn sẽ thấy màn hình hiển thị có dạng như sau, yêu cầu bạn đăng nhập hoặc đăng ký tài khoản mới.
Khi tạo tài khoản và đăng nhập sẽ cho phép bạn tổ chức công việc trong Workspaces một cách dễ dàng hơn, như tạo backup và sync data từ thiết bị này đến các thiết bị khác. Nếu như bạn không muốn đăng nhập, bạn có thể bỏ qua bước này bằng cách click vào “Cancel and take to signed in account“.
Để hình dung được cách Postman hoạt động như thế nào, bạn có thể tạo một request đến REST API đến một trang web nào đó. Thành công thì bạn sẽ nhận được một chuỗi JSON có chứa thông tin dữ liệu trong đó.
Ví dụ: tạo request API method GET tới địa chỉ https://ift.tt/2bIH98B, sau đó bạn sẽ nhận được JSON object trả về chứa một array các users.
Kết luận
Như vậy mình đã hướng dẫn các bạn cách cài đặt Postman trên Ubuntu 20.04 rồi đấy. Bây giờ bạn đã có thể khám phá các tính năng mới trên Postman và bắt đầu dự án của mình được rồi đấy!
The post Hướng dẫn cài đặt Postman trên Ubuntu 20.04 appeared first on VSUDO Blog.
source https://vsudo.net/blog/postman-ubuntu.html
0 notes
quangvublog · 4 years
Text
Tác dụng của BIOS là gì và khi nào chúng ta sử dụng nó?
BIOS trên máy tính là thứ đầu tiên được load lên khi bạn khởi động máy tính. Nó khởi tạo phần cứng trước khi khởi động (boot) hệ điều hành từ ổ đĩa cứng hoặc thiết bị khác. Có rất nhiều cách thiết lập hệ thống ở mức độ thấp (low-level) mà chỉ có trong BIOS.
Các máy tính hiện đại chủ yếu được trang bị firmware UEFI – là phiên bản kế thừa của BIOS truyền thống. Về cơ bản mà nói, UEFI firmware và BIOS khá giống nhau. Thậm chí còn có một số máy tính hiện đại hiển thị các thiết lập UEFI firmware là BIOS.
Nội dung chính
BIOS và UEFI là gì?
Hướng dẫn truy cập vào các thiết lập BIOS và UEFI firmware
Hướng dẫn thay đổi các thiết lập BIOS và UEFI Firmware
BIOS và UEFI là gì?
BIOS là viết tắt của từ “Basic Input/Output system“, và là một loại firmware được lưu trữ trên con chíp gắn trên board mạch chủ. Khi mà bạn khởi động máy tính, máy tính sẽ boot BIOS – sẽ cấu hình phần cứng trước khi chuyển sang thiết bị boot (thường sẽ là ổ cứng)
UEFI là viết tắt của từ “Unified Extensible Firmware Interface” – là sự kế thừa của BIOS truyền thống. Nó hỗ trợ boot volume có kích thước trên 2TB và hỗ trợ nhiều hơn 4 partitions trên một ổ cứng, boot nhanh hơn và có nhiều tính năng hiện đại hơn. Ví dụ, chỉ các hệ thống sử dụng UEFI firmware mới hỗ trợ Secure Boot – để đảm bảo quá trình boot sẽ chống lại rootkit.
Cho dù máy tính của bạn có đang sử dụng BIOS hay UEFI firmware đi nữa thì cũng chẳng quan trọng cho lắm. Bởi cả hai đề là software mức thấp (low-level) – để khởi động máy tính. Cả hai đều có giao diện cho phép bạn truy cập thay đổi nhiều thiết lập hệ thống khác nhau. Ví dụ, bạn có thể chỉnh sửa thứ tự boot, tinh chỉnh ép xung, khóa máy tính bằng boot password, kích hoạt phần cứng hỗ trợ ảo hóa, điều chỉnh các tính năng ở mức thấp (low-level) khác.
Hướng dẫn truy cập vào các thiết lập BIOS và UEFI firmware
Có rất nhiều cách khác nhau để truy cập vào màn hình thiết lập BIOS và UEFI firmware. Trước hết, bạn sẽ cần phải restart máy tính đã. Để truy cập vào BIOS, bạn cần phải nhấn vào một phím trong quá trình boot. Phím này thường sẽ hiển thị trên màn hình máy tính trong quá trình boot dạng “Pass F2 to access BIOS” hay “Pass to enter setup”,… Thường thì các phím này sẽ là DELETE, F1, F2 hoặc Escape.
Một số máy tính với UEFI firmware cũng sẽ yêu cầu bạn phải nhấn các phím trên trong quá trình boot để truy cập vào màn hình UEFI. Để tìm được chính xác phím nào bạn cần nhấn – sẽ tùy thuộc vào motherboard trên máy tính của bạn, mình sẽ ví dụ với một chiếc máy tính MSI.
Với các máy tính chạy hệ điều hành Windows 10, mà để truy cập vào màn hình UEFI. Đơn giản bạn chỉ cần nhấn phím Shift và sau đó chọn Restart để khởi động lại máy tính.
Máy tính sẽ reboot vào menu các options boot đặc biệt. Tại đây, chọn Troubleshoot > Advanced Options > UEFI firmware Setting để truy cập vào màn hình thiết lập UEFI Firmware.
Hướng dẫn thay đổi các thiết lập BIOS và UEFI Firmware
Màn hình hiển thị BIOS và UEFI sẽ khác nhau trên từng model máy tính mà bạn đang sử dụng. Máy tính với BIOS sẽ có giao diện toàn bộ ở dạng text – và bạn có thể điều hướng bằng bàn phím. Và bạn cũng sẽ thấy có bảng hướng dẫn điều hướng bằng các phím ở phía dưới màn hình.
Một số mẫu máy tính UEFI hiện đại hơn có giao diện đồ họa cho phép bạn điều hướng sử dụng thông qua trỏ chuột. Nhưng tốt nhất bạn nên cẩn thận với màn hình thiết lập BIOS và UEFI! Bạn chỉ nên thay đổi các thiết lập hệ thống nếu như bạn biết chính xác option cần thay đổi là gì. Hoàn toàn có thể dẫn đến việc mất ổn định hệ thống và gây tổn hại đến phần cứng nếu như bạn thay đổi một số thứ liên quan đến ép xung.
Một số thiết lập hệ thống khác ít gây tổn hại hơn, như thay đổi thứ tự boot – tuy nhiên thiết lập này cũng có thể gây ra ảnh hưởng đến máy tính của bạn. Nếu như bạn thay đổi thứ tự boot và xóa hard drive từ danh sách các thiết bị boot, máy tính của bạn sẽ không thể boot Windows được nữa cho đến khi bạn sửa lại thứ tự boot.
Nếu bạn muốn thay đổi thiết lập nào đó mà vẫn chưa biết phần thay đổi nằm ở chỗ nào, cứ đi vòng vòng hết các options hiển thị trên màn hình là bạn sẽ thấy. Ví dụ: phần kích hoạt công nghệ ảo hóa VT-x của Intel thường sẽ nằm đâu đó dưới menu “chipset”, nhưng trên phần “System Configuration”. Option có tên “Virtualization Techonology” trên máy tính của bạn, thường sẽ có tên “Intel Virtualization Techonology”, “Intel VT-x” hay “Virtualization Extentions”.
Nếu như bạn vẫn không tìm thấy option mà muốn thay đổi trong BIOS, thì bạn nên search lại trên google để biết thêm cách truy cập thay đổi. Cụ thể hơn, nên tìm kiếm thông tin về mainboard mà bạn đang sử dụng sẽ chính xác hơn.
Sau khi đã hoàn thành việc thiết lập cài đặt, chọn “Save Changes” để lưu lại các thay đổi và khởi động lại máy tính của bạn. Bạn cũng có thể chọn option “Discard Changes” để khởi động máy tính của mình mà không lưu lại bất kỳ thay đổi nào.
Nếu bạn gặp phải bất kỳ rắc rối nào sau khi lưu, bạn có thể quay trở lại BIOS hoặc UEFI firmware và sử dụng option kiểu “Reset to Default Settings” hoặc “Load Setup Defaults”. Thiết lập này sẽ reset BIOS hoặc UEFI trên máy tính của bạn trở về mặc định.
The post Tác dụng của BIOS là gì và khi nào chúng ta sử dụng nó? appeared first on VSUDO Blog.
source https://vsudo.net/blog/bios.html
0 notes