Can't open EXE files

Can't open EXE files

1. Click Start, and then click Run.


2. Type "command.com" , and then press Enter. (A DOS window opens.)


3. Type the following:

"cd\"

"cd \windows"

Press Enter after typing each one.

4. Type copy "regedit.exe regedit.com" and then press Enter.

5. Type "start regedit.com" and then press Enter.

6. Navigate to and select the key:

HKEY_CLASSES_ROOT\exefile\shell\open\command

7. In the right pane, double-click the (Default) value.

8. Delete the current value data, and then type:

"%1" %*

Tip: Type the characters: quote-percent-one-quote-space-percent-asterisk.

9. Close Regedit utility.


Note: If you are using Windows XP and you enable "System Restore" , you need to
disable "System Restore" in "Safe Mode" before using the instructions above.

Resource: http://support.microsoft.com/kb/555067
Cà rốt, trứng hay hạt cà phê.

Cà rốt, trứng hay hạt cà phê.

Cuộc sống không phải lúc nào cũng bằng phẳng, con đường ta đi không phải lúc nào cũng trải hoa hồng. Vậy khi vấp ngã, khi gặp khó khăn chúng ta sẽ giải quyết vấn đề như thế nào?

Mời mọi người đọc câu chuyện dưới đây. Đây là một câu chuyện về bài học mà một người cha dạy cô con gái cách vượt qua những khó khăn cuộc đời đem đến, những khó khăn đã khiến cô gái muộn phiền và nhiều lần toan nghĩ đến việc chối bỏ cuộc sống này.

Cha cô vốn là một đầu bếp. Một lần, nghe con gái than thở, ông dẫn cô xuống bếp. Ông bắc ba nồi nước lên lò và để lửa thật to. Khi ba nồi nước sôi, ông lần lượt cho cà rốt, trứng và hạt cà phê vào từng nồi riêng rồi đun để chúng tiếp tục sôi mà không nói một lời. Người con gái sốt ruột không biết cha định làm gì. Lòng cô đầy phiền muộn trong khi ông lại thản nhiên nấu. Nửa giờ sau người cha tắt bếp, lần lượt múc cà rốt, trứng và cà phê vào từng bát khác nhau. Ông bảo con gái dùng thử cà rốt. “Mềm lắm cha ạ”, cô gái đáp. Sau đó, ông lại bảo cô bóc trứng và nhấp thử cà phê. Cô gái cau mày vì cà phê đậm và đắng.


- Điều này nghĩa là gì vậy cha? – cô gái hỏi.
- Ba loại thức uống này đều gặp phải một nghịch cảnh như nhau, đó là nước sôi 100 độ. Tuy nhiên mỗi thứ lại phản ứng thật khác.


Cà rốt khi chưa chế biến thì cứng và trông rắn chắc, nhưng sau khi luộc sôi, chúng trở nên rất mềm. Còn trứng lúc chưa luộc rất dễ vỡ, chỉ có một lớp vỏ mỏng bên ngoài bảo vệ chất lỏng bên trong. Sau khi qua nước sôi, chất lỏng bên trong trở nên đặc và chắc hơn. Hạt cà phê thì thật kỳ lạ. Sau khi sôi, nước của chúng trở nên rất đậm đà.
Người cha quay sang hỏi cô gái: “Còn con? Con sẽ phản ứng như loại nào khi gặp phải nghịch cảnh.


Con sẽ như cà rốt, bề ngoài tưởng rất cứng cáp nhưng chỉ với một chút đau đớn, bất hạnh đã trở nên yếu đuối chẳng còn chút nghị lực? Con sẽ là quả trứng, khởi đầu với trái tim mỏng manh và tinh thần dễ đổi thay. Nhưng sau một lần tan vỡ, ly hôn hay mất việc sẽ chín chắn và cứng cáp hơn. Hay con sẽ giống hạt cà phê? Loại hạt này không thể có hương vị thơm ngon nhất nếu không sôi ở 100 độ. Khi nước nóng nhất thì cà phê mới ngon.


Cuộc đời này cũng vậy con ạ. Khi sự việc tưởng như tồi tệ nhất thì chính lúc ấy lại giúp con mạnh mẽ hơn cả. Con sẽ đối mặt với những thử thách của cuộc đời như thế nào? Cà rốt, trứng hay hạt cà phê?”

Internet
Mẹo và thủ thuật bảo mật SSH nâng cao

Mẹo và thủ thuật bảo mật SSH nâng cao

File cấu hình server SSH được đặt trong thư mục /etc/ssh/sshd_conf. Bạn cần khởi động lại dịch vụ SSH sau mỗi lần thay đổi để các thay đổi đó được thực thi.

Thay đổi cổng SSH

