Tài liệu Các thao tác quản trị hệ thống cơ bản - Ngô Văn Công: Các thao tác quản trị hệ
thống cơ bản
Ngô Văn Công
Nội dung
Siêu tài khoản người dùng(superuser
account)
Quá trình khởi động và thoát khỏi hệ thống
Quản lý tài khoản người dùng
Quản lý hệ thống tập tin
Quản lý pakage
Điều khiển các tiến trình
root - Superuser account
Tải khoản có quyền cao nhất trong hệ thống
Không có hạn chế nào được áp đặt trên tài khoản này
Thường dùng để duy trì và quản trị hệ thống
cách thông dụng để chuyển vào tài khoản root là:
$ su
Password:
#
khi đang ở tài khoản root, chú ý khi dùng lệnh
# rm -rf / usr/local/oldir
# rm -rf bad *
Quá trình khởi động và thoát khỏi
hệ thống
Khởi động hệ thống và khởi tạo(System
Startup and Initialization)
tập tin /etc/inittab
chuyển đổi mức chạy(runlevel)
các tập tin rc
Chế độ đơn người dùng(Single-user mode)
Thoát khỏi hệ thống(shutdown system)
Khởi động hệ thống và khởi
tạo
Booting the kernel
Initializing device drivers
Executing init in /sbin
...
60 trang |
Chia sẻ: putihuynh11 | Lượt xem: 655 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Các thao tác quản trị hệ thống cơ bản - Ngô Văn Công, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Các thao tác quản trị hệ
thống cơ bản
Ngô Văn Công
Nội dung
Siêu tài khoản người dùng(superuser
account)
Quá trình khởi động và thoát khỏi hệ thống
Quản lý tài khoản người dùng
Quản lý hệ thống tập tin
Quản lý pakage
Điều khiển các tiến trình
root - Superuser account
Tải khoản có quyền cao nhất trong hệ thống
Không có hạn chế nào được áp đặt trên tài khoản này
Thường dùng để duy trì và quản trị hệ thống
cách thông dụng để chuyển vào tài khoản root là:
$ su
Password:
#
khi đang ở tài khoản root, chú ý khi dùng lệnh
# rm -rf / usr/local/oldir
# rm -rf bad *
Quá trình khởi động và thoát khỏi
hệ thống
Khởi động hệ thống và khởi tạo(System
Startup and Initialization)
tập tin /etc/inittab
chuyển đổi mức chạy(runlevel)
các tập tin rc
Chế độ đơn người dùng(Single-user mode)
Thoát khỏi hệ thống(shutdown system)
Khởi động hệ thống và khởi
tạo
Booting the kernel
Initializing device drivers
Executing init in /sbin
init reading /etc/inittab
Executing rc files based on runlevel
Kernel
init
/etc/inittab
3 /etc/rc3.d /etc/rc3.d/[SK]*
5 /etc/rc5.d /etc/rc5.d/[SK]*
Boot loader(LILO,GRUB)
/etc/init.d/syslogd
/etc/init/mysqld
.
/etc/cupsd
Symbol link
0
1
2
3
4
5
6
/etc/inittab file
File format
code:runlevels:action:command
Runlevels
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
Switching runlevel
Generally, Linux operates in runlevel 3 or 5
Edit initdefault in /etc/inittab
Running init manually
# init 5 (switch to X11 mode)
# init 3 (switch to multiuser mode)
# init 1 (switch to single user mode)
Finding previous and current system run level
# runlevel
N 5
Services start/stop at boot
time
Place in /etc/rc.d/rcN.d (N=runlevel)
Shell scripts
Start script: Snnxxxx
Kill script: Knnxxxx
nn = 00 - 99: enforce executing order
S10network S12syslog S99local K90network K10xfs
S* and K* are symlinks to real scripts
Central directory for real scripts: /etc/rc.d/init.d, /etc/init.d
Linux Services
There are 113 deamons, Out of them, the following are most widely
used:
apmd : Power Management
crond : Periodic Command Scheduler
cups : Common Unix Printing System
dhcpd : The DHCP server
httpd : Apache Web server
iptables : Kernel based Packet Filtering firewall
mysqld : MySQL server
sendmail : Sendmail Mail Server
squid : Squid Proxy Server
sshd : Open SSH and SFTP server
xinetd : Provides support for telnet, ftp, talk, tftp etc.
ypbind : NIS Server
(tt)
Start and stop daemon
If a startup script exists in the /etc/init.d directory
(tt)
Fedora and Redhat also come with the service
command
Chế độ đơn người dùng(Single-
User Mode)
Trong tình trạng khẩn cấp, phục hồi lại hệ
thống
No login prompt
Truy cập với người dùng root
Chỉ ở chế console
boot: linux single
boot: linux -s
boot: linux 1
# init 1
shutdown hệ thống
shutdown - tắt hệ thống
# shutdown -r +10 (reboot after 10 minutes)
# /sbin/shutdown -r +10 "Rebooting to try new
kernel"
# shutdown -h now (halt immediately)
Other ways
Ctrl-Alt-Del
# reboot
# halt
# poweroff
Quản lý tài khoản
Người dùng và nhóm
Tạo, chỉnh sửa, xóa tài khoản người dùng
/etc/passwd file
/etc/shadow file
Tạo, chỉnh sửa, xóa nhóm
/etc/group file
Người dùng và nhóm
Tài khoàn người dùng và tài khoản hệ thống
mỗi người dùng sẽ có 1 tên và định danh(id) duy nhất
(unsigned number)
Mỗi người dùng thuộc về ít nhất 1 nhóm
Mỗi nhóm có tên và định danh duy nhất (unsigned
number)
Tên tài khoản người dùng thường là chữ thường
Tài khoản siêu người dùng luôn có id là 0
Thêm tài khoản người dùng
useradd [-u uid] [-g group] [-G group,...]
[-d home] [-s shell] [-c comment] name
# useradd -g students -c "Student 001" stud001
passwd - set user password
# passwd stud001
Chỉnh sửa và xoá tài khoản
người dùng
usermod [-u uid] [-g group] [-G group,...]
[-d home] [-s shell] [-c comment]
[-l new_name] name
# usermod -u 1001 stud001
userdel [-r] name
-r: remove user’s home directory
# userdel -r stud001
/etc/passwd file
File format
username:password:uid:gid:gecos:homedir:shell
username - bất kỳ chuỗi ký tự nào dùng để xác định tài khoản
(human convenient)
password - mật khẩu người dùng(mã hóa)
uid - user ID (system convenient)
gid - group ID
gecos - thông tin khác của người dùng
homedir - thư mục home của người dùng
shell - chương trình sẽ chạy khi người dùng login vào, thường là
/bin/bash
Tăng bảo mật cho mật khẩu: /etc/shadow
Ví dụ các mục trong /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false
student:x:500:500:Student:/home/student:/bin/bash
Tập tin /etc/shadow
/etc/shadow chứa thông tin mật khẩu đã
được mã hóa cho tài khoản người dùng
Login name
Encrypted password
(tt)
Khóa tài khoản người dùng
Đặt ! trong trường password của tập tin
/etc/shadow
Thay đổi shell đăng nhập thành
/sbin/nologin
Tài khoản nhóm
Adding group
groupadd [-g gid] group
# groupadd students
Modifying group
groupmod [-g gid] [-n name] group
# groupmod -g 1000 students
Deleting group
groupdel group
# groupdel students
Tập tin /etc/group
Định dạng
groupname:password:gid:members
groupname - bất kỳ chuỗi ký tự nào
password - tùy chọn mật khẩu
gid - group ID
members - danh sách người dùng, phân cách bằng dấu ,
Ví dụ các mục trong /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
student:x:500:
Chỉnh sửa người sở hữu và
nhóm
chown - Thay đổi người sở hữu và nhóm
# chown -R stud001:students /home/stud001
Cấp quyền root khi chạy 1 lệnh:
lệnh sudo
sudo command
/etc/sudoers: Tập tin chứa thông tin người dùng
được phép sudo
Cú pháp của một dòng trong file sudoers như sau:
User host computer=command
Defaults logfile=/var/log/sudolog
Sudo(tt)
Username:user1
Group:%group1
user1 ALL=(ALL) ALL
user1 có thể chạy bất kỳ câu lệnh nào, dưới quyền bất kỳ người
dùng nào nhưng phái biết password của user1.
user1 ALL=(root) shutdown
user1 chỉ có quyền chạy câu lệnh shutdown, nhưng phải biết
passwrd của user1
user1 ALL=(root) NOPASSWD: /usr/bin/id
user1 chỉ có thể chạy câu lệnh /usr/bin/id và không cần password;
no password will be needed.
user1 ALL=(accounts) /bin/kill, /usr/bin/kill, /usr/bin/pkill
sudo -u accounts pkill monthend
Quản lý hệ thống tập
tin(filesystem)
Các kiểu hệ thống tệp
Gắn kết hệ thống tệp
Tập tin /etc/fstab
Tạo ra một hệ thống tệp
Kiểm tra và chỉnh sửa hệ thống tệp
Các kiểu hệ thống tệp
ext2 - common Linux filesystem
msdos - MS-DOS FAT
vfat - Windows 95/98 FAT
ntfs - Windows NT/2000/XP NTFS
iso9660 - CD-ROMS
smbfs - SMB sharing filesystem
nfs - Network File System
proc - /proc filesystem (process information)
ext3, reiserfs, jfs, xfs - journaling filesystems
Gắn kết hệ thống tệp
Gắn kết(Mounting)
mount -t type /what /where
# mount -t ext2 /dev/hda5 /mnt/backup
# mount -t msdos /dev/fd0 /mnt/floppy
# mount -t iso9660 /dev/hdd /mnt/cdrom
# mount -t vfat /dev/hdc1 /mnt/c
Hiển thị các hệ thống tệp gắn kết
# mount
/dev/hda1 on / type ext3 (rw)
Gỡ bỏ gắn kết(Un-mounting)
# umount /mnt/c
# umount /dev/fd0
(tt)
Floppy disk /dev/fd0
USB drives /dev/sdX
Hard drives /dev/hdX, /dev/sdX
Windows Shares //server/share
NFS Shares server:/share
Tập tin /etc/fstab
Tự động gắn kết các hệ thống tệp tại thời điểm khởi
động
Dùng để gắn kết những phân vùng hay sử dụng
Định dạng tập tin
device mount-point type options
Ví dụ các mục trong /etc/fstab
Định dạng hệ thống tệp
Phân vùng đĩa
fdisk
Định dạng hệ thống tệp
mkfs -t type device blocks
blocks: size of the filesystem (1024-byte blocks)
# mkfs -t ext2 /dev/fd0 1440
# mkfs -t ext3 /dev/hda6
Chú ý
Định dạng hệ thống tệp trên thiết bị sẽ xóa hết dữ liệu
trên thiết bị
mkfs không thông báo trước khi định dạng
Kiểm tra và chỉnh sửa hệ thống
tệp
Kiểm tra sự toàn vẹn của hệ thống tệp
Sửa chữa sau các sự cố hệ thống
Ngoại trừ phân vùng root, umount thiết bị
trước khi kiểm tra
fsck -t type device
# fsck -t ext3 /dev/hda2
Quản lý Software
Quản lý package
Có 2 định dạng khác nhau
RPM Package Manager (RPM) – Red hat, Suse
Debian Package (DEB) – Debian, Ubuntu
Tarball
Quản lý package
RPM - Red Hat Package Management
Cài đặt gói
Cập nhật gói
Xóa các gói
Truy vấn thông tin
RPM - Red Hat Package
Management
Các gói cài đặt trong các hệ thống red hat
Thông tin về gói được lưu trữ trong cơ sở dữ
liệu
Lưu vết các phụ thuộc
Dễ sử dụng
Bất tiện: Giải quyết vấn đề phụ thuộc là công
việc khó chịu
rpm [options] [packages]
Cài đặt và cập nhật gói
rpm -i|-U
# rpm -i openssh-3.1p1-3.i386.rpm
# rpm -ihv openssh-server-3.1p1-3.i386.rpm
# rpm -ihv openssh-askpass-3.1p1-3.i386.rpm \
openssh-askpass-gnome-3.1p1-3.i386.rpm
# rpm -Uhv xvnkb-0.2.4-1.i386.rpm
Xóa gói
rpm -e
# rpm -e openssh-server-3.1p1-3
# rpm -e xvnkb
Truy vấn thông tin gói
rpm -q
# rpm -ql fileutils: Liệt kê các tập tin của gói
# rpm -qip xvnkb-0.2.4-2.i386.rpm: in ra thông tin
tóm tắt của gói
# rpm –qa: Liệt kê tất cả gói
Vấn đề phụ thuộc
# rpm -ihv MagicPoint-1.09a-1.i386.rpm
error: failed dependencies:
VFlib2 >= 2.25.6-4 is needed by MagicPoint-1.09a-1
libpng.so.2 is needed by MagicPoint-1.09a-1
# rpm -ihv MagicPoint-1.09a-1.i386.rpm \
VFlib2-2.25.6-4.i386.rpm \
libpng-1.0.12-2.i386.rpm
Dpkg(.deb)
dpkg –i : install package
dpkg –r : remove package
dpkg –l : query package installed on your
system
Quản lý gói với APT
/etc/apt/sources.list
Lệnh cài đặt
sudo apt-get install tên-gói
Lệnh tìm gói
sudo apt-cache search tham số
Lệnh cập nhật
sudo apt-get update
Điều khiển tiến trình
Hiểu về tiến trình
Liệt kê danh sách tiến trình đang chạy
Kết thúc tiến trình
Giám sát hệ thống
Hiểu về tiến trình
Tiến trình là một chương trình được nạp vào bộ nhớ để
chạy
Nhiều tiến trình cùng chạy đồng thời tại một thời điểm
Mỗi tiến trình sẽ được gắn kết id duy nhất: PID (process
ID)
Tiến trình có người sở hữu(owner) và quyền giống như
tập tin
Các kiểu tiến trình
Daemon processes
Background processes
Foreground processes
Tiến trình nền(Background
processes)
Đặt ký tự & sau tên tập tin khi chạy
Cat > vidu.txt &
Ctrl+Z : Chuyển tiến trình từ tiền cảnh sang
tiến trình nền
jobs: hiển thị tất cả tiến trình nền.
bg: bắt đầu tiến trình ở chế độ nền
fg: chuyển tiến trình sang thành tiến trình tiền
cảnh
ps - liệt kê danh sách tiến trình
ps [options]
a: select all processes on a terminal
x: select processes without controlling ttys
u: display user-oriented format
w: wide output
$ ps
PID TTY TIME CMD
728 pts/3 00:00:00 bash
1010 pts/3 00:00:00 ps
Uptime: how long server is up
Free: information about memory usage
kill - Kết thúc tiến trình
kill [ -s signal ] pid
kill -l [ signal ]
default signal to send is signal TERM
$ kill 728
$ kill -s SIGKILL 728
$ kill -KILL 728
$ kill -9 728
killall - kết thúc tiến trình qua tên
killall [ -s signal ] name
$ killall -SIGHUP syslogd
$ killall -9 man
top - process CPU/Memory
consumption
Press h at anytime for list of interactive commands
Chạy tiến trình 1 cách tự động
Các công việc đòi hỏi tính tự động
Hệ thống cron
Các tác vụ tự động
Giúp hệ thống chạy ổn định hơn
Quan sát hệ thống
Chạy thường xuyên: hourly, daily, weekly,
yearly
Tự động chạy mà không cần sự can thiệp
của người dùng
Shell scripts
Hệ thống cron
crontab files: cấu hình của cron
crontab commmand: câu lệnh dùng để chỉnh
sửa tập tin crontab
crond daemon: đọc tập tin crontab và thực hiện
các công việc trong đó
Định dạng của tệp crontab
minute hour day month weekday command
Phút(0-59)
Giờ (0-23)
Ngày (1-31)
Tháng (1-12)
Ngày trong tuần (Sun=0, Mon=1, ... Sat=6)
Chương trình có thể được chạy vào một ngày nào đó và
tại một thời điểm cụ thể.
0 2 * * * /bin/organize_data
*/15 * * * * /usr/bin/get_email
30 9-17 * 1 sun,wed,sat $HOME/bin/my_report
command is run at one min past every
hour
command is run daily at 8:17 am
command is run daily at 8:17 pm
command is run at 4 am every Sunday
command is run 4:42 am every 1st of the
month
command is run hourly on the 19th of July
crontab command - maintain
crontab files
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
-l: display current crontab on stdout
-r: remove current crontab
-e: edit current crontab
$ crontab -l
5 0 * * * echo “this is a test”
Red Hat System wide cron
/etc/crontab
/etc/cron.daily/
/etc/cron.hourly/
/etc/cron.monthly/
/etc/cron.weekly/
Q &A
Các file đính kèm theo tài liệu này:
- bai_giang_he_dieu_hanh_linux_lecture5_systemadmin_7024_1984633.pdf