/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

JUNIPER - JUNOS Cấu Hình Căn Bản

Dưới đây chúng tôi liệt kê các lệnh cơ bản nhất khi cấu hình dòng sản phẩm EX Series Ethernet Switches chạy trên JunOS để giúp cho các bạn làm quen với Juniper Networks

NỘI DUNG:

1. Cấu hinh căn bản Juniper Networks

2. Tạo vlan Juniper Networks

3. Đặt IP Address/Configure Interface or Vlan IP Address Juniper Networks

4. Interface-mode (Access/Trunking) Juniper EX Series

5. Configuring Static Route Preferences/Default Route Juniper Networks

6. DHCP Server Configuration Juniper Networks

7. DHCP Relay Agent Configuration Juniper Networks

8. Configure Power over Ethernet (PoE) interfaces on EX-series Switches

9. Configuring An Interface Range on EX-series Switches

10. Voice Data on Single Access Port (Supported LLDP-MED)

11. Tổng hợp cấu hình - Quit Configuration


THỰC HIỆN

1. Cấu hinh căn bản Juniper Networks

Commands Diễn Giải
cli vào mode cli
set date 202104151020.30 Thiết lập thời gian là: 10 giờ 20 phút 30 giây ngày 15 tháng 04 năm 2021 (định dạng là: YYYYMMDDHHMM.ss)
configure vào mode config để bắt đầu cấu hình
set system host-name R1-EX3400-24P Đặt tên cho thiết bị là R1-EX3400-24P
set system login message "===Đây là Switch R1-EX3400-24P===" Khi truy cập vào thiết bị sẽ hiển thị banner có nội dung là: "===Đây là Switch R1-EX3400-24P==="
set system domain-name 8.8.8.8 Đặt DNS mặc định có IP là: 8.8.8.8
set system time-zone GMT+7 Đặt múi giờ là GMT+7
set system root-authentication plain-text-password Đặt password cho user root(sau khi enter sẽ nhập password đặt enter để xác nhận lại password)
set system login user admin class super-user authentication plain-text-password Tạo user admin đặt password cho user admin(sau khi enter sẽ nhập password đặt enter để xác nhận lại password)
set system service telnet Cài đặt service telnet
set system service SSH Cài đặt service SSH
set system services web-management https system-generated-certificate Cài đặt service web và sử dụng https
commit check kiểm tra thông tin cấu hình trước khi lưu
commit lưu cấu hình
show | compare So sánh/kiểm tra cấu hình đã thay đổi thế nào


2. Tạo vlan Juniper Networks

Commands Diễn Giải
set vlans vlan-10 vlan-id 10 Tạo vlan có tên là vlan-10 và id của vlan là 10
set vlans vlan-10 description "==Used for MainOffice==" vlan-10 có phần chú thích là "==Used for MainOffice=="
show vlans Hiển thị các vlan đã được tạo trên switch


3. Đặt IP Address/Configure Interface or Vlan IP Address Juniper Networks

3.1 Đặt IP address trên interface

Commands Diễn Giải
set interfaces ge-0/0/10 unit 0 family inet address 10.10.10.254/24 Gán interface ge-0/0/10 có địa chỉ IP là 10.10.10.254/24
set interfaces ge-0/0/10 unit 0 description "==Dat IP cho interface==" Interface ge-0/0/10 có phần chú thích là "==Dat IP cho interface=="
show interfaces ge-0/0/10 Xem các thông tin đã được cấu hình trên interface ge-0/0/10
run show interfaces terse Hiển thị thông tin trạng thái của tất cả interface trong Juniper (tương đương lệnh show ip interface brief trong cisco )
run show interfaces ge-0/0/10 terse Hiển thị thông tin trạng thái up/down, hiển thị thông tin IP được cấu hình trên interface ge-0/0/10

3.2 Đặt IP address trên interface vlan

Commands Diễn Giải
set vlans vlan-11 vlan-id 11 Tạo vlan có tên là vlan-11 và id của vlan là 11
set interfaces irb unit 11 family inet address 11.11.11.254/24

HOẶC

set interfaces irb.11 family inet address 11.11.11.254/24
Interface irb.11 (trong Juniper interface irb dùng cho interface vlan) có địa chỉ IP address là 11.11.11.254/24


vì irb unit 11 có thể viết là irb.11
set vlans vlan-11 l3-interface irb.11 Gán interface irb.11 vào interface vlan-11, hoặc cũng có thể hiểu là gán IP 11.11.11.254 vào interface vlan-11

3.3 Đặt IP address trên interface me0 Managenment-MGMT

Commands Diễn Giải
set interfaces me0 unit 0 family inet address 192.168.123.254/24 Gán interface me0 (là interface Managenment) có địa chỉ IP là 192.168.123.254/24