Mặc định, SSH tuân theo các kết nối đến trên cổng 22. Kẻ tấn công thường sử dụng phần mềm quét cổng xem liệu các host (máy trạm) có sử dụng dịch vụ SSH không. Thay đổi cổng SSH lên cao hơn 1024 là một lựa chọn khôn ngoan, vì hầu hết mọi chương trình quét cổng (gồm cả nmap) mặc định đều rà soát được các cổng cao.

Mở file /etc/ssh/sshd_config và tìm dòng có ghi:

Port 22

Thay đổi số cổng và khởi động lại dịch vụ SSH:

/etc/init.d/ssh restart

Chỉ cho phép sử dụng giao thức SSH 2

Có hai loại giao thức SSH. Nếu chỉ dùng giao thức SSH 2 thì sẽ an toàn hơn nhiều vì SSH 1 thường gặp phải vấn đề bảo mật với kiểu tấn công man-in-the-middle và insertion. Mở file /etc/ssh/sshd_config và tìm dòng sau:

Protocol 2,1

Thay đổi dòng thành protocol 2.

Chỉ cho phép một số đối tượng người dùng đăng nhập qua SSH

Bạn không nên cho phép người dùng root đăng nhập qua SSH, vì điều này gây nên mối đe doạ bảo mật lớn mà không cần thiết. Nếu một kẻ tấn công nào đó thu được đặc quyền root khi đăng nhập vào máy, khả năng phá hoại có thể gấp mấy lần người dùng thông thường. Bạn nên cấu hình server SSH không cho phép người dùng root đăng nhập. Đầu tiên, tìm dòng ghi:

PermitRootLogin yes

Thay đổi yes thành no và khởi động lại dịch vụ. Sau đó bạn có thể đăng nhập lại hệ thống với bất kỳ vai trò người dùng xác định nào đó và chuyển sang người dùng root nếu muốn trở thành siêu người dùng.

Sẽ khôn ngoan hơn khi tạo một user cục bộ giả hoàn toàn không có đặc quyền gì trên hệ thống và dùng tên user đó để đăng nhập SSH. Sử dụng cách thức này sẽ giúp máy tính không bị hại dù tài khoản người dùng có bị xâm phạm. Khi tạo người dùng này, hãy chắc chắn nó phải nằm trong nhóm wheel để bạn có thể chuyển sang nhóm superuser (siêu người dùng) nếu cần.

Nếu muốn tạo danh sách một số đối tượng người dùng được phép đăng nhập vào SSH, bạn có thể mô tả chúng trong file sshd_config. Ví dụ, nếu muốn cho phép người dùng anze, dasa, kimy đăng nhập qua SSH, ở cuối file sshd_config, thêm vào một dòng như sau:

AllowUsers anze dasa kimy

Tạo banner SSH tuỳ biến

Nếu muốn mời một người dùng kết nối tới dịch vụ SSH để xem một thư nào đó, bạn có thể tạo banner SSH tuỳ biến. Thực hiện đơn giản bằng cách tạo một file text (trong ví dụ là file etc/ssh-banner.txt) và đặt bất kỳ kiểu thư text nào bạn có vào trong đó. Ví dụ:

*****************************************************************
*This is a private SSH service. You are not supposed to be here.*
*Please leave immediately. *
*****************************************************************

Khi muốn chỉnh sửa hoặc ghi file, trong sshd_conf, tìm dòng ghi:

#Banner /etc/issue.net

Không cần bình luận về dòng trên mà hãy thay đổi đường dẫn tới file text banner SSH tuỳ biến của bạn.

Sử dụng cơ chế thẩm định khoá công cộng DSA

Thay vì sử dụng tên và mật khẩu khi đăng nhập vào SSH, bạn có thể dùng cơ chế thẩm định khoá công cộng DSA. Chú ý rằng bạn có thể sử dụng username, password và khoá DSA cùng một lúc. Sử dụng cơ chế thẩm định khoá công cộng DSA cho phép hệ thống ngăn chặn được kiểu tấn công theo sách vở, vì bạn có thể đăng nhập vào dịch vụ SSH mà không cần dùng đến tên và mật khẩu. Thay vào đó, bạn cần một cặp khoá DSA: một khoá chung (public) và một khoá riêng (private). Khoá riêng được giữ trên máy của bạn, còn khoá chung được đưa lên server. Khi muốn đăng nhập vào một phiên SSH, server sẽ kiểm tra khoá. Nếu tất cả thông số đều khớp, bạn được đưa vào hệ thống. Nếu khoá không khớp, kết nối bị ngắt.

Ở ví dụ dưới đây, máy riêng sẽ kết nối tới máy chủ được đặt tên là station1 và máy chủ là server1. Trên cả hai máy đều có cùng một thư mục chủ (home folder). Chú ý là kết nối sẽ không hoạt động nếu thư mục chủ trên client và server khác nhau. Đầu tiên, tạo một cặp khoá trên máy riêng với lệnh ~$ ssh-keygen -t dsa. Bạn sẽ được nhắc cụm mật khẩu cho khoá riêng, nhưng hãy để trống, chúng ta chưa quan tâm đến phương thức này vội. Một cặp khoá được tạo: khoá riêng nằm trong ~/.ssh/id_dsa và khoá chung được đặt tại .ssh/id_dsa.pub.

Tiếp theo, copy nội dung ~/.ssh/id_dsa.pub to server1 vào file ~/.ssh/authorized_keys. Nội dung trong ~/.ssh/id_dsa.pub có dạng:

~$ cat .ssh/id_dsa.pub
ssh-dss AAAAB3NzaC1kc3MAAACBAM7K7vkK5C90RsvOhiHDUROvYbNgr7YEqtrdfFCUVwMWcJYDusNG
AIC0oZkBWLnmDu+y6ZOjNPOTtPnpEX0kRoH79maX8NZbBD4aUV91lbG7z604ZTdrLZVSFhCI/Fm4yROH
Ge0FO7FV4lGCUIlqa55+QP9Vvco7qyBdIpDuNV0LAAAAFQC/9ILjqII7nM7aKxIBPDrQwKNyPQAAAIEA
q+OJC8+OYIOeXcW8qcB6LDIBXJV0UT0rrUtFVo1BN39cAWz5puFe7eplmr6t7Ljl7JdkfEA5De0k3WDs
9/rD1tJ6UfqSRc2qPzbn0p0j89LPIjdMMSISQqaKO4m2fO2VJcgCWvsghIoD0AMRC7ngIe6btaNIhBbq
ri10RGL5gh4AAACAJj1/rV7iktOYuVyqV3BAz3JHoaf+H/dUDtX+wuTuJpl+tfDf61rbWOqrARuHFRF0
Tu/Rx4oOZzadLQovafqrDnU/No0Zge+WVXdd4ol1YmUlRkqp8vc20ws5mLVP34fST1amc0YNeBp28EQi
0xPEFUD0IXzZtXtHVLziA1/NuzY= anze@station1.example.com

Nếu file ~/.ssh/authorized_keys đã tồn tại, gắn thêm nội dung trong ~/.ssh/id_dsa.pub vào file ~/.ssh/authorized_keys trên server1. Bạn chỉ cần thực hiện một việc là thiết lập chính xác đặc quyền trong file ~/.ssh/authorized_keys trên server1:

~$ chmod 600 ~/.ssh/authorized_keys

Bây giờ cấu hình file sshd_conf để sử dụng cơ chế thẩm định khoá DSA. Hãy chắc chắn rằng bạn có ba dòng không chú thích sau:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

Khởi động lại dịch vụ. Nếu mọi thứ đã được cấu hình chính xác, bạn đã có thể sử dụng SSH cho server và đặt trực tiếp nó vào thư mục chủ mà không cần bất kỳ tương tác nào khác.

Nếu muốn chỉ sử dụng duy nhất một cơ chế thẩm định DSA, không cần chú thích hay thay đổi dòng PasswordAuthentication trong file sshd_config từ yes thành no:

PasswordAuthentication no

Nếu ai đó cố gắng kết nối tới dịch vụ SSH mà không có khoá chung trên server, anh ta sẽ bị từ chối và thậm chí không được đưa nền đăng nhập ra với thông báo lỗi:

Permission denied (publickey).

Sử dụng các hàm bao TCP để cho phép chỉ một số host được kết nối

Phương thức trên sẽ rất hữu ích nều bạn muốn giới hạn số host trên mạng có thể kết nối tới dịch vụ SSH. Nhưng nó không thể sử dụng hoặc kết hợp được với cấu hình các bảng IP (iptable). Thay vào đó, bạn có thể dùng các hàm bao TCP, cụ thể là sshd TCP. Bạn có thể đưa ra quy tắc chỉ cho phép một số host nhất định trên mạng con cục bộ (local subnet) 192.168.1.0/24 và host từ xa 193.180.177.13 kết nối tới dịch vụ SSH.

Các hàm bao TCP mặc định đầu tiên sẽ xem trong file /etc/hosts.deny danh sách các host bị từ chối kết nối tới dịch vụ. Tiếp theo là file /etc/hosts để xem liệu có quy tắc nào cho phép một số host kết nối tới một dịch vụ đặc biệt nào đó không. Ví dụ, tôi sẽ tạo một quy tắc như vậy trong tư mục /etc/hosts.deny:

sshd: ALL

Quy tắc trên có nghĩa là, mặc định tất cả các host đều bị cấm truy cập dịch vụ SSH. Điều này là cần thiết, vì nếu không tất cả các host ở đây đều có quyền truy cập dịch vụ SSH. Do hàm bao TCP đầu tiên sẽ xem xét trong file hosts.deny, nếu không có quy tắc nào liên quan đến ngăn chặn sử dụng dịch vụ SSH, bất kỳ host nào cũng có thể đến nôi đến nó. Tiếp theo, tạo một quy tắc trong /etc/hosts để cho phép chỉ một số host cụ thể (như được định nghĩa ở trên) sử dụng dịch vụ SSH:

sshd: 192.168.1 193.180.177.13

Bây giờ, chỉ có các host trên mạng 192.168.1.0/24 và host 193.180.177.13 mới có quyền truy cập dịch vụ SSH. Tất cả host khác đều bị ngắt kết nối trước khi được đăng nhập và nhận một thông báo lỗi như sau:

ssh_exchange_identification: Connection closed by remote host

Sử dụng iptables để giới hạn số lượng host được kết nối

Một lựa chọn khác ngoài các hàm bao TCP là giới hạn truy cập SSH với iptables (các bảng địa chỉ IP). Song, bạn có thể sử dụng kết hợp cả hai phương thức này cùng một lúc. Dưới đây là một ví dụ đơn giản về cách cho phép một số host nhất định kết nối tới SSH:

~# iptables -A INPUT -p tcp -m state --state NEW --source 193.180.177.13 --dport 22 -j ACCEPT

Và để chắc chắn rằng không có host nào khác được truy cập dịch vụ SSH:

~# iptables -A INPUT -p tcp --dport 22 -j DROP

Ghi lại một số quy tắc mới và hoàn chỉnh công việc.

Một số mẹo thời gian SSH

Bạn có thể dùng các tham số iptables khác để giới hạn kết nối tới dịch vụ SSH trong một khoảng thời gian nhất định. Kiểu thời gian có thể là giây, phút, giờ, hoặc ngày (/second, /minute, /hour, /day ), như ví dụ dưới đây.

Ở ví dụ đầu, nếu người dùng nhập mật khẩu sai, truy cập vào dịch vụ SSH sẽ bị khoá trong một phút. Và sau đó người dùng chỉ được phép gõ thông tin đăng nhập vào sau từng phút:

~# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
~# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP

Trong ví dụ thứ hai, iptables được thiết lập chỉ cho phép host 193.180.177.13 kết nối tới dịch vụ SSH. Sau ba lần đăng nhập thất bại, iptables chỉ cho phép host đăng nhập lại sau từng phút:

~# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
~# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP

Kết luận

Các thành phần này không khó cầu hình, nhưng chúng là những kỹ thuật rất mạnh trong chế độ bảo mật dịch vụ SSH. Bỏ ra chút thời gian đầu tư, bạn sẽ có được giấc ngủ ngon .

Từ Internet
Nhớ

Nhớ

Nhớ
Nguyễn Bính

Ví chăng nhớ có như tơ nhỉ
Em thử quay xem được mấy vòng
Ví chăng nhớ có như vừng nhỉ
Em thử lào xem được mấy thưng!

Anh ơi! Em nhớ em không nói
Nhớ cứ đầy lên cứ rối lên
Từ đấy về đây xa quá đỗi
Đường đi bằng ngựa hay bằng thuyền?

Gieo thoi gieo thoi lại gieo thoi
Nhớ nhớ mong mong mãi mãi rồi
Thoi ạ làm sao thoi lại cứ
Đi về giăng mắc để trêu tôi?

Hôm qua chim khách đậu trên cành
Kêu mãi làm em cứ tưởng anh
Nội nhật hôm qua về tới bến
Ai ngờ chim khách cũng không linh!

Anh bốn mùa hoa em một bề
Anh muôn quán trọ, em thâm khuê
May còn được hơn ai sương phụ
Là nhớ người đi có thể về.

Đêm có nhiều buâng khuâng...
7 lệnh hữu dụng cho mạng Linux

7 lệnh hữu dụng cho mạng Linux

ifconfig cho giao diện cơ bản và cấu hình IP

Công cụ ifconfig (được lấy từ hai chữ interface configurator) tuy cung cấp ít chức năng nhưng là các chức năng rất quan trọng. Nó cho phép bạn có thể bật, tắt adapter mạng, gán địa chỉ IP và các thông tin netmask chi tiết. Đây là một số lệnh điển hình nhất:

Xem cấu hình hiện hành của các giao diện mạng, gồm có cả tên giao diện:

ifconfig

Bật hoặc tắt một adapter:

ifconfig

Gán một địa chỉ IP cho một adapter

ifconfig

Gán địa chỉ IP thứ hai cho một adapter:

ifconfig

Ví dụ: ifconfig eth0:0 192.168.1.101

ethtool quản lý các thiết lập ethernet card

Ethtool cho phép bạn xem và thay đổi nhiều thiết lập khác nhau cho các adapter ethernet (adapter không có card Wi-Fi). Bạn có thể quản lý nhiều thiết lập nâng cao khác, gồm có tx/rx, kiểm tra tổng và các thiết lập wake-on-LAN. Mặc dù vậy, đây là một số lệnh cơ bản hơn mà bạn cần phải quan tâm:

Hiển thị các thông tin driver cho một adapter mạng nào đó, rất quan trọng cho việc kiểm tra khả năng tương thích của phần mềm:

ethtool -i

Khởi tạo hành động adapter, thường là nhấp nháy các đèn LED trên adapter, để giúp bạn có thể nhận ra giữa các adapter và tên giao diện:

ethtool -p

Hiển thị thống kê mạng:

ethtool -S

Thiết lập tốc độ kết nối của adapter theo Mbps:

ethtool speed <10|100|1000>

iwconfig cho cấu hình không dây

Công cụ iwconfig cũng giống như ifconfig và ethtool cho card không dây. Bạn có thể xem và thiết lập các chi tiết cho mạng Wi-Fi, chẳng hạn như SSID, kênh và sự mã hóa. Cũng có nhiều thiết lập nâng cao khác bạn có thể xem và thay đổi, gồm có nhận độ nhạy, /CTS, fragmentation và các entry. Đây là một số lệnh mà bạn cần phải thử:

Hiển thị các thiết lập không dây cho giao diện, gồm có tên giao diện mà bạn cần cho các lệnh khác:

iwconfig

Thiết lập ESSID (Extended Service Set Identifier) hoặc tên mạng:

iwconfig essid

Ví dụ: iwconfig "my network"

Ví dụ: iwconfig any

Thiết lập kênh không dây của radio (1-11):

iwconfig

Đầu vào khóa mã hóa WEP (WPA/WPA2 vẫn chưa được hỗ trợ):

iwconfig eth0 key

Chỉ cho phép adapter kết nối đến một AP có địa chỉ MAC được chỉ định:

iwconfig ap

Ví dụ: iwconfig eth0 ap 00:60:1D:01:23:45

Thiết lập năng lượng truyền tải radio, nếu được hỗ trợ bởi card không dây, mặc định trong định dạng dBm hoặc mW khi được chỉ định:

iwconfig txpower

Ví dụ: iwconfig eth0 txpower 15

Ví dụ: iwconfig eth0 txpower 30mW

tcpdump cho việc “đánh hơi” các gói mạng

Đây không phải là một công cụ đơn giản mà nó còn là một bộ đánh hơi hay phân tích mạng. Công cụ này có thể capture các gói dữ liệu được truyền tải qua giao diện và trên mạng. Bạn có thể thanh tra các gói dữ liệu thô và xem lại các thống kê. Công cụ thường được sử dụng bởi các chương trình GUI khác, tuy nhiên cũng có thể rất hữu dụng trong một terminal. Đây là một số tùy chọn lệnh mà bạn có thể thực hiện với nó:

* -i: Chỉ định giao diện để capture, chẳng hạn như eth0 hoặc ath0.
* -n: Ngừng việc thay thế các địa chỉ IP bằng hostname.
* -nn: Ngừng việc phân giải hostname hoặc tên cổng.
* -s : Số byte tối đa được hiển thị cho mỗi gói. Mặc định là 68. Sử dụng 0 để hiển thị toàn bộ các gói.
* v, -vv, và -vvv: Các thông tin chi tiết được in cùng với các gói, chẳng hạn như các tùy chọn và chiều dài tổng thể trong một gói IP, các gói SMB được giải mã và các chi tiết telnet.
* -x: Hiển thị nội dung gói theo định dạng HEX
* -X: In nội dung các gói dữ liệu dưới định dạng ASCII

Ping, phát hiện mạng của bạn

Công cụ Ping giống như những gì Microsoft cung cấp trong Windows. Mặc dù vậy, các kiểu tùy chọn và tên có thể khác nhau. Trong Linux, mặc định sẽ ping liên tục.

Thực hiện ping một địa chỉ IP hoặc một host/domain name:

ping

Để stop hành động ping, nhấn Ctrl + C.

Đây là một số tùy chọn bạn có thể sử dụng thêm:

* -c: Đến hoặc đánh số gói để gửi đi
* -i: Đợi một khoảng thời gian; số giây nào đó giữa các gói
* -s: Kích thước gói của các ping; mặc định là 56 (64 với ICMP)
* -w: Đợi theo dây hoặc số lượng giây để thực hiện ping

Netstat cho việc xem lại thống kê mạng

Công cụ Netstat (hoặc thống kê mạng) có thể hiển thị các thông tin chi tiết về các kết nối mạng, thống kê giao diện, bảng định tuyến, các kết nối giả mạo. Đây là một số lệnh bạn cần quan tâm:
Xem danh sách các khe đang mở:

netstat

Hiển thị một bảng chứa tất cả các giao diện mạng:

netstat -i

Hiển thị thống kê tổng kết cho mỗi giao thức:

netstat -s

Hostname cho phép bạn xem và thay đổi hostname của mình

Nếu là một quản trị viên, bạn sẽ biết được hostname là gì. Với những người còn lại: một hostname sẽ giúp họ nhận ra các thiết bị mạng theo cách thân thiện người dùng thay vì chỉ là một địa chỉ IP toàn con số. Phân phối Linux thường có một công cụ đơn giản mang tên hostname để xem và thay đổi tạm thời hostname của bạn.

Xem thiết lập hostname hiện hành:

hostname

Thay đổi tạm thời một hostname (cho tới khi khởi động lại):

hostname

Để thay đổi vĩnh viễn hostname, bạn cần phải thực hiện edit các file /etc/hostname or /etc/sysconfig/network.

Văn Linh (Theo Linuxplanet) - QTM

Mùa Xuân Đầu Tiên

Mùa Xuân Đầu Tiên
Văn Cao
"Rồi dặt dìu mùa xuân theo én về
Mùa bình thường mùa vui nay đã về
Mùa xuân mơ ước ấy đang đến đầu tiên
Với khói bay trên sông, gà đang gáy trưa bên sông
Một trưa nắng vui cho bao tâm hồn.
"

Một điệu Valse nhẹ nhàng, êm ái thật thích hợp khi trời đất đang bẽn lẽn khoác lên mình chiếc áo rực rỡ của mùa Xuân. Cách đây 31 năm, trong căn gác cũ kĩ phố Yết Kiêu, nhạc sĩ Văn Cao lướt những ngón tay khô gầy trên những phím dương cầm vàng ố màu thời gian để cho ra đời tuyệt phẩm “Mùa xuân đầu tiên”. Cái cách mà Văn Cao cảm nhận mùa xuân thanh bình đầu tiên của đất nước có vẻ trầm lắng, không phải ông không vui, rất vui là đằng khác, song ông lại tận hưởng cảm giác đó bằng tâm hồn nghệ sĩ riêng của mình.

Ca sĩ Thanh Thúy

Mùa xuân dặt dìu theo con én lượn về, mênh mang, mơ màng. Tưởng chừng như xuân của Văn Cao thật đơn giản với tiếng gà gáy xa xa khi những giọt nắng trưa vàng cùng những sợi khói bềnh bồng len nhè nhẹ qua vòm cây, kẽ lá song lại có sức biểu cảm, lay động lòng người. Mới đây thôi, bao người đón Xuân bên tiếng nổ ì đùng khét lẹt mùi thuốc súng, đã lâu rồi người ta mới cảm thấy mùa xuân bình thường, thanh thản và nhẹ nhõm.

“Rồi dặt dìu mùa xuân theo én về
Người mẹ nhìn đàn con nay đã về
Mùa xuân mơ ước ấy đang đến đầu tiên
Nước mắt trên vai anh, giọt sưởi ấm đôi vai anh
Niềm vui phút giây như đang long lanh.

Ôi giờ phút yêu quê hương làm sao trong xuân vui đầu tiên.
Ôi giờ phút trong tay anh đầu tiên một cuộc đời êm ấm.”


Người người hớn hở trước cảnh mùa xuân tươi mới song Văn Cao lại thoáng chút xao xuyến nhìn những người mẹ đón con về sau cuộc chiến, nước mắt đã rơi, đã thấm trong giây phút trùng phùng thiêng liêng nhưng Văn Cao hoàn toàn tin tưởng vào một cuộc đời êm ấm trong tầm tay những người con trở về.
Người ta thường nói Văn Cao là nhạc sỹ cổ điển bởi những giai điệu mượt mà, sang trọng của ông, không hẳn là như thế. Trong những bản nhạc của mình, bằng giác quan của người nghệ sỹ, Văn Cao tinh tế chuyển tải đến chúng ta những tiên đoán một cách chân thành tuyệt đối, mà ở bài nhạc này là những giá trị nhân văn cần đạt được sau mùa xuân đại thắng. Ta không nên say trong chiến thắng mà quên đi mọi thứ còn phía trước. “Mùa xuân đầu tiên” không chỉ là mùa xuân của hoan ca mà còn là mùa xuân của sự bừng tỉnh nhận ra tính nhân bản bị đánh mất trong chiến tranh cần phải được đánh thức trong mỗi con người. Bằng phẩm chất của người nghệ sĩ cách mạng, Văn Cao đã nói rất thật:

“Từ đây người biết quê người
Từ đây người biết thương người
Từ đây người biết yêu người.”
“Giờ dặt dìu mùa xuân theo én về
Mùa bình thường, mùa vui nay đã về.
Mùa xuân mơ ước ấy xưa có về đâu
Với khói bay trên sông, gà đang gáy trưa bên sông
Một trưa nắng thôi hôm nay mênh mông…”


Và ở cuối bài ca, Văn Cao vẫn “mênh mông” lắm, song ông khẳng định lại lần nữa mùa xuân hôm nay là “mùa xuân mơ ước”, “xưa có về đâu”.

Mùa xuân mới đang dần tới, sắc xuân rực rỡ trên những phố phường, cây cỏ giang cành lá quấn quít với gió xuân, lòng ta tràn ngập niềm vui sướng trong sự thanh bình, chợt lặng nghe những lời ca chân thành của người nhạc sỹ đa tài luôn tin vào những giá trị chân thật của con người. Trong âm nhạc, Văn Cao là người tự do và hạnh phúc.


Theo nhacso.



Tìm hiểu về các giao thức SMTP, POP, IMAP

Tìm hiểu về các giao thức SMTP, POP, IMAP

Chuẩn Internet cho e-mail là Simple Mail Transport Protocol (SMTP). SMTP là nghi thức cấp ứng dụng (application-level) dùng để điều khiển các dịch vụ thông điệp thông qua các mạng TCP/IP. SMTP được nói rõ trong RFC 321 và 822. SMTP sử dụng cổng TCP 25.

Bên cạnh SMTP, hai nghi thức khác dùng để phân phát mail đến client là POP3 và IMAP4.

MIME và SMTP
MIME (Multipurpose Internet Mail Extensions) bổ sung thêm cho SMTP để cho phép gắn kèm các thông điệp đa phương tiện (không phải là văn bản) bên trong thông điệp SMTP chuẩn. MIME sử dụng mã hóa Base64 để chuyển các file phức tạp sang ASCII. MIME được mô tả trong các RFC 2045-2049.

Các lệnh SMTP thường sử dụng:

HELO - Sử dụng để định danh máy gửi với máy nhận. Lệnh này phải kèm với tên máy tính của máy gửi. Trong nghi thức mở rộng (ESMTP), lệnh EHLO thay cho lệnh này.
MAIL - Khởi tạo một phiên gửi mail. Đối số bao gồm trường “FROM” và địa chỉ email của người gửi.
RCPT - Định danh người nhận thông điệp. Đi kèm với “TO” và địa chỉ email người nhận.
DATA - Thông báo bắt đầu gửi dữ liệu thực sự của mail (phần thân của message). Dữ liệu kết thúc bằng một dòng trống và một dấu chấm (.).
RSET - Hủy (reset) phiên gửi mail hiện hành.
VRFY - Sử dụng để xác nhận một người nhận mail.
NOOP - Viết tắt của “no operation”, lệnh này không làm gì cả.
QUIT - Đóng kết nối
SEND - Báo cho host nhận biết là message phải được gửi đến một terminal khác.
HELP - Yêu cầu thông tin trợ giúp từ host nhận.

Ví dụ một phiên giao dịch SMTP:

220 ntbooks-pro Microsoft ESMTP MAIL Service, Version: 6.0.2505.1 ready at Mon, 8 Jul 2002 17:44:12 -0700
HELO
250 ntbooks-pro Hello [192.168.0.1]
MAIL FROM : user1@mydomain.com
250 2.1.0 user1@mydomain.com....Sender OK
RCPT TO : user2@mydomain.com
250 2.1.5 user2@mydomain.com
DATA
354 Start mail input; end with .
mail test
ha ha ha

.
250 2.6.0 Queued mail for delivery
QUIT
221 2.0.0 ntbooks-pro Service closing transmission channel

Nội dung mail nhận được có dạng như sau:

Received: from ([192.168.0.1]) by ntbooks-pro with Microsoft SMTPSVC(6.0.2505.1); Mon, 8 Jul 2002 17:46:21 -0700
From: user1@mydomain.com
Bcc:
Return-Path: user1@mydomain.com
Message-ID:
X-OriginalArrivalTime: 09 Jul 2002 00:46:50.0836 (UTC) FILETIME=[1CDAC940:01C226E2]
Date: 8 Jul 2002 17:46:50 -0700

mail test

ha ha ha


Các mã trạng thái SMTP
Khi một sending host gửi một lệnh SMTP đến receiving host, host nhận trả về một mã trạng thái cho máy gửi biết là điều gì đã xảy ra. Danh sách bên dưới là code được nhóm theo số đầu tiên (5xx là lỗi, 4xx lỗi tạm thời, 1xx-3xx thành công):

211 Trả lời trợ giúp, trạng thái hệ thống
214 Help message
220 Dịch vụ sẳn sàng (Service ready)
221 Đóng kết nối
250 Hành động yêu cầu được chấp nhận
251 Người sử dụng không ở mạng cục bộ, chuyển đến
354 Bắt đầu nhập mail
421 Dịch vụ không sẳn sàng
450 Hành động không chấp nhận, mailbox bận
451 Hành động bị hũy, lỗi cục bộ
452 Hành động không chấp nhận, thiếu không gian lưu trữ
500 Không hiểu lệnh hoặc lỗi cú pháp
501 Lỗi cú pháp ở tham số
502 Lệnh không được hổ trợ
503 Sai thứ tự các lệnh
504 Tham số của lệnh không được hổ trợ
550 Hành động không chấp nhận, mailbox không có.
551 Không phải là người sử dụng cục bộ
552 Hũy lệnh do vượt quá không gian lưu trữ
553 Hành động không chấp nhận, tên mailbox không cho phép
554 Phiên dao dịch bị lỗi

Post Office Protocol (POP)

POP cho phép các mail client (UA – User Agent) ở máy cục bộ kết nối vào pop server (MTA – Message Transfer Agent) và lấy mail về máy tính cục bộ nơi mà người sử dụng có thể đọc và trả lời các message. POP được định nghĩa đầu tiên vào năm 1984, được nâng cấp trong POP2 vào năm 1988. Chuẩn hiện hành là POP3.
POP3 UA kết nối với TCP/IP đến server (cổng chuẩn 110). UA nhập vào một tên đăng nhập (username) và mật mã (password). Sau khi đăng nhập, UA sử dụng các lệnh POP3 để lấy và xóa mail.
POP3 là nghi thức chỉ để nhận mail. POP3 UA sử dụng SMTP để gửi mail đến server.
POP3 được mô tả trong RFC 1939.

Các lệnh của POP3

USER Chỉ rõ username
PASS Chỉ rõ password
STAT Yêu cầu trạn thái của mailbox (số lượng message, kích thước của các message)
LIST Liệt kê các message
RETR Lấy một message cụ thể
DELE Xóa một message cụ thể
NOOP Không làm gì cả
RSET Hủy hành động của các lệnh DELE (rollback)
QUIT Chấp nhận các thay đổi và cắt kết nối.

Internet Mail Access Protocol (IMAP)

POP3 là một nghi thức đơn giản. IMAP4 là một chuẩn mail khác có hổ trợ nhiều tính năng hơn.
IMAP4 được mô tả trong RFC 2060. IMAP4 sử dụng cổng TCP 143.

Các lệnh IMAP4

CAPABILITY Yêu cầu một danh sách các chức năng có hỗ trợ.
AUTHENTICATE Chỉ rõ cơ chế đăng nhập
LOGIN Cung cấp username và password
SELECT Chỉ rõ mailbox
EXAMINE Chỉ định mailbox ở chế độ chỉ đọc.
CREATE Tạo một mailbox
DELETE Xóa một mailbox
RENAME Đổi tên một mailbox
SUBSCRIBE Thêm một mailbox vào danh sách cho phép.
UNSUBSCRIBE Loại mailbox ra khỏi danh sách cho phép.
LIST Liệt kê các mailbox
LSUB Liệt kê các mailbox cho phép.
STATUS Yêu cầu trạng thái của mailbox
APPEND Thêm một message vào mailbox
CHECK Yêu cầu một mailbox checkpoint
CLOSE Chấp nhận các thao tác xóa và đóng mailbox
EXPUNGE Chấp nhận các thao tác xóa
SEARCH Tìm trong mailbox các message thỏa điều kiện cụ thể
FETCH Lấy một phần của một message cụ thể
STORE Thay đổi dữ liệu của message cụ thể
COPY Chép message sang một mailbox khác
NOOP Không làm gì cả
LOGOUT Đóng kết nối

Các lệnh RFC thực sự không phải là các lệnh ngôn ngữ lập trình, nó là các chuỗi dùng để gửi đến Server qua Socket được tạo với cổng tương ứng.Ví dụ, nếu muốn gửi mail, tạo một socket TCP cổng 25 với Server (ví dụ, Post Office) sau đó lần lượt gửi các lệnh RFC (kết thúc lệnh là ký tự ENTER) và nhận các trả lời từ server để gửi mail.
Cách nhanh nhất để thử các lệnh RFC là dùng chương trình Telnet. Ví dụ để gửi một mail, làm như sau:

Windows 2000: ở Command Prompt gõ lệnh:
Telnet mail.myserver.com 25
Sau đó gõ các lệnh như trong ví dụ đã nêu phần trước.
Nếu viết một Windows Application thì có thể dùng MAPI control của Windows, nếu viết (asp) Webmail có thể dùng CDO, các control này giúp cho người lập trình không cần biết RFC nhưng vẫn có thể viết được các ứng dụng mail bằng cách sử dụng các phương thức và các thuộc tính của chúng. Nhưng các control trên đều dùng các lệnh RFC để làm việc gửi và nhận mail thực sự.
Việc viết một ứng dụng bằng cách sử dụng trực tiếp RFC đòi hỏi người lập trình phải code nhiều (hầu như là mọi thứ), phải tìm hiểu nhiều chuẩn khác (MIME), các kiểu mã hóa (Base64, uuencode ,...), nếu viết Webmail phải tìm hiểu thêm upload file (để attach), cách tổ chức trên Webserver để quản lý mail đọc rồi và chưa đọc, hoặc tạo thêm các thư mục...

Từ Internet