Các lệnh cơ bản trong Linux system 1. Dùng lệnh su (switch user) để chuyển người dùng : su username_cần_chuyển Lệnh này dùng chuyển đổi từ username hiện tại sang username muốn chuyển #su cutynhangheo hoặc $su cutynhangheo Muốn trở lại với username hiện thời : #exit hoặc $exit hoặc Ctrl + D Lưu ý với các bạn cho dễ hiểu, khỏi mắc công thắc mắc : dấu nhắc # cho biết username hiện thời là người quản trị hoặc có quyền ngang quản trị dấu nhắc $ cho biết username hiện thời là user nên quyền bị hạn chế
Các lệnh cơ bản trong Linux system 1. Dùng lệnh su (switch user) để chuyển người dùng : su username_cần_chuyển Lệnh này dùng chuyển đổi từ username hiện tại sang username muốn chuyển #su cutynhangheo hoặc $su cutynhangheo Muốn trở lại với username hiện thời : #exit hoặc $exit hoặc Ctrl + D Lưu ý với các bạn cho dễ hiểu, khỏi mắc công thắc mắc : dấu nhắc # cho biết username hiện thời là người quản trị hoặc có quyền ngang quản trị dấu nhắc $ cho biết username hiện thời là user nên quyền bị hạn chế 2. Các lệnh quản lý thư mục và tập tin : 2.1 Lệnh pwd (print working diectory) : Dùng xem thư mục đang làm việc #pwd hoặc $pwd 2.2 Lệnh cd (change diectory) : Dùng thay đổi, chuyển đến thư mục nào đó .(giống như cd trong ms-dos của pác Bill) #cd _path hoặc $cd _path 2.3 Sử dụng trình soạn thảo vi : Đây là trình soạn thảo văn bản ở chế độ commandline .(Gần giống với trình soạn thảo vietrex thời tiền sử của công nghệ thông tin Việt Nam ) #vi file_name hoặc $vi file_name Trong chế độ soạn thảo vi nhấn Insert để chuyển sang chế độ nhập data Một vài chú ý trong trình soạn thảo vi : :q! Thoát không lưu lại những gì đã nhập :w Lưu lại :wq Lưu lại và thoát khỏi trình soạn thảo Lưu ý : Trình soạn thảo gedit cũng làm chức năng nhi vi (Gần giống với notepad của pác Bill) #gedit file_name hoặc $gedit file_name 2.4 Lệnh cp : Dùng để sao chép tập tin và thư mục .(Gần giống với lệnh copy bằng GUI mode hoặc trong commandline của pác Bill) #cp filename_copy _path/filename_copy hoặc $cp filename_copy _path/filename_copy 2.5 Lệnh mv : Dùng để di chuyển tập tin và thư mục .(Cái này của pác Bill thì cuty wên mất là lệnh gì trong commandline :() #mv _pathold/file_name _pathnew $mv _pathold/file_name _pathnew 2.6 Lệnh rm : dùng xóa tập tin và thư mục Xóa tập tin : #rm -i file_name Xóa có cảnh báo #rm -f file_name Xóa không cần cảnh báo Xóa thư mục : #rmdir _path/folder_name 2.7 Lệnh mkdir : dùng tạo thư mục #mkdir _path/folder_name 2.8 Lệnh ls : Dùng liệt kê thư mục (Giống với lệnh dir của pác Bill) #ls _path/folder_muốn_liệt_kê 2.9 Lệnh cat : Dùng để đọc nội dung của một file nào đó và tạo một file mới Đọc nội dung file chứa passwd #cat /etc/passwd Tạo 1 file newfile.txt #cat /home/newfile.txt seatek 05-12-2008, 02:59 PM 3. Một số ký hiệu và lệnh trong shell : 3.1 Sử dụng Pipe : Ta thêm ký hiệu | thì output của lệnh command1 sẽ là input của lệnh command2 . #command1 | command2 3.2 Sử dụng redirection : Out put ra file : #ls /home > /tmp/home.txt Dòng này để xem file home.txt #cat /tmp/home.txt Thêm data vào tập tin : #echo "everything" >> /tmp/home.txt 3.3 Sử dụng history : Dùng để liệt kê tất cả các lệnh ta đã thực hiện trước đó .(Cái hay của Linux là trong terminal của nó khi đóng lại nó không xóa tất cả các lệnh mà ta đã thực thi trước đó .Pác Bill thi chắc không nhỉ ) #history Và khi history đã liệt kê ra rồi ta muốn chạy lệnh nào lại thì cứ đếm số dòng của lệnh đó và bỏ vào dấu "!".Ví dụ cuty chạy lại lệnh thứ 5 . #! 5 4. Các lệnh điều khiển quyền truy cập thư mục và tập tin : Trong Linux quyền truy cập được chia thành 3 nhóm Owner, Group và Others ,Với 3 quyền read (r), write (w), execute (x) . rwx Sẽ là Owner - Group - Others . Trong đó Owner được đọc, Group được ghi , Others được thực thi 4.1 Lệnh chmod : Dùng thay đổi quyền truy cập #chmod [quyền truy cập] [tên tập tin hoặc thư mục] Ví dụ cuty có file home.txt #chmod 777 /tmp/home.txt 4.2 Lệnh chown : Dùng thay đổi quyền sở hửu tập tin hoặc thư mục . #chown [-R] [user:group] [file_name hoặc thư mục] Trong đó -R áp dụng trong trường hợp muốn chuyển quyền sở hữu đối với thư mục chỉ định và toàn bộ những gì bên trong thư mực đó . Ví dụ cuty có thư mục tmp #chown -R cutynhangheo /tmp 4.3 Lệnh chgrp : Dùng thay đổi nhóm sở hữu tập tin hoặc thư mục #chgrp [-R] [groupname] [file hoặc thư mục] 5. Sử dụng lệnh mount và unmount : 5.1 Lệnh mount : Dùng gắn kết ổ đĩa và thư mục truy xuất qua mạng . #mount -t vfstype devicefile mkdir Trong đó : -t : gắn kết theo kiểu hệ thống do vfstype quy định vfstype bao gồm các kiểu hệ thống file cơ bản như sau : _ Auto : Tự động xác định hệ thống tập tin _ Msdos : Hệ thống tập tin trên Dos _ ext3 : Hệ thống tập tin chuẩn của Linux _ vfat : Hệ thống tập tin hỗ trợ Windows 95, 98, Me _ ntfs : Định dạng hệ thống file cho NTFS của Windows _ Nfs : Định dạng hệ thống file truy xuất qua mạng (Network File System) _ Iso9660 : Định dạng hệ thống file cho CD-ROM divicefile : Đường dẫn đến file thiết bị mkdir : Đường dẫn gắn kết ổ đĩa vào Ví dụ cuty muốn mount ổ đĩa CD-ROM vào hệ thống để sử dụng #mount -t iso9660 /dev/cdrom /mnt/cdrom 5.2 Lệnh unmount : Dùng để gỡ bỏ gắn kết nối ổ đĩa #unmount device Ví dụ cuty muốn unmount ổ đĩa CD-ROM #unmount /mnt/cdrom seatek 05-12-2008, 03:02 PM 6. Quản lý người dùng : 6.1 Lệnh useradd : Để thêm người dùng #useradd option user_name Trong đó option bao gồm các giá trị sau : -d : Thiết lập thư mục home của người dùng -e : Thiết lập ngày hết hạn cho người dùng -f : Thiết lập số ngày password hết hạn sử dụng -g : Thiết lập tên group mà người dùng là thành viên -G : Thêm người dùng vào các group -m : Tạo thư mục home cho người dùng nếu nó không có -M : Không tạo thư mục home cho người dùng -s : Thiết lập shell cho người dùng, mặc định là bin/bash -u : Mặc định sẽ lấy số ID tiếp theo để gán cho user C/y : root có uid = 0 6.2 Lệnh passwd : Thiết lập password cho user #passwd user_name 6.3 Lệnh userdel : Dùng để xóa người dùng . #userdel [-r] user_name -r : Xóa luôn thư mục home của người dùng 6.4 Lệnh usermod : Thay đổi người dùng trong hệ thống #usermod [option] user_name [option] : tương tự như option của useradd 6.5 Lệnh groupadd : Tạo thêm nhóm #groupadd [option] group_name -g : Thiết lập gid mới . Mặc định sẽ chọn gid có giá trị -r : Mặc định sẽ gán gid > 499 .Khi thêm option này gid thường được gán < 499 -f : Khi sử dụng option này hệ thống sẽ không báo lỗi nếu như tên nhóm chỉ định đã có trong hệ thống 6.6 Lệnh groupdel : Dùng xóa group #groupdel group_name 6.7 Lệnh groupmod : Dùng thay đổi nhóm #groupmod [option] group_name -g : cho phép thay đổi gid -n : cho phép đặt tên mới cho nhóm 6.8 Lệnh sudo (superuser do) : Cho phép người dùng cấu hình giới hạn những tham số chạy chương trình #sudo command_muốn_thực_thi 7. Sử dụng rpm (Redhat Package Manager) : Chức năng của rpm cho phép người quản trị hệ thống install, upgrade, remove, quered gói phần mềm : #rpm [option] rpm_package_name -v : Cung cấp một số thông tin -vv : Cung cấp đầy đủ thông tin -h : Thỉnh thoảng in ra dấu # trong khi cài đặt -percent : Thay vì in ra dấu # sẽ hiện tỷ lệ % lượng công việc đã thực hiện trong quá trình cài đặt -force : Lệnh cho RPM không quan tâm đến lỗi do xung đột và tiếp tục trong quá trình cài đặt -replacefiles : Thay thế tập tin từ những gói khác -nodeps : Bò qua những gói phụ thuộc 7.1 Install : #rpm -ivh rpm_package_name 7.2 Upgrade : #rpm -Uvh rpm_package_name 7.3 Query một gói phần phềm : Liệt kê các gói phần mềm đã cài đặt trong hệ thống : #rpm -qa Tìm kiếm một gói phần mềm nhất định : #rpm -qa | grep rpm_package_name Liệt kê tất cả các file tài liệu liên quan đến gói phần mềm nhất định : #rpm -qd rpm_package_name Liệt kê tất cả thông tin liên quan đến gói phần mềm nhất định : #rpm -qi rpm_package_name Liệt kê các tập tin config của gói phần mềm nhất định : #rpm -qc rpm_package_name 7.4 Uninstall : #rpm -e rpm_package_name seatek 05-12-2008, 03:06 PM 8. Cấu hình dịch vụ mạng : 8.1 Kiểm tra địa chỉ hiện tại của hệ thống : #iconfig -a 8.2 Cấu hình địa chỉ ip : #ifconfig [network_card] [ip] netmask [subnetmask] [up/down] [network_card] : Card mạng muốn gán ip [ip] : Địa chỉ ip muốn gán cho card mạng đó [subnetmask] : Subnet cua ip đó [up/down] : Trạng thái cho card mạng sau khi gán ip 8.3 Kiểm tra bảng định tuyến của card mạng : #route 8.4 Cấu hình gateway cho card mạng : #route add default gw [ip_gate] [network_card] [ip_gate] : Địa chỉ gateway hoặc router Chú ý : Nếu các bạn ngại cấu hình địa chỉ ip cho card mạng bằng commandline, bạn có thề sử dụng trình soạn thảo vi hoặc gedit sửa file sau . #vi /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-eth0 có thể thay đổi theo từng hệ thống 9. Quản lý dịch vụ : 9.1 Lệnh chkconfig : #chkconfig [option] [option] : Bao gồm như sau --level runlevel : Chỉ định dịch vụ runlevel sẽ on, off hoặc reset --list service : Liệt kê tất cả các dịch vụ trên hệ thống --add service : Thêm một dịch vụ mới vào hệ thống --del service : Xóa một dịch vụ Service on/off/rerset : bật/tắt/reset một dịch vụ seatek 05-12-2008, 03:10 PM 10. Hệ thống tập tin Network File System (NFS) : NFS là một dịch vụ dùng để chia sẽ tập tin giữa các hệ thống Linux và Unix với nhau . _ Kiểm tra gói phần mềm NFS đã được cài đặt chưa ? #rpm -qa | grep nfs nfs-untils-1.0.6-65.EL4 system-cònig-nfs-1.2.8-1 _ Nếu hiện ra thông báo như trên thì đã được cài đặt (đối với hệ thống mới các thông báo trên sẽ không giống như tren ), nếu chưa ta tiến hành cài đặt thêm _ Ngoài 2 gói trên ta cần kiểm tra thêm gói portmap : #rpm -qa | grep portmap portmap-4.0-63 _ Khởi động dịch vụ : #service nfs start _ Khởi động dịch vụ nfs mỗi khi boot hệ thống : #chkconfig nfs on _ Kiểm tra nfs có thực sự chạy chưa ? #rpcinfo -p _ Cấu hình NFS trên máy server : #vi /etc/exports Thêm vào nội dung sau : /home [ip_range]/[netmask](permitsion,sync) Trong đó : * /home : là tên thư mục ta chia sẽ cho client truy cập đến * permitsion : là các quyền ta cấp phát cho client được phép thực hiện trên thư mục ta chia sẽ _ Cấu hình NFS trên máy client : Tạo một thư mục để mount thư mục chia sẽ của server về máy client : #mkdir /mnt/nfs Tiến hành mount thư mục chia sẽ của server về client : #mount -t nfs [ip_server_chia_sẽ]:[folder_name_chia_sẽ] /mnt/nfs Trong đó : * [ip_server_chia_sẽ] : địa chỉ ip máy server chia sẽ * [folder_name_chia_sẽ] : thư mục chia sẽ trên server (ví dụ đây là : /home) Như vậy mỗi khi ta muốn truy xuất thư mục chia sẽ trên server ta phải sử dụng lệnh mount .Vậy có cách nào cho quá trình này được tự động hay không ? Trả lời là có, ta thực hiện tiếp các bước sau : _ Chỉnh sửa file fstab như sau : #vi /etc/fstab Thêm vào nội dung sau : #Diectory Mount Point Type Options Dumnp FSCK [ip_server_chia_sẽ]:[thư_mục_chia_sẽ] /mnt/nfs nfs soft,nfsvers=2 0 0 _ Thực hiện tạo thư mục và lệnh mount trên client như phần trên Kết thúc , ta sẽ truy xuất thư mục chia sẽ trên server một cách tự động mỗi khi cần đến . 11. Cấu hình Samba server : Trong một mạng LAN không chỉ có các hệ thống Linux, Unix mà còn có các hệ thống khác như Windows, SUN, MAC .Để các hệ thống khác ngoài Linux, Unix có thể truy xuất và thấy được hệ thống Linux, Unix ta cần có thêm gói dịch vụ Samba .Có thể download gói phần mềm này tại http://www.samba.org _ Kiểm tra gói SAMBA có tồn tại trên hệ thống chưa ? Nếu chưa thì tự tìm cách setup vào #rpm -qa samba Cấu hình dịch vụ Samba : _ Tạo 2 thư mục có tên (cutynhangheo1 , cutynhangheo2) nằm tại thư mục / : #mkdir /cutynhangheo1 #mkdir /cutynhangheo2 _ Cần soạn thảo tập tin smb.conf có cấu hình như sau : #vi /etc/samba/smb.conf Thêm vào nội dung sau : [global] netbios name = linux <~~~ tên máy workgroup = WORKGROUP <~~~ cái này như windows server string = Linux-Samba-Server <~~~ tên đầy đủ hosts allow = 192.168.1.0. 127. <~~~ range ip cho phép truy xuất log file = /var/log/samba/%m.log <~~~ lưu trữ log # Log files can be at most 50KB security = user smb paswd file = /etc/samba/smbpasswd encrypt passwords = yes dns proxy = no [homes] comment = Home Diectories browseable = yes writable = yes [printers] comment = All Printers path = /var/spool/samba browseable = yes writable = no printable = yes [cutynhangheo1] <~~~ quy định khai báo comment = cutynhangheo1 path = /cutynhangheo1 <~~~ đường dẫn thư mục chia sẽ browseable = yes writable = yes printable = no availabe = yes [cutynhangheo2] <~~~ như trên comment = cutynhangheo2 path = /cutynhangheo2 <~~~ như trên browseable = yes writable = no printable = no availabe = yes _ Tạo group mới có tên (cutynhangheo10) : #groupadd cutynhangheo10 _ Tạo user mới có tên (cutynhangheo) : #useradd cutynhangheo -g cutynhangheo10 _ Tạo password cho user mới trên : #passwd cutynhangheo _ Tạo password cho smb : #smbpasswd -a cutynhangheo _ Chuyển quyền sở hửu 2 thư mục chia sẽ (cutynhangheo1 , cutynhangheo2) cho group (cutynhangheo10) : #chgrp cutynhangheo10 /cutynhangheo1 #chgrp cutynhangheo10 /cutynhangheo2 _ Thay đổi quyền trên 2 thư mục chia sẽ (cutynhangheo1 , cutynhangheo2) : #chmod 777 /cutynhangheo1 #chmod 775 /cutynhangheo2 _ Khởi động dịch vụ Samba #service samba start _ Kiểm tra cấu hình dịch vụ Samba đã được thực thi chưa ? #testparm _ Kiểm tra các kết nối tới thư mục chia sẽ : #smbclient -L [ip_host] seatek 05-12-2008, 03:12 PM 12. Cấu hình dịch vụ DHCP : Cũng như trong hệ thống Windows, hệ thống Linux hoặc Unix đều có chức năng làm DHCP server . _ Kiểm tra gói DHCPD có tồn tại trên hệ thống chưa ? Nếu chưa thì tự tìm cách setup vào #rpm -qa dhcpd _ Để cấu hình dịch vụ này cần cấu hình ip tĩnh cho hệ thống Linux (Cấu hình thế nào coi phần trên [...]... #/etc/init.d/xinetd restart _ Kiểm tra dịch vụ POP3 có hoạt động tốt hay không bằng lệnh telnet : #telnet abc.com 110 19 Chú ý cho các dịch vụ trên : Sau khi cấu hình hoàn tất và đều đúng với tất cả các bước trên mà các truy xuất từ client lên máy chủ chạy dịch vụ gặp sự cố thường là do iptables ngăn chặn các hoạt động trên Ta dùng lệnh sau để tắt iptables #iptables -F ... $ORIGIN abc.com //thay the cho @ @ IN SOA @ root.abc.com.( 42; serial //date create 3H; refresh 15M; retry 1W; expiry 1D); IN NS @ IN A 192.168.100.1 linux1 IN A 192.168.100.2 // > mail.abc.com linux2 IN A 192.168.100.3 linux3 IN A 192.168.100.4 www CNAME linux1 _ DNS phân giải từ IP -> domain_name, vẫn file named.conf , thêm nội dung này vào : options { Directory "/DNS"; thu muc chua DNS allow-query... lại vài dòng sau trong file sshd_config Port 22 Protocol 2,1 PermitRootLogin yes _ Chú ý những dòng trên nếu có dấu # đằng trước thì bạn xóa bỏ dấu đó đi để câu lệnh được thực hiện _ Khởi động dịch vụ : #service sshd start _ Dùng tool gì để kết nối tới dịch vụ SSH trên hệ thống Linux, Unix ấy nhỉ:o seatek 05-12-2008, 03:16 PM 14 Cấu hình dịch vụ FTP : Cũng như hệ thống Windows, hệ thống Linux, Unix cũng... #service vsftp start 15 Cấu hình Apache Server : Cái này không nói ai cũng bít _ Kiểm tra gói Apache có tồn tại trên hệ thống chưa ? Nếu chưa thì tự tìm cách setup vào #rpm -qa httpd _ Mở file httpd.conf ra : #vi /etc/httpd/conf/httpd.conf _ Edit các dòng sau trong file httpd.conf : ServerName www.tengido.com SererAdmin root@tengido.com DocumentRoot "/var/www/html" . Các lệnh cơ bản trong Linux system 1. Dùng lệnh su (switch user) để chuyển người dùng : su username_cần_chuyển Lệnh này dùng chuyển. để liệt kê tất cả các lệnh ta đã thực hiện trước đó .(Cái hay của Linux là trong terminal của nó khi đóng lại nó không xóa tất cả các lệnh mà ta đã thực