Noted: Juniper chỉ chấp nhận việc đặt IP trên subInterface, nên mỗi khi đặt ip chúng ta phải gõ thêm theo cú pháp là tên interface unit <số> hoặc interface.<số>. 
ví dụ
irb unit 11 tương đương irb.11
- ge-0/0/10 unit 0 tương đương ge-0/0/10.0


* Kiểm tra thông tin cấu hình interface vlan 11:

Commands Kết quả

show vlans
vlan-11 {
       vlan-id 11;
       l3-interface irb.11;
}

show interfaces irb
unit 11 {
     family inet {
         address 11.11.11.254/24;
     }
}

4. Interface-mode (Access/Trunking) Juniper EX Series

Commands Giải Thích
set interfaces ge-1/0/11 unit 0 family ethernet-switching interface-mode access Gán interfaces ge-1/0/11 là mode access
set interfaces ge-1/0/11 unit 0 family ethernet-switching vlan members vlan-11 Interfaces ge-1/0/11 thuộc vlan-11
set interfaces ge-1/0/12 unit 0 family ethernet-switching interface-mode trunk Gán interfaces ge-1/0/12 là mode trunk
set interfaces ge-1/0/12 unit 0 family ethernet-switching vlan members all Interfaces ge-1/0/12 cho phép tất cả các vlan có trên switch đi qua
run show interfaces ge-1/0/12.0
Kiểm tra trunk trên interface ge-1/0/12.0 nếu có cấu hình thì
Flash: Trunk-Mode 
run show ethernet-switching interface Kiểm tra vlan members trên trunk hay trunk cho phép những vlan nào đi qua

Noted: Một số dòng thiết bị hiểu là port-mode thay cho vì interface-mode

5. Configuring Static Route Preferences/Default Route Juniper Networks

Commands Giải Thích
set routing-options static route 0.0.0.0/0 next-hop 10.10.10.1 default route trỏ về 10.10.10.1
set routing-options static route 0.0.0.0/0 preference 11 Cài đặt độ ưu tiên (AD) là 11
run show route Kiểm tra thông tin routing table

* Kiểm tra thông tin route đã cấu hình

Commands Kết quả

show routing-options
nonstop-routing;
       static {
route 0.0.0.0/0 next-hop 10.10.10.1; }


6. DHCP Server Configuration Juniper Networks

Commands Diễn Giải
set access address-assignment pool dhcp-vlan-11 family inet network 11.11.11.0/24 - Cấu hình pool DHCP có tên là dhcp-vlan-11
- Network cho pool dhcp-vlan-11 là 11.11.11.0/24
set access address-assignment pool dhcp-vlan-11 family inet range range-vlan-11 low 11.11.11.11 Địa chỉ thấp nhất có thể cấp cho cho các DHCP Client là 11.11.11.11
set access address-assignment pool dhcp-vlan-11 family inet range range-vlan-11 high 11.11.11.200 Địa chỉ cao nhất có thể cấp cho cho các DHCP Client là 11.11.11.200
set access address-assignment pool dhcp-vlan-11 family inet dhcp-attributes name-server 8.8.8.8 Thiết lập DNS Server thứ nhất cho DHCP Client là 8.8.8.8
set access address-assignment pool dhcp-vlan-11 family inet dhcp-attributes name-server 8.8.4.4 Thiết lập DNS Server thứ hai cho DHCP Client là 8.8.4.4
set access address-assignment pool dhcp-vlan-11 family inet dhcp-attributes router 11.11.11.254 Thiết lập default gateway cho DHCP Client là 11.11.11.254
set system services dhcp-local-server group dhcp-vlan-11 interface irb.11 Nếu có thiết bị trong interface irb.11(vlan-11) xin DHCP thì sẽ sử dụng pool có tên dhcp-vlan-11
show access address-assignment Hiển thị thông tin các pool DHCP hiện có trên switch
show system services dhcp-local-server Hiển thị thông tin các interface/vlan có thể sử dụng DHCP server trên switch

* Kiểm tra thông tin DHCP server

Commands Kết quả

show access address-assignment
pool dhcp-vlan-11 {
      family inet {
             network 11.11.11.0/24;
             range range-vlan-11 {
                  low 11.11.11.11;
                  high 11.11.11.200;
             }
             dhcp-attributes {
                    name-server {
                          8.8.8.8;
                          8.8.4.4;
                   }
                   router {
                             11.11.11.254;
                  }
              }
      }
}

show system services dhcp-local-server
group dhcp-vlan-11 {
        interface irb.11;
}


7. DHCP Relay Agent Configuration Juniper Networks


