How To Reset Your Forgotten Root Password On CentOS 7 Servers

Sometimes you forget stuff. I do. I forget important passwords for important websites sometimes. Retrieving your forgotten passwords for most websites is easy, all one has to do remember few details that were used when signing up for the service to get a password reset for an account.
The difference is forgetting a password to a system or device with no easy way to reset it while locked out. CentOS 7 is one such system. If you forget the root password to your CentOS 7 machine, it’s almost virtually impossible to reset it while you’re locked out.
This brief tutorial is going to show you a simple trick that you can use to reset your forgotten root password for CentOS 7 servers. This will definitely come in handy for webmasters who are locked out of your CentOS machine and can’t sign on.
This tutorial will only work if you have direct access to the machine or serial terminal access with boot menu options. You can’t reset the root password if you’re remotely connected since you need boot menu access.
To get started, turn on the machine that you’ve forgotten the root password on. For CentOS 7 devices, you’ll be given 5 seconds at the boot menu to select the operating system kernel to boot into.
That 5 seconds is important, because allows for  admins to select different kernels or edit existing kernel parameters before booting.
At the boot menu, press e to edit the existing kernel (Core) as shown below.
Changing root password on centos 7
Next, scroll down to the list until you see the line underlined below (ro ) . What we need to do is change that ro to rw and start into a bash shell. It should look like this rw init=/sysroot/bin/sh.
forgotten root password on centos 7
Change the ro line to rw and add init=/sysroot/bin/sh
rw init=/sysroot/bin/sh
changing root password on centos
After changing that, press Control + X  or Ctrl + X  on your keyboard to start into single user mode using the bash shell specified above. In this mode, we’re going to change the root password.
In the single user mode, run the command as shown below
chroot /sysroot
password change on centos 7
Finally, run the commands below to change the root password.
change password on centos 7
You’ll be prompted to create and confirm a new password.  After creating the password, run the commands below to update SELinux parameters
touch /.autorelabel
Exit and reboot your system. You should be able to sign on and use the system with the new password you created. That’s how you change the root password on CentOS 7.
Enjoy!

Phân quyền tài khoản người dùng trong CentOS 7.0

1. Quyền và Quyền sở hữu.
Trong CentOS 7 có 3 loại quyền là : Đọc – Ghi – Thực thi ( read-write-execute ). Các quyền Đọc – Ghi – Thực thi này được đặt tương ứng với các số 4-2-1 tạo nên các quyền mà user có để áp dụng lên các file và folder. Quyền cao nhất là 7 và thấp nhất là0.
Sở hữu cũng có 3 loại: Owner – Group – Other.
  • Ownerlà người sở hữu file hoặc folder đó.
  • Grouplà nhóm sở hữu file hoặc folder đó.
  • Otherlà các user còn lại không thuộc 2 dạng trên.
2. Cách phân quyền và sở hữu 1 file:
Sử dụng câu lệnh “chmod” đẻ thay đổi quyền cho file hoặc folder.
Sử dụng câu lệnh “chown” để thay đổi quyền sở hữu.
Chuyển sang user u2 để thử các quyền đã được cài đặt.

Cài đặt và cấu hình Web Server trên CentOS 7.0

