Fedora 11, I think vmware workstation doesn't completely support latest release of Fedora, I got many problems with vmware run on F11.
Whenever I stop vmware workstation, it cannot fully stop, many vm processes are still running until I do a force kill, and today I got new problem, because vmware workstation never stop all its processes, so it didn’t shutdown properly. because we killed it, lock files will be stored in ~/vmware/Gentoo/Gentoo.vmdk.lck , depends on your path, then if we start vmware workstation and power on a virtual machine, we will get this error:
Cannot open the disk '/path/to/vmware/Gentoo/Gentoo.vmdk' or one of the snapshot disks it depends on. Reason: Failed to lock the file
just got this picture tonight from AnNguyen's blog(the one who stand when everyone sits on their chair, lol). the photo took at the 1st meeting of Saigonlug, can you guess who am I? :-p
here's make.conf file for my lappy, dell vostro 1400: intel t5470, 2GB ram with intel gma X3100. with this config file, problem is around, haha. But no problem, this's time to try.
CFLAGS="-O2 -mtune=i686 -pipe" CXXFLAGS="-O2 -mtune=i686 -pipe" # WARNING: Changing your CHOST is not something that should be done lightly. # Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing. CHOST="i486-pc-linux-gnu" MAKEOPTS="-j3" USE= "X acpi alsa avi branding browserplugin cdr jpeg divx4linux dts dvd dvdr fbcon ffmpeg gd gif gtk hal v4l java jpeg logitech-mouse logrotate mozbranding mp3 mp4 mpeg2 mplayer mysql nsplugin opengl pdf png qt rdesktop samba qt3 skype spell sse3 svg tiff truetype usb xvid mmx sse sse2 xv png svg jpg rar zip exo divx gmedia quicktime realmedia wmp emerald battery dbus plugins startup-notification lm_sensors win32codecs a52 aac cddb 3dnow aalib amr cdparanoia dga dv dvb dvdnav dvdread enca encode live mp2 srt v4l2 vorbis openal oss php python libg++ emacs crypt ctype firefox gnome gstreamer gtk libwww mad ss symlink yahoo ruby "
Gentoo Linux is a special flavor of Linux that can be automatically optimized and customized for just about any application or need. Extreme performance, configurability and a top-notch user and developer community are all hallmarks of the Gentoo experience.
Total download size: 139 k Is this ok [y/N]: y Downloading Packages: kmod-VirtualBox-OSE-2.6.29.4-167.fc11.i586-2.2.4-1.fc11. | 139 kB 00:09 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : kmod-VirtualBox-OSE-2.6.29.4-167.fc11.i586-2.2.4-1.fc1 1/1
vừa đi làm về thấy trên bàn có cái phong bì, với cái logo Sun Microsystem, biết ngay DVD đã về. cái dvd đẹp quá đi, nếu ai muốn một dvd thế này thì chỉ cần đăng kí ở Sun free media program, sẽ nhận được trong vòng 45 ngày từ lúc đăng kí, với điều kiện ghi địa chỉ chính xác :-p
I really don't know what happen with my lappy, it's running on Ubuntu 9.04 with some small apps, I think there's no big one installed on my Ubuntu, but sometimes when system is running fast and smooth, it freezes? dmesg and log files give me nothing. when it happens, mouse can move but cannot click. Keyboard has no effect. Power button is the last one and very very dirty way to try, but no others better way. Today someone pointed me to this link, which he thinks that's useful, I didn't test. But hope it works, I never want to use power button to power off my lappy anymore :(.
According to Lifehacker a frozen Linux system that’s not responding to the Ctrl-Alt-Delete three-finger-salute can be restarted more safely than by pushing the power button, which is usually the next step.
Holding down Alt and SysRq (which is the Print Screen key) while slowly typing REISUB will get you safely restarted. REISUO will do a shutdown rather than a restart.
Sounds like either an April Fools joke or some very strange magic akin to the old BIOS beeps we used to use to diagnose PC faults so bad that nothing would boot. Wikipedia comes to the rescue with an in-depth listing of all the SysRq keys.
R: Switch the keyboard from raw mode to XLATE mode
E: Send the SIGTERM signal to all processes except init
I: Send the SIGKILL signal to all processes except init
S: Sync all mounted filesystems
U: Remount all mounted filesystems in read-only mode
B: Immediately reboot the system, without unmounting partitions or syncing
(Discovered originally here) author of this post here hope that's useful for someone :).
this solution is useless for my problem :(, need help!
it's small script I and my friend-matt wrote 1 week ago. used to download music from playlist.com. I don't have G1 to test, note: this script is not tested, if you wanna use, edit, test then use it. no copyright needed.
#!/bin/bash
#whatvn@opensource.com.vn #This script will download the result id, and place in Music directory. #Requires Adroid 1.5 + Debian Lenny
#Download page wget -O /home/whatvn/playget/tmp/$r_id.tmp http://www.playlist.com/searchbeta/results/$r_id longerUrl=$(cat /home/whatvn/playget/tmp/$r_id.tmp | grep "Located at:" | sed 's/.........................................//' | sed 's/...........$//') echo $longerUrl #Parse long playlist.com url, enter into url #Write code to search for video_id= and strip from matching r_id to "';" then remove ('
) from grep output. # Query for Song Information in Artist/ - Title form and save to $filename echo "Please enter the filename you wish to save as (ie: Artist-Title)" read filename echo "is " $filename " correct? (y/n)" read fileprompt if [ $fileprompt = "y" ]; then echo "Downloading file..." wget -O /home/whatvn/playget/$filename.mp3 $longerUrl echo "Complete, saved as " $filename echo "saved as " $filename else if [ $fileprompt = "n" ]; then echo "Please enter the filename you wish to save as (ie: Artist-Title)" read filename echo "Downloading file..." wget -O /home/whatvn/playget/$filename.mp3 $longerUrl echo "Complete, saved as " $filename else if [ $fileprompt != "y" ] || [ $fileprompt != "n" ]; then echo "Incorrect Option, saving file as result_id" $r_id wget -O /home/whatvn/playget/$filename.mp3 $longerUrl fi fi
fi #Download and Conversion is complete
#Edit to match path
# System Cleansing echo "Finalizing .." echo "Cleaning Up .." echo "Removing Temporary files .." rm /home/whatvn/playget/tmp/$r_id.tmp echo "Move files to Android Music path? (1 to continue, else to pass)" read file_move if [ $file_move = "1" ]; then echo "Moving "$filename".mp3 to /sdcard/Music/ for Android access.." mv /home/whatvn/playget/$filename.mp3 /media/sd/Music/$filename.mp3 fi echo "All Operations complete, type 'exit' to reboot Debian." #finish
line s/.........................................//' | sed 's/...........$// you can change to: http://pastebin.com/d404b2675 , because blogger don't accept html code in post.
Vừa rồi mới nghiên cứu lại Number theory mới thấy trí thông minh kém quá, kiến thức lại lủng trầm trọng. Mon men thử vài bài toán với C thì nghĩ:"Ai sẽ kiểm thử bài toán của mình nếu đó là bài toán của những số rất rất lớn?"StarGhost đưa ra Mathematica vốn là một computing software rất nổi tiếng về độ tính toán và kiểm thử.Mathematica có phí, nhưng nếu bạn để ý thì cái link trên dẫn đến wolfram, là trang chủ của công cụ tìm kiếm thông minh Wolfram Alfa. Sao không thử dùng Wolfram alfa đểm kiếm chứng kết quả nhở :-?Vào đây xem nào Lão gamma đưa ra đoạn code python tính 1000! làm mình đắn đo mãi:
#!/usr/bin/env python _sum = 1 for line in range(1, 1000): _sum = _sum * line print _sum
Vì tôi chuyển tất cả bài viết đều bằng tay, và tạm thời chưa add bất cứ plugin nào cho blog này cho nên các đoạn code, đặc biệt là html sẽ bị thiếu mất một vài tag, có thời gian sẽ ngâm cứu sau. Vì lơ ngơ một hồi thấy dùng google cache nhanh hơn cho nên có vài bài màu mè khá đẹp (copy trực tiếp từ google cache). Bài viết nhớ tới đâu cop tới đó cho nên thời gian lộn tùng phèo lên. Chả là cho cái blog có cái ruột chút, chứ nó cũng không còn giá trị gì lắm :-d. Bắt đầu hành trình mời thôi.
Nói qua về NginX: nginX là một http server và Mail Proxy server được viết ra bởi Igor Sysoev, người Nga. Số lượng server sử dụng nginx ở Nga là tương đối lớn, có một thống kê nào đó bữa anh nlfb đưa cho xem mà không nhớ địa chỉ, nginx là một trong số web servers sử dụng rộng rãi nhất thế giới: Apache, nginX, IIS...
Cài đặt nginx trên CentOS 5.2 tương đối dễ dàng, lần đầu tiên tôi cài là được ngay, chắc do may mắn ;D Trước tiên ta cài đặt các phần mềm cần thiết để có thể run nginX, lên root trước đã.
1. Cài đặt pcre
Code:
yum install pcre
2. Cài đặt pcre-devel
Code:
yum install pcre-devel
3. Cài đặt zlib
Code:
yum install zlib
4. Cài đặt zlib-devel
Code:
yum install zlib-devel
5. Cài đặt openssl
Code:
yum install openssl
6. Cài đặt openssl-devel
Code:
yum install openssl-devel
7. Bước quan trọng nhất, cài đặt nginX, nhưng cũng dễ dàng, đầu tiên bạn down source của nginX về
--sbin-path=prefix: prefix ở đây là đường dẫn tới process chính của nginx
--conf-path=prefix: prefix ở đây là đường dẫn tới thư mục chứa file cấu hình chính của nginx
--pid-path=prefix: prefix là đường dẫn đến file process id của nginx
--with-module: tương tự như enable khi bạn compile apache, khi compile đi theo with module nào thì module đó được kích hoạt.
Code:
make make install
Chạy xong thì bạn đã có một webserver rồi đấy.
8. Cấu hình cho nginx: Để ý ở trên file cấu hình của nginx nằm trong đường dẫn /usr/local/nginx/nginx.conf, để sửa đổi bạn có thể dùng vi, nano, gedit, dùng gedit cho dễ
gedit /usr/local/nginx/nginx.conf
file cấu hình nguyên thủy của nginx có dạng như thế này:
Mặc định webroot và các file cấu hình của nginx được lưu ở /usr/local/nginx/ về mặc security thì thay đổi cái gì mặc định luôn là môt cách để attacker khó thâm nhập vào hệ thống của ta hơn, vì vậy....bạn thích move nhưng file cấu hình này đi đâu là quyền của bạn, nginX có một điểm hay ho là ta khơi động nó cùng với một file cấu hình nhất định, có nghĩa là sao? Có nghĩa là ta hoàn toàn có thể tạo ra nhiều file nginx.conf lưu ở nhiều nơi và mỗi lần start ta chạy với biến -c đường dẫn tới file cấu hình cụ thể đó. Như đã nói ở trên, việc bạn thay đổi đường dẫn của các file mime.types, nginx.pid, hay log, webroot, là tùy ở bạn, nhưng move đi đâu thì nhớ là lưu lại trong file nginx.conf đường dẫn tới file đã move là được, nên cái này bạn có thể tùy biến, không càn phải hướng dẫn bạn cũng có thể làm được.
Các thông số cụ thể về pid, worker_process, worker_connections tôi sẽ đi vào bài sau, vì bài này vừa viết vừa cài nên cũng chưa tìm hiểu nhiều .
9. Chạy nginX: lúc đầu mò mãi không ra, vì không chịu đọc kĩ hướng dẫn sử dụng trc khi dùng, nhưng rồi cũng tìm ra:
Code:
/sbin/nginx -c /usr/local/nginx/nginx.conf
nếu bạn di chuyển file cấu hình đi nơi khác, thì thay đổi đường dẫn cho phù hợp.
Mysql server là datbase server phổ biến và miễn phí, được sử dụng rộng rãi. Một ưu thế của mysql là khả năng xử lí nhanh và linh hoạt, nhưng cho dù nhanh và linh hoạt thế nào thì đối với một cơ sở dữ liệu liên tục được cập nhật (thêm, sửa, xoá) thì nguy cơ "mysql is gone" là chuyện dễ dàng xảy ra.
Bất cứ ai làm việc quản lí cơ sở dữ liệu của một website với lượng truy cập đông đảo + ghi + sửa + xoá thường xuyên đều gặp tình trạng cơ sở dữ liệu làm việc chập chờn thậm chí chết bức tử, và cứ mỗi lúc ngồi vào máy bật phpmyadmin lên check, rồi repair, rồi optimize.. thì có thể, nhưng có khi quên. Mysqlcheck là một công cụ kèm theo mysql dùng để sửa chửa (repair), tối ưu (optimize), kiểm tra (debug) và các chức năng khác. Các bạn có thể xem thêm ở đây:
Trên *nix ta có thể thực thi mysqlcheck một cách tự động sử dụng crontab. Tôi không trình bày cụ thể cách sử dụng crontab ở đây, chỉ đưa ra một ví dụ để dễ đi vào chủ đề chính
Nếu ta sử dụng :
Code:
0,15,30,45 * * * * tail -10 /var/log/messages
Thì cron sẽ chạy lệnh tail trên mỗi 15 phút 1 lần trong mỗi ngày.
-Mysqlcheck đi kèm với các chức năng optimize --optimize , autorepair --auto-repair, debug --debug..., để mysqlcheck tự động chạy mỗi 30 phút 1 lần ta làm như sau:
Option -s để báo cho mysqlcheck chạy ở chế độ silent, chỉ hiện thông báo nếu gặp lỗi. Nếu không sử dụng -s thì cuối dòng trên ta thêm vào > /dev/null.
--optimize: Nói ở trên
--databases: chỉ định kiểm tra và tối ưu databases cụ thể nào (ở đây là vndev_vndev).
-u root -p"password": để chắc chắn rằng crọnjob không gặp lỗi permission denied khi thực thi ta thêm vào user và password user có quyền chạy crọnjob. Chú ý -p và password của bạn không có khoảng trắng.Hoặc không muốn sử dụng thì bạn sử dụng lệnh:
Code:
chmod 4755 /usr/bin/crontab
Để cấp quyền thực thi cho crontab.
Nguyên dòng lệnh trên bạn gõ crontab -e rồi gõ vào.
Như vậy ta không cần phải optimize bằng tay nữa mà cronjob đã làm việc này một cách tự động . Tuỳ vào nhu cầu mà sử dụng mysqlcheck với các option phù hợp. Đừng nên sử dụng --auto-repair nếu chưa thật sự hiểu hết về nó, có lúc chạy xong thì restore lại cơ sở dữ liệu là vừa .
Điều này tôi nghĩ đến khoảng 4 năm trước, lúc bắt đầu làm quen với khái niệm hacking và security, nhưng cho đến ngay lúc này 2 khái niệm kia còn quá thô sơ và chưa thành hình, nên tôi không có một bài viết nào về tấn công từ chối dịch vụ từ trước cho đến giờ. Khi thành lập diễn đàn VN Development, server liên tục bị tấn công từ chối dịch vụ với tần số cực kì khủng khiếp, đó cũng là cơ hội để tôi tiếp xúc trực tiếp và có cái nhìn gần hơn với DDOS, cũng như cách chống đỡ (không thể chặn 100% đối với các cuộc tấn công từ chối dịch vụ).
Tuần trước có đọc được bài viết của tác giả RSnake nói về việc sử dụng DDOS để Hacking, ý tưởng khá giống, và tôi tin chắc không ít kẻ tấn công đã và đang sử dụng DDOS nhằm mục đích trục lợi.
Bài viết trên có 3 ý, các bạn có thể theo link trên để đọc, tác giả có cái nhìn rất tốt, và phải nói là trưởng thành, chứ không giống như một số những kẻ phá hoại, tự cho mình là Hacker đã làm, chỉ thực hiện hành vi tấn công website nào đó do ganh ghét, hoặc đơn giản là muốn thử nghiệm, thị uy, show off.
Môt người có kinh nghiệm sẽ chỉ tấn công vào website nào đó nhằm mục đích trục lợi, website đó chứa thông tin nào đó, mà hắn ta muốn có được. Và bằng cách nào đó, hắn tìm cách qua mặt các đối thủ để dành vị trí dẫn đầu. Trong ví dụ của RSnake là website về đấu giá.
Ta hãy nói về vấn đề thứ 3, cũng chính là ý nghĩ mà tôi đã nói từ đầu bài viết. Sử dụng DDOS như một phương thức nghi binh, làm cho người quản trị chỉ chú tâm đối phó với tấn công từ chối dịch vụ, trong khi mục đích thực sự của ta là nhắm vào một điểm yếu khác, ở đâu đó trong mục tiêu muốn tấn công. Để thực hiện ý định này, không khó, hoàn toàn không khó.
Hãy nhìn một cách toàn diện vào các website ở Việt Nam, tôi thấy rằng hầu hết không được chuẩn bị để đương đầu với các cuộc tấn công từ chối dịch vụ. Họ, những người quản trị thường chỉ chú ý đến khi hệ thống của họ bị tấn công, lúc ấy mới bắt đầu đi vá hệ thống một cách gấp gáp, và rõ ràng hệ thống đó không được kiện toàn đủ tốt, dù cho có chắp vá thế nào.
Đặt ở vị trí người tấn công, chúng ta có nhiều lợi thế. tấn công từ chối dịch vụ không cần quan tâm đến hệ thống đó mạnh yếu ra sao, kiện toàn thế nào, ai đang làm việc, hoặc cần hệ thống đó hoạt động để duy trì lợi ích cho ai. Người tấn công chỉ có đúng một mục đích là làm cho hệ thống trì trệ và không thể phục vụ dịch vụ mà nó cung cấp. Nếu đó là một web server, ta làm cho máy chủ web không thể phục vụ các http requests, hoặc phục vụ một cách ì ạch. Tương tự đối với mail server, ftp server...Để thực hiện được mục đích được nói đến trong bài này, bạn phải làm cách nào đó duy trì trạng thái từ chối dịch vụ trong thời gian đủ để bạn có thể đánh vào đâu đó mà không bị làm phiền bởi người trông coi server.
Nếu có đăng kí nhận tin, mail letter của một số cách website về bảo mật của thế giới, bạn chắc hẳn đã nhiều lần có được thông tin (có khi có cả cách thức tấn công) của rất nhiều lỗi bảo mật nguy hiểm. Một ngày có đến vài chục, thậm chí nhiều hơn các lỗi bảo mật được công bố, kèm theo đó là rất nhiều hệ thống bị tấn công. Hãy tưởng tượng bạn vô tình biết được một lỗi bảo mật qua hệ thống mail letter của Securityfocus, qua quá trình footprinting, scanning hoặc tên nào đó do bạn gọi, bạn biết đươc hệ thống mục tiêu chưa được cập nhật bản vá (rất nhiều khả năng nếu hệ thống đó đang trú ngụ tài Việt Nam :p), và quá trình xâm nhập tốn khá nhiều thời gian, để chắc rằng không bị làm phiền, bạn phát động một đợt tấn công từ chối dịch vụ, không cần tốn nhiều sức, chỉ cần một vài tools phổ biến có khả năng tạo request với random url để tránh dễ dàng bị cản lọc do người quản trị dễ dàng lọc được qua các dấu hiệu nhận biết.
Trong lúc admin kia chú tâm vào việc vá hoặc kiện toàn hệ thống để chống tấn công từ chối dịch vụ, anh ta sẽ không còn thời gian để vá lỗi bảo mật bạn vùa tìm được, và thế là bạn một mình một ngựa làm việc mà không bị làm phiền :d.
Lí giải cho dài dòng lôi thôi cho thành một entry, thật ra trọng tâm bài viết này chỉ có đúng 1 câu: sử dụng DDOS để đánh nghi binh, và tất cả những gì viết ở trên hoàn toàn nói dóc, nên đừng có tin nhé :p
Netfilter/ipbtales là software NAT/firewall được cài đặt sẵn và phổ biến trên các hệ thống Linux. Cent0S là một distro Linux được viết ra dựa trên Redhat chủ yếu dành cho máy chủ, mặc định distro này không được xây dựng kèm theo module connlimit vốn rất cần thiết cho các quản trị viên dùng để cản lọc các gói tin không hợp lệ, nhất là trong trường hợp bị tấn công từ chối dịch vụ.
Bài viết này đưa ra cách tích hợp module này vào CentOS bằng cách build từ source của Kernel và Netfilter/iptables. Để hiểu được kiến thức đưa ra trong bài này, bạn cần có thời gian tìm hiểu và nắm rõ được phần nào cơ bản về biên dịch kernel, cài đặt các phần mềm từ mã nguồn, cũng như môi trường cần thiết để một user bình thường có thể "build" một phần mềm từ mã nguồn có sẵn, hệ thống file, các câu lệnh nâng cao...
Chúng ta không đi sâu vào khái niệm Netfilter/iptables là gì? Động cơ dẫn đến bài viết là trong một trường hợp nào đó cần tới những modules không được tích hợp sẵn vào nhân hệ điều hành CentOS mà bạn đang sử dụng, bạn tìm cách để tích hợp những modules đó vào, một cách nhanh nhất có thể, mà không làm hư tổn, hoặc gây ra lỗi trầm trọng đối với hệ thống đang hoạt động ổn định. Phần tiếp theo vui lòng đọc tại: http://opensource.com.vn/opensource/linux/centos/79-build-t-source-kernel-va-iptables-s-dng-nhng-tinh-nng-ca-iptables.html Lười copy lại quá :-p