Commands Diễn Giải
set forwarding-options dhcp-relay server-group DHCP-RELAY 172.16.126.11 172.16.126.11 là địa chỉ IP của DHCP Server (đây là DHCP server không nằm trên switch, phải đảm bảo hệ thống network phải routing đến được server này), chúng ta có thể có nhiều DHCP Server
set forwarding-options dhcp-relay active-server-group DHCP-RELAY Chỉ định/kích hoạt tên của Server/Nhóm server DHCP được phép relay/iphelper
set forwarding-options dhcp-relay group DHCP-RELAY interface irb.96 Nếu các thiết bị (client) trong vlan sử dụng gateway là ip của interface irb.96 khi xin DHCP thì interface irb.96 sẽ chuyển thông tin đến DHCP server và nhận kết quả trả về từ DHCP server sau đó phản hồi lại cho client
show forwarding-options Hiển thị thông tin DHCP relay đang cấu hình trên switch

Noted: Nếu interface irb.97 muốn dùng dhcp relay chúng ta chỉ cấu hình thêm thêm: "set forwarding-options dhcp-relay group DHCP-RELAY interface irb.97" là đủ


8. Configure Power over Ethernet (PoE) interfaces on EX-series Switches

Commands Diễn Giải
set poe interface ge-0/0/0 Bật PoE trên interface ge-0/0/0
set poe interface all Bật PoE trên tất cả các interface
set poe interface all priority high Bật và thiết lập priority ở mức cao
set poe interface all maximum-power 14 Thiết lập maximum-power là 14 wattage, mặc định là của switch 15.4
show poe interface Kiểm tra trạng thái PoE đã cấu hình trên switch


9. Configuring An Interface Range on EX-series Switches


Commands Diễn Giải
set interfaces interface-range range-port-TEST member-range ge-1/0/0 to ge-1/0/10

HOẶC

set interfaces interface-range range-port-TEST member "ge-1/0/[0-10]"

Tạo nhóm có tên range-port-TEST gồm các interface từ ge-1/0/0 đến ge-1/0/10
set interfaces interface-range range-port-TEST unit 0 family ethernet-switching vlan members vlan-11 Gán nhóm interface có tên range-port-TEST thuộc vlan có tên là vlan-11
set interfaces interface-range range-port-TEST disable Disable các port thuộc range có tên range-port-TEST (disable tương đương shutdown trong cisco)
show interfaces interface-range range-port-TEST Hiển thị thông tin đã cấu hình của range interface có tên range-port-TEST (show trong mode config)
Range port tham khảo

10. Voice Data on Single Access Port (Supported LLDP-MED)



Commands Diễn Giải
set protocols lldp interface all Đảm bảo LLDP enable trên interface (ở đây chúng tôi mở trên tất cả các interface)
set protocols lldp-med interface ge-0/0/2 Enable LLDP-MED trên cổng ge-0/0/2 là cổng đấu nối điện thoại - Voice IP
set protocols lldp-med fast-start 6 Thiết lập số gói tin (6 gói) quảng bá LLDP-MED sau khi detect thiết bị
set vlans vlan-125 vlan-id 125 Đảm bảo vlan-125 dùng cho voice tồn tại trên switch
set vlans vlan-119 vlan-id 119 Đảm bảo vlan-119 dùng cho Data tồn tại trên switch
set switch-options voip interface ge-0/0/2 vlan vlan-125 Cấu hình voice vlan cho interface ge-0/0/2
set interfaces ge-0/0/2 unit 0 family ethernet-switching interface-mode access Chuyển ge-0/0/2 là mode access
set interfaces ge-0/0/2 unit 0 family ethernet-switching vlan members vlan-119 Gán ge-0/0/2 làm member của vlan-119 (là vlan dùng cho Data)

*Kiểm tra cấu hình:

- show lldp: đảm bảo LLDP-MED đã bật trên interface ge-0/0/2

- show vlan: đảm bảo interface ge-0/0/2 thuộc vào 2 vlan và trạng thái đang active (có dấu sao là đang active)


11. Tổng hợp cấu hình - Quit Configuration

1. Cấu Hình Căn Bản
cli
set date 202104151020.30
configure
set system host-name R1-EX3400-24P
set system login message "===Đây là Switch R1-EX3400-24P==="
set system domain-name 8.8.8.8
set system time-zone GMT+7
set system root-authentication plain-text-password
set system login user admin class super-user authentication plain-text-password
# nhập password muốn đặt
# xác nhận lại password
set system service telnet
set system service SSH
set system services web-management https system-generated-certificate
commit
Noted: Khi copy thì copy đến hết dòng số 9 sau đó đặt password mới và xác nhận password, và tiếp tục copy dán các dòng còn lại

2. Tạo Vlan
set vlans vlan-10 vlan-id 10
set vlans vlan-10 description "==Used for MainOffice=="             
show vlans

3.1 Đặt IP Trên Interface
set interfaces ge-0/0/10 unit 0 family inet address 10.10.10.254/24
set interfaces ge-0/0/10 unit 0 description "==Dat IP cho interface=="
show interfaces ge-0/0/10 