HTTP ( Hypertext Transfer Protocol) server hoặc Web Server là dịch vụ trong mạng có Web Server chứa nội dụng và Client sử dụng trình duyệt để kết nối tới Server Web lấy dữ liệu.
1. Apache HTTP Server.
Phiên bản mới nhất của Apache HTTP hiện tại là Apache  HTTP Server 2 .4 . Phiên bản này vẫn gồm các phần cơ bản của dịch vụ httpd, và thêm 1 số nâng cao như thêm các mô-đun server, cài đặt thiết lập máy ảo, và cấu hình máy chủ HTTP an toàn hơn.
2. Cài đặt Apache Server
Cài đặt httpd:
Thư mục chưa file config của Apache có đường dẫn: /etc/httpd/conf/httpd.conf
3. Cấu hình Apache Server:
Tạo website myweb:
Trang html có nội dung :
Chỉnh sửa file cấu hình httpd.conf:
Truy cập vào trang Web .
4. Xác thực cho Web của bạn:
Tạo User xác thực:
Tạo 1 file groups chứa user xác thực :
Chỉnh sửa file httpd.conf :
Restart lại dịch vụ httpd.service:
Thử truy cập lại để xem kết quả:
Cài đặt và cấu hình WEB Server trên CentOS 7_3 
5. Virtual Host sử dụng IP base:
Để có thể sử dụng IP base bắt buộc mỗi virtual phải có 1 card mạng riêng và địa chỉ ip riêng để sử dụng.
Tao website iweb:
Nội dung trang html:
Chỉnh sửa file httpd.conf
Truy cập lại vào địa chỉ 192.168.2.4 và 192.168.2.8 để xem kết quả:
Tại địa chỉ 192.168.2.4
Tại địa chỉ 192.168.2.8
6. Virtual host sử dụng Name base:
Tạo website vnlab1 :
Trang html có nội dung:
Tạo website vnlab2 :
Trang html có nội dung:
Chỉnh sửa file httpd.conf.
Chỉnh sửa file host :
Truy cập địa chỉ vnlab1.local và vnlab2.local :
Nội dung trên trang web: vnlab1.local
Nội dung trên trang web: vnlab2.local

Nén và giải nén trong CentOS 7.0

Trong CentOS có khá nhiều dạng nén, nhưng về cơ bản có ba dạng nén mà người ta hay sử dụng là : tar, gzip và bzip2 . dưới đây là cụ thể cách sử dụng cho từng dạng nén.
1. Nén và giải nén sử dụng tar
  • Nén file tar
  •  Giải nén file tar.gz
2. Nén và giải nén sử dụng bzip2
  • Nén file .bz2
  •  Giải nén file .bz2
3.Nén và giải nén sử dụng gzip
  • Nén file .gz
  •  Giải nén file .gz

Cài đặt và cấu hình SSH Server trên CentOS 7.0

SSH là dịch vụ cho phép quản lý từ xa, dữ liệu mật khẩu truyền trong môi trường SSHđược mã hóa nâng cao tính bảo mật cho dịch vụ.
1. Cài đặt và quản lý dịch vụ ssh.
SSH được cài đặt mặc định trong CentOS nên chúng ta không cần cài đặt, nhưng nếu muốn update SSH thì bạn có thể sử dụng câu lệnh:
Các lệnh quản lý dịch vụ sshd:
File cấu hình dịch vụ SSH được đặt tại: /etc/ssh/sshd_config
2. Kết nối từ Windows sử dụng putty.
Putty là phần mềm cho phép kết nối thông qua SSH để quản lý server linux từ xa bằng dòng lệnh. Tải putty từ địa chỉ : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Giao diện sử dụng của putty.
giao dien putty
  • Host Name ( or IP Address ) : Tên hoặc địa chỉ IP của máy cần kết nối
  • PortCổng kết nối ( mặc định ssh là 22)
Xác thực bằng tài khoản.
Xac thuc tai khoan ssh
Xác thực thành công và kết nối tới Server.
xac thuc thanh cong
3. Truyền nhận file từ Windows sử dụng WinSCP.
Để truyền hay nhận file từ client và server chúng ta sử dụng WinSCP vì phần mềm này nhỏ gọn, đầy đủ tính năng và dễ sử dụng. Tải về tại địa chỉ :http://winscp.net/eng/download.php . Phiên bản mới nhất hiện tại là WinSCP 5.5.5 .
Giao diện WinSCP.
giao dien WinSCp
  • Host nameTên hoặc địa chỉ IP máy cần kết nối
  • Port NumberCổng kết nối ( mặc định 22 )
  • User nametài khoản dùng xác thực
  • PasswordMật khảu xác thực