3.2 Đặt IP Cho Vlan
set vlans vlan-11 vlan-id 11
set interfaces irb.11 family inet address 11.11.11.254/24
set vlans vlan-11 l3-interface irb.11
3.3 Đặt IP Port MGMT
set interfaces me0 unit 0 family inet address 192.168.123.254/24
4.1 Interface Mode-Access
set interfaces ge-1/0/11 unit 0 family ethernet-switching interface-mode access
set interfaces ge-1/0/11 unit 0 family ethernet-switching vlan members vlan-11        
4.2 Interface Mode-Trunk
set interfaces ge-1/0/12 unit 0 family ethernet-switching interface-mode trunk
set interfaces ge-1/0/12 unit 0 family ethernet-switching vlan members all        
5. Static Route/Default Route
set routing-options static route 0.0.0.0/0 next-hop 10.10.10.1
set routing-options static route 0.0.0.0/0 preference 11        
6. DHCP Server
set access address-assignment pool dhcp-vlan-11 family inet network 11.11.11.0/24
set access address-assignment pool dhcp-vlan-11 family inet range range-vlan-11 low 11.11.11.11
set access address-assignment pool dhcp-vlan-11 family inet range range-vlan-11 high 11.11.11.200
set access address-assignment pool dhcp-vlan-11 family inet dhcp-attributes name-server 8.8.8.8
set access address-assignment pool dhcp-vlan-11 family inet dhcp-attributes name-server 8.8.4.4
set access address-assignment pool dhcp-vlan-11 family inet dhcp-attributes router 11.11.11.254
set system services dhcp-local-server group dhcp-vlan-11 interface irb.11
7. HDCP Relay Agent
set forwarding-options dhcp-relay server-group DHCP-RELAY 172.16.126.11
set forwarding-options dhcp-relay active-server-group DHCP-RELAY
set forwarding-options dhcp-relay group DHCP-RELAY interface irb.96
8. Configure Power over Ethernet - PoE
set poe interface ge-0/0/0
set poe interface all
set poe interface all priority high
set poe interface all maximum-power 14
9.1 Cấu Hình Range-Port Vào Vlan
set interfaces interface-range range-port-TEST member-range ge-1/0/0 to ge-1/0/10
set interfaces interface-range range-port-TEST unit 0 family ethernet-switching vlan members vlan-11        
show interfaces interface-range range-port-TEST
9.2 Cấu Hình Range-Port Theo Regular Expression + Disable Các Port Trong Range
set interfaces interface-range range-port-TEST member "ge-1/0/[0-10]"
set interfaces interface-range range-port-TEST disable        
10. Voice Data on Single Access Port
set protocols lldp interface all
set protocols lldp-med interface ge-0/0/2
set protocols lldp-med fast-start 6
set vlans vlan-125 vlan-id 125
set vlans vlan-119 vlan-id 119
set switch-options voip interface ge-0/0/2 vlan vlan-125
set interfaces ge-0/0/2 unit 0 family ethernet-switching interface-mode access
set interfaces ge-0/0/2 unit 0 family ethernet-switching vlan members vlan-119

Link tham khảo từ juniper

Link tham khảo 


Xong!

P/s: để xóa cấu hình của interface dùng delete

ví dụ: 
- Xóa cấu hình của interface ge-0/0/10: delete interface ge-0/0/10 
- Hoặc của range: delete interfaces interface-range range-vlan-TEST member-range ge-0/0/10 to ge-0/0/14



Basic Regular Expression In Linux/Ubuntu/CentOS

Mục Lục

1. Regular Expression Căn Bản

2. Ví dụ:


Nội dung:

1. Regular Expression Căn Bản

Ký Hiệu Giải Thích
. Bất kỳ ký tự nào
+ MỘT hoặc NHIỀU lần xuất hiện TRƯỚC nó
* Không hoặc NHIỀU lần xuất hiện TRƯỚC nó
? Không hoặc MỘT lần xuất hiện TRƯỚC nó
^ Đại diện cho mẫu ĐỨNG ĐẦU một chuỗi
$ Đại diện cho mẫu KẾT THÚC một chuỗi
[] Tập hợp các ký tự/ khớp với bất kỳ ký tự nào nằm trong trong dấu ngoặc này
() Gom nhóm các mẫu lại với nhau
{n} Tìm chính xác ký tự và n lần xuất hiện của ký tự
{n,m} Khớp với ký tự xuất hiện 'n' lần nhưng không quá 'm'
{n,} Chỉ khớp với ký tự khi nó xuất hiện 'n' lần trở lên
\ Đại diện cho một ký tự đặc biệt
\+ Khớp với một hoặc nhiều lần xuất hiện của ký tự trước
\? Khớp 0 hoặc một lần xuất hiện của ký tự trước

2. Ví dụ:

Commands Giải Thích
cat file.txt | grep a Mở file.txt và tìm chữ 'a' trong file.txt sau đó trả về kết quả.
HOẶC grep a file.txt Tìm chữ 'a' trong file.txt, tuy nhiên với cách tìm kiếm này ít tốn tài nguyên hơn
cat file.txt | grep ^a Tìm chuỗi bắt đầu bằng chữ 'a' trong file.txt
cat file.txt | grep g$ Tìm chuỗi kết thúc bằng chữ 'g' trong file.txt
cat file.txt | grep .a Tìm a và bất kỳ ký tự nào đứng trước a
cat file.txt | grep a. Tìm a và bất kỳ ký tự nào đứng sau a
cat file.txt | grep -E p\{2} Trả về 1 chuỗi nếu trong chuỗi có có chữ 'p' xuất hiện 2 lần
grep -v ^$ /etc/login.defs | grep -v ^\# Hiển thị nội dung file login.defs nhưng không hiển thị các dòng trắng và dòng giải thích (bắt đầu bằng dấu #)

Xong!

File/Directory Permission In Linux/Ubuntu/CentOS

Mục lục

1. File type (căn cứ vào ký tự đầu tiên)
2. Nhóm phân quyền trong Linux - Ownership:
3. Kiểm soát quyền truy cập - Permission:
4. Thay đổi permission - chmod
5. Thay đổi permission - chmod bằng cơ số
6. Defaulf permission - umask


Nội dung

1. File type (căn cứ vào ký tự đầu tiên)


Attribute File type
- Là ký hiệu của file thường
d Ký hiệu của thư mục (Directory)
l Ký hiệu của symbolic link

2. Nhóm phân quyền trong Linux - Ownership:

  • Owner: Mỗi file, thư mục được sở hữu bởi một user nhất định (phân quyền sở hữu)
  • Group: Mỗi file, thư mục được sở hữu bởi một group
  • Others: Quyền truy cập cập các user, group không phải là owner và group
Commands Giải Thích
id Xác định username hiện tại
ls -l Liệt kê các items cung với thông tin owner, group
ls -l file_name.txt Xem file_name.txt đang set những quyền nào
chown thay đổi owner
chgrp Thay đổi group
-R Recursively (đệ qui)
chown: NEW_GROUP == chgrp
chown NEW_USER:NEW_GROUP Thay đổi đồng thời ower và group

  • Cú pháp:
chown option [tên user]:[tên group] [file/folder]

- Option: chủ yếu vẫn dùng với -R 

  • Ví dụ:
Command Giải Thích
chgrp ITadmin file.txt Thiết lập group ITadmin là owner của file.txt
chgrp -R ITadmin folder_name Thiết lập group ITadmin là owner của thư mục có tên folder_name và áp xuống tất cả (đệ quy) các file và thư mục con của folder này.
chown itsupport file.txt Thiết lập owner file.txt là user itsupport
chown khanhvc:root file.txt Thiết lập owner file.txt là user khanhvc và owner group cho file.txt là root
chown -R khanhvc:root folder_name Thiết lập user khanhvc và group root là owner của thư mục có tên folder_name và áp xuống tất cả (đệ quy) các file và thư mục con của folder này.

3. Kiểm soát quyền truy cập - Permission:

Attribute Permission Files Directory
r read Cho phép mở file và đọc cho phép list content của directory nếu thuộc tính x (execute) cũng được set
w write Cho phép ghi vào file hoặc xóa nội dung file, không cho phép xóa hoặc rename. Cho phép xóa, tạo, đổi tên file nếu thuộc tính x cũng được set
x execute Cho phép file được coi như một chương trình có thể thực thi được. Những file được viết bằng scripting language cũng cần có quyền đọc r để có thể thực thi được Cho phép truy cập directory
- Deny Không được phép Không được phép

4. Thay đổi permission - chmod


  • Ký hiệu cho đối tượng
Ký Hiệu Ý Nghĩa
u User/Owner
g Group
o Other or everyone
a All

  • Ký hiệu cho operations
Ký Hiệu Ý Nghĩa
+ Permisssion được add thêm vào/add permission
- Permission bị xóa bỏ/remove permission
= Thay thế toàn bộ quyền hiện tại bằng quyền mới này

  • Ví dụ:
Command Giải Thích
chmod o+w file_name.txt Cho phép user có quyền write trên file file_file.txt
chmod g-w file_name.txt Xóa bỏ quyền write của group trên file file_file.txt
chmod g=rwx file_name.txt Thay thế tất cả các quyền trước đây bằng quyền mới là: read, write và execute trên file file_name.txt

5. Thay đổi permission - chmod bằng cơ số


Octal Permission Ý Nghĩa
0 --- Không có quyền gì cả - none
1 --x Chỉ được quyền thực thi
2 -w- Chỉ được quyền ghi
3 -wx Được phép thi và thực thi
4 r-- Chỉ có quyền đọc
5 r-x Có quyền đọc và thực thi
6 rw- Có quyền đọc và ghi
7 rwx Có quyền đọc, ghi và thực thi
  • Ví dụ:
Command Giải Thích
chmod 777 folder_name Cho phép everyone được full quyền trên folder có tên folder_name
chmod 700 file_name.txt Cho phép user full quyền, Group và Other không có quyền
chmod 642 file_name.txt Cho phép user có quyền được và ghi, group chỉ có quyền đọc, others chỉ có quyền ghi

6. Defaulf permission - umask

Chúng ta tạm hiểu là nó dùng để phân quyền mặc định cho file hoặc folder sau khi tạo ra. Giá trị permission mặc định của thư mục có giá trị là 777, file là 666. Nếu chúng ta sử dụng lệnh umask <giá trị> trước, sau đó sử dụng lệnh để tạo file hay thư mục thì phân quyền của file hoặc thư mục được tính là: lấy giá trị mặc định trừ đi giá trị umask



  • Ví dụ: 
Command Giải Thích
umask 002
touch test_umask.txt
Tạo file test_umask.txt có các quyền: Owner: Read + write; Group: Read + write; Others: Read
umask 002
mkdir test_umask
Tạo thư mục có các quyền: Owner: full quyền; Group: full quyền; Others: Read + execute

P/s: Giá trị mặc định của umask là 002, điểm kiểm tra giá trị của umask hiện tại chúng ta dùng umask

Xong!

Account Management In Linux/Ubuntu/CentOS

Mục lục

1. Tạo mới Group/User

2. Thêm/xóa user trong group

3. Profiles/Policies cho User


Nội dung:

1. Tạo mới Group, User mới

Commands Diễn Giải
cat /etc/group Kiểm tra các group hiện tại đang tồn tại trên hệ thống
sudo groupadd ITadmin Tạo group mới có tên ITadmin
cat /etc/group | grep ITadmin Kiểm tra group ITadmin có tồn tại không
sudo groupdel ITadmin Xóa group ITadmin ra khỏi hệ thống
sudo adduser itsupport Tạo user mới có trên itsupport
id itsupport Hiển thị thông tin user itsupport
sudo passwd itsupport Đặt password cho user itsupport
sudo useradd -c "Su dung cho backup" bkuser Tạo user mới có tên là bkuser và có phần comment là "Su dung cho backup"
sudo userdel bkuser Xóa user có tên là bkuser
sudo userdel -r bkuser Xóa user có tên là bkuser và thư mục home, thư mục mail
cat /etc/passwd Hiện thị thông tin tất cả user có trên hệ thống
grep itsupport /etc/passwd Hiển thông tin của user itsupport
sudo cat /etc/shadow Hiển thị thông tin lưu trữ password đã mã hóa của tất cả các user
usermod -L itsupport lock user itsupport
usermod -U itsupport unlock user itsupport

2. Thêm/xóa user trong group

Commands Diễn Giải
sudo usermod -a -G ITadmin itsupport Thêm user itsupport vào group có trên ITadmin
sudo usermod -a -G Group1,Group2,Group2 itsupport Thêm user itsupport vào các group: Group1,Group2,Group2
sudo gpasswd -M khanhvc,itsupport root Thêm các user: khanhvc,itsupport vào group có tên root
grep itsupport /etc/passwd Kiểm tra user itsuport thuộc những group nào
HOẶC grep itsupport /etc/group Kiểm tra user itsuport thuộc những group nào
grep root /etc/group Kiểm tra xem group root có bao nhiêu thành viên
sudo gpasswd -d itsupport root Xóa user itsupport ra khỏi group root

3. Profiles/Policies cho User

Commands Diễn Giải
grep -v ^$ /etc/login.defs | grep -v ^\# Hiển thị nội dung file login.defs nhưng không hiển thị các dòng trắng và dòng giải thích (bắt đầu bằng dấu #)
PASS_MAX_DAYS 30 Password có hiệu lực trong vòng 30 ngày
PASS_MIN_DAYS 1 Sau khi đặt password 1 ngày thì chúng ta mới có thể đổi được password mới
PASS_MIN_LEN 3 Độ dài của password phải >= 3
PASS_WARN_AGE 7 Hiển thị cảnh báo nếu password nếu còn 7 ngày nữa hết hiệu lực
CREATE_HOME yes Tạo thư mục home cho user
ENCRYPT_METHOD SHA512 Mã hóa password theo thuật toán SHA512

Xong!

Hard Links & Symbolic Links In Linux/Ubuntu/CentOS

Khi một file hoặc folder được tạo ra trong Linux nó sẽ tạo ra 1 số cho file hoặc folder đó. Số đó gọi là INODE và đây là dãy số duy nhất trên hệ thống của Linux nhằm mục đích quản lý. 