Kết nối thành công tới Server.
ket noi thanh cong bang winscp
4. Xác thực bằng Keys.
Thay vì dùng Password để xác thực như bình thương, chúng ta sẽ sử dụng keys để xác thực khi dùng putty kết nối tới Server.
Sử dụng ssh_keygen tạo ra key.
Sử dụng WinSCP tải file id_rsa.
copy private key
Khi đã tải xong file id_rsa thì chỉ giữ lại file id_rsa trên máy client và xóa fileid_rsa trên Server.
hoan tat copy private_key
Sử dụng Puttygen tạo ra Private_key từ file id_rsa
su dung puttygen 1
Nhấn Load để inport file id_rsa.
su dung puttygen 2
Nhập Passphrase .
Nhap Passphrase
Lưu lại key mới tạo dưới tên private_key.ppk
luu lai private key
Chỉnh sửa file cấu hình SSH.
Import private_key.ppk vào putty.
putty su dung keygen1
Nhập địa chỉ IP hoặc Host Name của Server
giao dien putty
Kết nối tới server thành công dùng xác thực bằng key.
xac thuc bang key thanh cong
Đối với WinSCP cách làm cũng tương tự như putty.
Import private_key.ppk vào WinSCP
WinSCP key 2
Kết nối thành công tới Server.
WinSCP key

Desktop Environment CentOS 7.0

Giao diện dòng lệnh rất mạnh mẽ trên Linux nói chung và CentOS nói riêng, đa số người dùng khi cài cài đặt CentOS hay bất kỳ 1 bản phân phối nào khác của linux thì đều mặc định cài Minimal. Nhưng khi cần sử dụng tới giao diện đồ họa thì chúng ta phải làm thế nào?
1.GNOME Desktop
Cài đặt GNOME Desktop:
Sau khi tất cả các cài đặt hoàn tất bạn sử dụng lệnh “init” để chuyển giữa các mode.
  • Mode 5: là mode đồ họa
  • Mode 3dùng cho multi user
Nếu bạn đang ở mode 3 thì sử dụng lệnh sau để về mode giao diện đồ họa :
Chọn ngôn ngữ:
Chọn kiểu bàn phím:
Kết thúc và bắt đầu sử dụng CentOS Linux
Giao diện “GNOME Desktop” trên CentOS
2. KDE Desktop Environment:
Cài đặt “KDE Desktop Environment“:
sử dụng lệnh để về mode 5:
Giao diện KDE Desktop Environment.
Khi bạn cài đặt nhiều giao diện đồ họa, nếu muốn sử dụng 1 giao diện nào đó hoặc chuyển đổi giữa các giao diện bạn làm như sau: Log out ra ngoài màn hình đăng nhập, nhập user như bình thường.
Đến phần nhập password bạn chọn biểu tượng ” cài đặt ” rồi tích vào tên giao diện muốn sử dụng.
Sau khi xong , đăng nhập như bình thường.
3. Kết nối tới windows bằng RDP
Cài đặt công cụ “freerdp“:
Sau khi cài đặt hoàn tất sử dụng lệnh sau trên giao diện đồ họa:
Màn hình Desktop của Win 7 trên CentOS:
4. VNC server :
Các bước cài đặt và cấu hình VNC server 
Trên máy Windows 7 cài đặt phần mềm UltraVNC Viewer , các bạn có thể download tại : http://www.uvnc.com/downloads/ultravnc.html
UltraVNC Viewer sau khi cài đặt hoàn tất.
Điền địa chỉ IP của VNC Server và port khi cấu hình VNC server.
Password xác thực
Màn hình của VNC server được remote từ windows 7

Cài đặt và cấu hình DNS Server trên CentOS 7.0

DNS (viết tắt của Domain Name System), là dịch vụ mạng có khả năng chuyển một tên miền sang địa chỉ IP. Một ví dụ đơn giản: khi bạn gõ vnlab.com.vn trên trình duyệt, máy chủ DNS sẽ tự động chuyển domain bạn vừa gõ sang địa chỉ IP (vốn là thông số mạng mà bạn chẳng bao giờ nhớ tới). Điều này giúp cho việc nhớ các địa chỉ mạng trở nên dễ dàng hơn, thay vì phải nhớ một chuỗi địa chỉ IP loằng ngoằng, bạn chỉ việc nhớ tên miền tương ứng !
Trong bài viết dưới đây, VNLAB sẽ hướng dẫn các bạn triển khai một máy chủ DNStrên nền tảng hệ điều hành mã nguồn mở CentOS 7 một cách nhanh chóng:
1. Cài đặt và cấu hình DNS Server:
Trước tiên, chúng ta cần cài đặt gói phần mềm Bind9:
Tiếp theo, chỉnh sửa file cấu hình named.conf:
Không sử dụng IPv6 và cho phép lắng nghe trên địa chỉ IP 192.168.1.11:
Cho phép nhận truy vấn DNS từ dải địa chỉ 192.168.1.0/24:
Định nghĩa vùng phân giải xuôi (Forward) và phân giải ngược (Reverse) sau phầnzone “.” IN:
 2. Tạo các vùng phân giải xuôi và ngược:
  • Tạo vùng phân giải xuôi:
Tạo các bản ghi tương ứng:
  •  Tạo vùng phân giải ngược:
Tạo các bản ghi tương ứng:
 3. Khởi động dịch vụ DNS:
 4. Kiểm tra truy vấn dịch vụ DNS từ máy client sử dụng Windows 7:
Từ máy Windows 7, sử dụng công cụ dòng lệnh CMD, kiểm tra truy vấn phân giải tới máy chủ DNS:
Kiểm tra truy vấn DNS trên máy Client

Trình soạn thảo nano và vi trong CentOS 7.0

1. Trình soạn thảo “nano”:
Là trình soạn thảo rất phổ biến và dễ dàng sử dụng trong linux, nano có thể đọc được mã Unicode và được cài mặc định trên hầu hết các bản phân phối của Linux.
Cách dùng nano cực kỳ đơn giản bới nano có hệ thống phím tắt được hiện thị ngay trên giao diện giúp người dùng có thể nhìn vào đó và thao tác dễ dàng.
Chỉnh sửa 1 file băng nano:
Các phím tắt của nano:
Ctrl+G : Hiển thị hướng dẫn sử dụng nano
Ctrl+X : Thoát
Ctrl+O : Viết ra 1 file khác. Tính năng này cho phép bạn sau khi đã nhập 1 đoạn văn bản mà bạn lại muốn lưu nó sang 1 file mới. Hoặc bạn cũng có thể dùng tính năng này để sao chép nội dung file sang 1 file khác.
Ctrl+J : Đưa tất cả nội dung của file về 1 dòng
Ctrl+R : Mở 1 file khác
Ctrl+WTìm kiếm
Ctrl+YQuay lại trang trước
Ctrl+VTới trang kế tiếp
Ctrl+KKhi con trỏ đặt tại đâu thì dòng đó sẽ bị cắt mất
Ctrl+UKhôi phục dòng bị cắt bới Ctrl+K
Ctrl+C: Chỉ ra 1 số thông tin của ký tự cùng vị trí của con trỏ. Ví dụ như số dòng, số ký tự thứ bao nhiêu…
Ctrl+T: 1 số tính năng đặc biệt, hỗ trợ cho chính tả.
2. Trình soạn thảo “vi”:
Cũng giống như nano, vi cũng là trình soạn thảo rất phổ biến trong linux, nhưng so với nano thì vi có phần khó sử dụng hơn 1 chút.
vi chạy ở 2 chế độ : dòng lệnh và soan thảo.
Chỉnh sửa 1 file băng vi:
soan-thao-voi-vi-CentOS
Khi mở file mặc định vi ở chế độ dòng lệnh, nhấn “i” hoặc “insert” để chuyển sang chế độ soạn thảo.
Sau khi kết thúc soạn thảo nhấn “Esc” để về chế độ dòng lệnh.
Một số thao tác với file ở chế độ dòng lệnh của vi:
:wq      -lưu và thoát
:w         -lưu vào tập tin mới
:q          –thoát nếu không có thay đổi
:q!        -thoát không lưu

Cài đặt và cấu hình Mail Server trên CentOS 7.0