Ví dụ:

khanhvc@ubutu:~/projects$ ll -i

total 12

2621505 drwxrwxr-x  3 khanhvc khanhvc 4096 Thg 9  23 14:05 ./

2621442 drwxr-xr-x 27 khanhvc khanhvc 4096 Thg 9  23 14:05 ../

2621869 -rw-rw-r--  1 khanhvc khanhvc    0 Thg 9  23 14:05 file_name.txt

2755955 drwxrwxr-x  2 khanhvc khanhvc 4096 Thg 9  23 14:05 folder_name/

khanhvc@ubutu:~/projects$


1. Hard Links

Ví dụ: tạo hard links có tên hardlink.txt trỏ về file_name.txt
khanhvc@ubutu:~/projects$ ln file_name.txt hardlink.txt
khanhvc@ubutu:~/projects$ ll -i
total 12
2621505 drwxrwxr-x  3 khanhvc khanhvc 4096 Thg 9  23 14:17 ./
2621442 drwxr-xr-x 27 khanhvc khanhvc 4096 Thg 9  23 14:05 ../
2621869 -rw-rw-r--  2 khanhvc khanhvc    0 Thg 9  23 14:05 file_name.txt
2755955 drwxrwxr-x  2 khanhvc khanhvc 4096 Thg 9  23 14:05 folder_name/
2621869 -rw-rw-r--  2 khanhvc khanhvc    0 Thg 9  23 14:05 hardlink.txt
khanhvc@ubutu:~/projects$

Chúng ta thấy file hardlink.txt và file_name.txt có inode giống nhau, có nghĩa hard link sẽ tạo link trỏ về link gốc của tập tin, hay nói cách khác hardlink.txt và file_name.txt có cùng chung một dữ liệu.

Nếu chúng ta thêm dữ liệu vào file hardlink.txt, cũng đồng nghĩa dữ liệu đó được thêm vào file_name.txt
khanhvc@ubutu:~/projects$ echo "thêm nội dung vào hardlink.txt" >> hardlink.txt
khanhvc@ubutu:~/projects$ cat file_name.txt
thêm nội dung vào hardlink.txt
 
khanhvc@ubutu:~/projects$ cat hardlink.txt
thêm nội dung vào hardlink.txt
khanhvc@ubutu:~/projects$

Nội dung 2 file hoàn toàn giống nhau. Nếu chung ta xóa 1 trong 2 file này vẫn không ảnh gì đến dữ liệu của file còn lại

khanhvc@ubutu:~/projects$ rm file_name.txt
khanhvc@ubutu:~/projects$ ls -i
2755955 folder_name  2621869 hardlink.txt
khanhvc@ubutu:~/projects$


Thực hiện xóa file file_name.txt, kiểm tra nội dung file hardlink.txt

 

khanhvc@ubutu:~/projects$ cat hardlink.txt
thêm nội dung vào hardlink.txt
khanhvc@ubutu:~/projects$


2. Symbolic Links: Tạo ra 1 link để trỏ đến file hoặc thưc mục gọi target. Nó không chứa bản sao copy của target mà nó chỉ link đến file hay thư mục, nó tương tự như shortcut trong windows. Vì là shortcut nên khi symbolic links bị xóa sẽ không ảnh hưởng đến nội của file hay thư mục, ngược lại nếu target bị xóa hay đổi tên symblic link sẽ không cập nhật, không hoạt động như link

Ví dụ:
Tạo symbolic link có tên softlink.txt trỏ về file_name.txt, và softlink_folder.txt trỏ về folder_name
khanhvc@ubutu:~/projects$ ln -s file_name.txt softlink.txt
khanhvc@ubutu:~/projects$ ln -s folder_name softlink_folder.txt
khanhvc@ubutu:~/projects$ 

 

khanhvc@ubutu:~/projects$ ls -i
2621869 file_name.txt  2625309 softlink_folder.txt
2755955 folder_name    2621566 softlink.txt
khanhvc@ubutu:~/projects$ 

Các số/inode của symbolic link và target là khác nhau

khanhvc@ubutu:~/projects$ ll -i
total 16
2621505 drwxrwxr-x  3 khanhvc khanhvc 4096 Thg 9  23 14:42 ./
2621442 drwxr-xr-x 27 khanhvc khanhvc 4096 Thg 9  23 14:05 ../
2621869 -rw-rw-r--  1 khanhvc khanhvc   35 Thg 9  23 14:24 file_name.txt
2755955 drwxrwxr-x  2 khanhvc khanhvc 4096 Thg 9  23 14:05 folder_name/
2625309 lrwxrwxrwx  1 khanhvc khanhvc   11 Thg 9  23 14:42 softlink_folder.txt -> folder_name/
2621566 lrwxrwxrwx  1 khanhvc khanhvc   13 Thg 9  23 14:42 softlink.txt -> file_name.txt
khanhvc@ubutu:~/projects$

Thuộc tính của symbolic link là  l

Xong!

Basic File Editing - Vim In Linux/Ubuntu/CentOS

Nội dung

1. Cài đặt Vim
2. Vim modes
3. Saving Changes
4. Moving File
5. Cut, Copy & Paste
6. Searching
7. Replace
8. Specials
9. Others

Commands

1. Cài đặt Vim

Ubuntu:

sudo apt install wim


CentOS:

sudo yum install vim


2. Vim modes

  • Command Mode
  • Insert Mode
  • Visual Mode


 

3. Saving Changes

Commands Diễn Giải
:e ten_file.txt Mở file có tên ten_file.txt từ editor
:sav filename.txt Lưu và đặt tên cho file là filename.txt
:x Lưu và thoát khởi vim
:wq Lưu và thoát khởi vim
:wq! Lưu và thoát khởi vim, ghi đè
:w Lưu, nhưng không thoát khỏi vim
:w! Lưu và thoát khởi vim, ghi đè
:q Thoát vim và không lưu
:q! Thoát vim và không lưu (overrides protection)
ZZ Lưu và thoát khởi vim
. Lặp lại thao tác gần nhất ở Normal Mode
10. Lặp lại 10 lần thao tác gần nhất ở Normal Mode


4. Moving File

Commands Diễn Giải
h hoặc mũi tên trái Duy chuyển sang trái 1 ký tự
l hoặc mũi tên phải Duy chuyển sang phải 1 ký tự
j hoặc mũi tên xuống Duy chuyển con trỏ xuống dưới 1 dòng
k hoặc mũi tên lên Duy chuyển con trỏ lên trên 1 dòng
e Duy chuyển con trỏ đến cuối từ
b Duy chuyển con trỏ đến đầu từ
w Duy chuyển con trỏ đến từ đầu tiên của chữ kế tiếp
gg Duy chuyển con trỏ về đầu file
G Duy chuyển con trỏ về cuối file
5G hoặc :5 Duy chuyển con trỏ đến dòng thứ 5
CTR + Y Cuộn lên 1 dòng
CTR + E Cuộn xuống 1 dòng
CTR + U Cuộn lên nữa màn hình
CTR + D Cuộn xuống nữa màn hình
CTR + B Cuộn lên 1 màn hình
CTR + F Cuộn xuống 1 màn hình


5. Cut, Copy & Paste

Commands Diễn Giải
y Copy phần text đã chọn vào clipboard
p Paste
dd Cut dòng hiện tại
yw Copy word
yy Copy dòng hiện tại
y$ Copy đến cuối dòng
D Copy tới cuối file


6. Searching

Commands Diễn Giải
/vidu Tìm kiếm "vidu" từ trên xuống dưới
?vidu Tìm kiếm "vidu" từ trên dưới lênh
/\cvidu Tìm "vidu" cả chữ hoa lẫn chữ thường (từ trên xuống)
/jo[ha]n Tìm "john" và "joan"
/^the Tìm từ bắt đầu bằng the (từ trên xuống) ví dụ: theatre or then
/the$ Tìm từ kết thúc bằng the ví dụ: breathe



7. Replace

Commands Diễn Giải
:%s/hoc/HocHanh/g nếu tìm thấy chữ "hoc" thì thay thế bằng "HocHanh" trong tất cả các dòng.
:%s/hoc/HocHanh/gc nếu tìm thấy chữ "hoc" thì thay thế bằng "HocHanh" trong tất cả các dòng, nhưng confirm trước khi replace.
:s/hoc/HocHanh/g nếu tìm thấy chữ "hoc" thì thay thế bằng "HocHanh" ở dòng hiện tại.
:4,10s/123/Mot Hai Ba/gc tìm từ dòng 4 -> 10 nếu có nội dung "123" thì thay bằng "Mot Hai Ba", confirm trước khi thay thế.
:5,$s/hoc/hocLinux/g Replace toàn bộ chữ "hoc" thành "hocLinux" từ dòng 5 đến cuối file
:%s/^/hello/g Thêm vào đầu của mỗi dòng chữ "hello"
:%s/$/Seeyouagain/g Thêm vào cuối của mỗi dòng chữ "Seeyouagain"


8. Specials

Commands Diễn Giải
:!ip a hiển thị kết quả của dòng lệnh ip a, nhưng không thoát editor
:r!ip a đưa kết quả của lệnh ip a vào editor
:r file.txt lấy nội dung của file đưa vào editor


9. Others

Commands Diễn Giải
:set number đánh số dòng cho file đang mở
:start,end dòng bắt đầu, dòng kết thức


Xong!
/*header slide*/