Cấu hình Mail Server là một vấn đề thiết yếu người quản trị sẽ phải trải qua. Postfix là một dịch vụ mã nguồn mở có khả năng chuyển email (MTA) mạnh mẽ trên nền tảng hệ điều hành Linux. Với ưu điểm quản trị dễ dàng, vận hành nhanh chóng và bảo mật là những lý do hàng đầu giúp Postfix trở thành sự thay thế cho Sendmail và trở thành MTA mặc định cho RHEL (RedHat Enterprise Linux).
Trong  bài viết này VNLAB sẽ hướng dẫn bạn triển khai và cấu hình một máy chủ mail đơn giản sử dụng Postfix và Dovecot trên nền tảng hệ điều hành CentOS 7.0(bạn cũng hoàn toàn có thể thực hiện các cấu hình tương tự trên các phiên bảnCentOS 6.x).
1. Cài đặt và cấu hình dịch vụ Postfix:
Trong phần này, VNLAB sẽ cài đặt và cấu hình dịch vụ Postfix với vai trò là mộtSMTP Server cho phép truyền tải email đi thông qua môi trường mạng Internet.
Trước hết, cần cài đặt dịch vụ Postfix:
Chỉnh sửa file cấu hình main.cf của dịch vụ postfix:
Chỉnh sửa các thông số như dưới đây:
Thiết lập khởi động dịch vụ postfix:
 2. Cài đặt và cấu hình dịch vụ Dovecot:
Trong phần này, VNLAB sẽ cài đặt và cấu hình dịch vụ Dovecot với vai trò là mộtPOP/IMAP Server cho nhận email thông qua môi trường mạng Internet.
Trước tiên cần cài đặt dịch vụ Dovecot:
Thiết lập giao thức trong file cấu hình dovecot.conf:
Thiết lập xác thực trong file cấu hình 10-auth.conf:
Thiết lập lưu trữ mail trong file cấu hình 10-mail.conf:
Thiết lập xác thực postfix trong file cấu hình 10-master.conf:
Thiết lập không bảo mật kết nối trong file cấu hình 10-ssl.conf:
Thiết lập khởi động dịch vụ Dovecot:
3. Kiểm tra gửi nhận mail giữa các tài khoản:
Tạo 2 tài khoản email và thiết lập mật khẩu tướng ứng:
Thiết lập tài khoản thaidv trên trình gửi nhận mail ThunderBird > lựa chọnCreate a new account:
Thiết lập tài khoản mail trên thunderbird
Nhập thông tin tài khoản mail và nhấn Continue để tiếp tục:
Nhập thông tin tài khoản mail
Lựa chọn sử dụng giao thức IMAP hay POP3:
Lựa chọn giao thức sử dụng
Xác nhận chứng chỉ cho kết nối:
Xác nhận chứng chỉ cho kết nối
Gửi email tới tài khoản phinv@mail.vnlab.com.vn từ tài khoảnthaidv@mail.vnlab.com.vn
Gửi email tới tài khoản khác
Kiểm tra nhận email trên Windows Live Mail với tài khoảnphinv@mail.vnlab.com.vn:
Kiểm tra nhận email

Cài đặt phần mềm trong CentOS 7.0

1. Cài đặt từ gói cài đặt.
Cài đặt phần mềm từ gói cài đặt là cách khá dễ dàng sử dụng các các gói cài đặt có định dạng . rpm. Cách này không cần sử dụng kết nối Internet mà cài đặt offline sử dụng DVD CentOS Everything ISO.
Trước tiên cần mount DVD CentOS Everything ISO và tới thư mục Package của DVD.
2.Cài đặt từ source:
Các gói cài đặt từ source thường được nén lại thành định dạng tar.gz hoặc tar.bz2 và được tải từ trên mạng về. Ưu điểm của cách cài đặt này là không cần phân biệt các bản phân phối của Linux, miễn là có đủ môi trường cho phần mềm thì có thể cài đặt và sử dụng.
Trước tiên để cài đặt cần giải nén các file có định dạng tar.gz hoặc tar.bz2. Sau khi giải nén xong chuyển tới thư mục chứa source của phần mềm.
Tuy nhiên với nhiều source thì cũng có các cách cài đặt khác nhau, để chắc chắn cài đặt đúng bạn nên đọc kỹ Readme trước khi cài đặt phần mềm nào đó.
3. Sử dụng YUM:
YUM (Yellowdog Updater Modified) là cách cài đặt dễ dàng và tự động trong CentOS. Người dùng chỉ cần gõ lệnh và yum sẽ kết nối tới các Server cập nhật để cài đặt hay gỡ bỏ các gói dựa vào thông tin chứa trên các server này. Cách này bắt buộc cần có kết nối ra bên ngoài internet.
  •  Cài đặt 1 phần mềm:
  •  Cài đặt gói phần mềm: