1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Hệ điều hành Unix: Chương 2 - Ngô Duy Hòa

27 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Chương 2 của bài giảng Hệ điều hành Unix giới thiệu về kiến trúc bên ngoài Unix/Linux. Chương này trình bày các nội dung chính như: Quản lý người dùng (Users), quản lý thiết bị, tổ chức dữ liệu, graphical user interface. Mời các bạn cùng tham khảo.

Kiến trúc bên Unix/Linux Quản lý người dùng (Users) Ngơ Duy Hịa – KHMT - CNTT Đa người dùng (multiusers) Đa người dùng (tiếp) • Cho phép chạy đồng thời độc lập nhiều ứng dụng nhiều người dùng – Đồng thời (concurrently): • Kích hoạt lúc • Cùng yêu cầu tài nguyên hệ thống: CPU,RAM,HDD, – Độc lập (independently): • Khơng quan tâm đến ứng dụng người dùng khác làm Đa người dùng (tiếp) • Local System: – Các ứng dụng tài nguyên máy – Nhiều người dùng thực • Network System: – Thực qua môi trường mạng (Networking) – Cho phép người dùng xa truy nhập đến tài nguyên hệ thống (remote user) Yêu cầu với hệ thống • Cơ chế mã hóa xác nhận người dùng • Cơ chế bảo vệ chống chương trình độc hại thực cơng việc: – Chặn chương trình khác – Có khả lây nhiễm, gián điệp, • Cơ chế tài khoản người dùng: – Hạn chế quyền truy cập đến tài nguyên hệ thống người dùng Người dùng (Users) • Đăng nhập (login) tài khoản (account) • Sở hữu vùng ổ cứng riêng (private) để lưu trữ liệu cá nhân • Được gán quyền làm việc định tài nguyên Các file liên quan • /home : thư mục gốc làm việc • /etc/skel : chứa file cấu hình mặc định: – Shell : bash_profile, bashrc, bash_logout – KDE : kde & GNOME : Desktop • /etc/shells : tên Shell: bash, tcsh,… • /etc/passwd & /etc/shadow : thơng tin người dùng • /etc/group & /etc/gshadow: thơng tin nhóm người dùng • /etc/login.defs : số thông tin mặc định cho người dùng Tài khoản người dùng /etc/passwd • Tài khoản (account) có phần: – Tên đăng nhập (login name): không chứa ký tự đặc biệt: + - * / ~ ` ! ‘ “ ? : – Mật (password): ký tự Đảm bảo an toàn với số ký tự >= • Thơng tin người dùng lưu trữ file: /etc/passwd • Thơng tin mật lưu trữ file: /etc/shadow • • • • Text file: user – line Thuộc quyền sở hữu root user Mọi người dùng có quyền đọc [ r ] Chỉ có root user có quyền ghi [ w ] Cấu trúc liệu /etc/passwd Ý nghĩa trường thơng tin • • • • • • • Username: tên đăng ký để login Password: mật login vào hệ thống UID: mã người dùng GID: mã nhóm Comments: thích bổ sung Home directory: thư mục gốc làm việc Default Shell: Shell mặc định sau login Một số đặc điểm /etc/passwd /etc/shadow • Trường password /etc/passwd ký hiệu X, ? – Mọi người đọc Ỉ dễ b copy v gii mó ặ khụng bo mt ã Khi thêm người dùng thì: – UID,GID thường 500 – Tự động tạo nhóm riêng mặc định cho người dùng Ỉ hay thấy UID = GID Cấu trúc liệu /etc/shadow • • • • • • • • root:aer9a9reau34iajfakjeri73qa97:13788:0:99999:7::: bin:*:13788:0:99999:7::: daemon:*:13788:0:99999:7::: adm:*:13788:0:99999:7::: named:!!:13788:0:99999:7::: postgres:!9reau3ekroiweriweri73qa:13788:0:99999:7::: khmt::13788:0:99999:7::: ndhoa:lawekroiweriwoierowier:13788:0:99999:7::: Ý nghĩa trường thông tin (tiếp) – Min : số ngày mà thời gian thay đổi mật – Max : số ngày mà sau bắt buộc phải thay đổi mật – Warn : số ngày trước hết hạn dùng mật khẩu, cần cảnh báo cho người dùng – Inactive : Là số ngày tính kể từ hết hạn sử dụng,mật bị khóa – Expire : Là số ngày xác định từ lúc mật bị khóa đến – Flag : Trường dự trữ • Text file: user – line • Mật mã hóa DES - Data Encryption Standard (hàm crypt() or md5 hash) • Thuộc quyền sở hữu root user • Chỉ có root user có quyền ghi [ r ] • Chỉ có root số chương trình root quyền thay đổi nội dung Ý nghĩa trường thông tin • Username : tên truy nhập người dùng • Password : mật sau mã hóa: – Để trống không cần password – Dấu * ! đứng đầu tức tài khoản bị khóa (lock) – Dấu !! tức mật không thiết lập • Lastchg : số ngày sử dụng mật tính từ ngày 01/01/1970 Một số người dùng đặc biệt • root: sở hữu tất tài nguyên,có thể thực cơng việc hệ thống • Người dùng ảo (amd) phụ trách việc ghi nhật ký hệ thống (log file) • Người dùng ảo (bin) có quyền sở hữu tới file thực thi hệ thống • Người dùng ảo (lp hay lpd) hỗ trợ việc in ấn • Người dùng ảo (cron) hỗ trợ thực công việc theo thời gian biểu cho trước Users && Groups • Xét tình huống: Một nhân viên A tham gia cơng việc sau sau: – Làm lập trình viên : developers – Bảo mật hệ thống : security – Quản trị trang web : webgroups – Giảng dạy chuyên môn: teachers – … Nhóm (Groups) • Bản chất: quyền truy nhập cho nhóm gán cho thành viên nhóm • Nhóm tài khoản (account): – Không dùng tên nhóm để đăng nhập • Thơng tin nhóm lưu file: – /etc/group: liệt kê nhóm hệ thống – /etc/gshadow: lưu trữ mật nhóm • Làm để chia xẻ liệu thành viên nhóm? Cấu trúc file /etc/group • • • • • • • root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon khmt:x:500:khmt cntt:x:501:ndhoa,khmt Ý nghĩa trường • Gr_name : Một nhóm - tên riêng • Gr_password : Mật nhóm • Gr_ID : Số đăng ký ID hệ thống cung cấp • Gr_member_list : Danh sách người dùng nằm nhóm Một số đặc điểm Cấu trúc file /etc/gshadow • Mật nhóm mã hóa lưu trữ file khác : /etc/gshadow – Ngăn người dùng ngồi nhảy vào nhóm thơng qua gọi newgrp • Mặc định, hệ thống tạo nhóm riêng (private group) cho người dùng: – Tên người dùng tên nhóm • Giá trị GID cung cấp theo thứ tự tăng dần • • • • • • • root:::root bin:::root,bin,daemon daemon:::root,bin,daemon sys:::root,bin,adm adm:::root,adm,daemon khmt:!::khmt cntt:957l7KGUIV2E3:ndhoa:ndhoa,sv Ý nghĩa trường • Gr_name: tên nhóm • Gr_password : mật nhóm sau mã hóa: – Dấu ! tức khơng cho người ngồi nhảy vào nhóm – Dấu !! !, cịn có ý mật khơng thiết lập trước – Để trống, tức khơng cần mật • Admin_list: danh sách quản trị nhóm: – Thêm,bớt người dùng – Đổi mật nhóm • Member_list: danh sách người dùng nằm nhóm Thêm người dùng vào hệ thống • Thực quyền root: – Đăng nhập root account – Chuyển sang người dùng root : su – Thực root : sudo command • Có cách thêm users sau: – Sử dụng tool “ users and groups” system tool – Thêm tay : thực lệnh Shell Sử dụng “Users and Groups” Create New User window User Properties window Thêm người dùng tay • Các lệnh làm việc với nhóm (groups) – Thêm : groupadd – Thay đổi : groupmod – Mậtkhẩu : gpasswd • Các lệnh làm việc với người dùng (users) – Thêm : useradd – Thay đổi : usermod – Mật : passwd Kiến trúc nhân (kernel) Quản lý thit b Device driver ã Thit b lm vic ặ cần có driver • Device driver: – Nhận dạng tự cấu hình cho thiết bị – Cung cấp thư viện hàm I/O làm việc – Hỗ trợ chế ngắt (interrupt) • Kernel làm việc với thiết bị thơng qua driver: – Device driver nằm kernel – driver = module Device driver - Module Device – File System • Có chế làm việc: – Liên kết tĩnh (static) : tích hợp sẵn nhân (kernel) • Kích thước kernel lớn • Khi thay đổi module Ỉ biên dịch lại kernel – Liên kết động (dinamic): kết gán vào kernel theo yêu cầu • Kích thước kernel nhỏ • Linh hoạt thay đổi, thêm bớt thiết bị Device files Device files (tiếp) • User process truy cập tới Device? (ví dụ tạo data file ổ cứng) • User process ỈDevice driver Ỉ Device Controller Ỉ Device • Linux hỗ trợ tương tác User process Device driver file-like-object • file-like-object nằm file system gọi Device file • Device file nằm tầng File System nên user thực hàm sau: Device file name Một số tên Device file thơng dụng • Tên device file phản ánh chức thiết bị • Các Device file lưu trữ thư mục /dev file system • Đánh thứ tự cho thiết bị kiểu • Sử dụng liên kết mềm (symbol link) để người dùng dễ nhớ: – vd1: /dev/cdrom Ỉ/dev/hdc (cd-rom theo chuẩn IDE) – Vd2: /dev/modem Ỉ /dev/ttyS1 (modem nối serial 1) Device types – Mở : open, đóng : close – Đọc liệu : read, ghi liệu : write • Device file chia làm loại: – Tương tác trực tiếp với thiết bị phần cứng – Chỉ tương tác với tiến trình,kernel mà khơng liên quan đến thiết bị cụ thể /dev/audio File thiết bị cho Sound Card /dev/cdrom File thiết bị cho CDROM /dev/fdn File thiết bị cho ổ đĩa mềm (n số) /dev/hdxn File thiết bị cho phần cứng với giao tiếp IDE /dev/lpn File thiết bị cho cổng song song máy in /dev/modem File thiết bị cho MODEM /dev/mouse File thiết bị cho chuột /dev/sdxn File thiết bị cho phần cứng với giao tiếp SCSI /dev/ttyn File thiết bị giao tiếp ảo (teletype) Block & Character Device • Device file khơng phải file thật (original) khơng có địa cụ thể ổ cứng • Dữ liệu đọc/ghi trao đổi trực tiếp với Device driver • Linux chia Device file thành loại chính: – Block Device – Character Device – Network interface Block Devive (b) • Trao đổi theo khối liệu (block data) • Sử dụng nhớ đệm (buffer) để lưu liệu trung gian • Cho phép đọc liệu vị trí ngẫu nhiên (random) • Vd: thiết bị nhớ HDD, FDD, Character Device Types • Unbuffered character device (u): không dùng nhớ đệm q trình trao đổi liệu • Pipe device – Named pipe (p): hỗ trợ liên lạc tiến trình (interprocesses communication) Character Device (c) • Đọc liệu theo byte • Khơng cho phép truy xuất liệu ngẫu nhiên • Character interface = Raw device interface: liệu khơng có cấu trúc • Khơng dùng buffer trung gian kernel, thay vào dùng I/O queue • Ví dụ như: modem, teletype,… Network Interface • Làm việc mơi trường mạng • Có loại Interface: – Tương ứng với thiết bị mạng (hardware) – Tương ứng với chương trình phần mềm (software – loopback interface) • Cơ chế làm việc: – Trao đổi gói thơng tin (package) – Trao đổi theo luồng liệu (stream) Device Number • Mỗi thiết bị (device) ứng với giao tiếp (interface): vd HDD – IDE • Mỗi giao tiếp gắn nhiều thiết bị (vd IDE có HDD, CD-ROM, ) • Mỗi giao tiếp điều khiển vi điều khiển (controller) • Mỗi controller ứng với driver • Cách phân biệt thiết bị ??? Device Number (tiếp) • Linux phân biệt thiết bị thơng qua số: – Major devive number: • Đặc trưng cho giao tiếp với thiết bị • Chỉ số tài ngun kernel định nghĩa • Tương thích với block & charater device – Minor device number: • Phân biệt thiết bị số Major • Master device đánh số từ 0,1,2,3 • Slave device đánh số từ 64,65,66, Common Block Devices Device Name /dev/fd0 First floppy drive Common Character Devices Major Minor Major Minor /dev/lp0 or /dev/par0 Parallel port /dev/lp1 or /dev/par1 First serial port /dev/ttyS0 64 Second serial port /dev/ttyS1 65 IDE tape drive /dev/ht0 37 First SCSI tape drive /dev/st0 Second SCSI tape drive /dev/st1 System console /dev/console First virtual terminal /dev/tty1 Second virtual terminal /dev/tty2 Process's current terminal device /dev/tty Sound card /dev/audio 14 Second floppy drive /dev/fd1 /dev/hda Primary IDE controller, master device, first partition /dev/hda1 Primary IDE controller, secondary device /dev/hdb 64 65 Secondary IDE controller, master device /dev/hdc 22 Secondary IDE controller, secondary device /dev/hdd 22 64 First SCSI drive /dev/sda First SCSI drive, first partition /dev/sda1 Second SCSI disk /dev/sdb 16 Second SCSI disk, first partition /dev/sdb1 17 First SCSI CD-ROM drive /dev/scd0 11 Second SCSI CD-ROM drive /dev/scd1 11 Kernel module • Là thành phần kernel nạp vào RAM cần • Là file nằm ổ cứng có đi: *.o hay *.so • Nằm thư mục /lib/modules/version – version phiên kernel – …./kernel/drivers/sound: chứa module cạc âm – …./kernel/drivers/net: chứa module cạc mạng Ví dụ với USB • Một số phiên Linux không hỗ trợ USB tự ng ặ cỏch kt ni ? ã Thc hin cỏc bước: – B1: kiểm tra xem driver modules cho USB: • Core: usbcore • Data store: usb-storage • Host Controller: usb-uhci (Intel) usb-ohci (Compaq) ehci-hdc (USB v 2.0) – Tên modules có *.o , *.so, *.ko Name Parallel port Primary IDE controller, master device Primary IDE controller, secondary device, first partition /dev/hdb1 Device Làm việc với Modules (modutils) Command Description lsmod Lists modules currently loaded insmod Loads a module into the kernel Does not check for dependencies rmmod Unloads a module currently loaded Does not check for dependencies modinfo Display information about a module: -a (author),-d (description), -p (module parameters), -f (module filename), -v (module version) depmod Creates a dependency file listing all other modules on which the specified module may rely modprobe Loads a module with any dependent modules it may also need Uses the file of dependency listings generated by depmod: -r (unload a module), -l (list modules) Ví dụ với USB (tiếp) • Thư mục chứa modules: /lib/modules/kernel_vers/kernel/drivers/usb • Nạp module: #modprobe usb-storage #modprobe usb-uhci • Mount USB flash #mkdir /mnt/flash #mount /dev/sdax /mnt/flash (x =1,2, thường = 1) Thực lsmod Lấy thơng tin • Sử dụng modinfo modprobe –v: modinfo [options] vd: modinfo hid • Thêm module insmod: insmod /lib/modules/2.6.20-2.47.1/kernel/drivers/usb/hid.o Using /lib/modules/2.6.20-2.47.1/kernel/drivers/usb/hid.o Symbol version prefix 'smp_' • Tháo module rmmod : rmmod hid Một số thiết bị đặc biệt • Linux hỗ trợ số thiết bị ảo: – Không làm việc với thiết bị thật – Chỉ làm việc với kernel memory – Có số major number = /dev/null • Linux xóa tất liệu ki gửi đến [ ]$ cat data.txt 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 [ ]$ cat data.txt > /dev/null - nothing - • Có loại sau: – /dev/null – /dev/full – Loopback device - /dev/zero - /dev/random • /dev/null tương đương với EOF [ ]$ cp /dev/null data.txt [ ]$ ls -l data.txt -rw-rw khmt khmt Jan 00:27 data.txt /dev/zero • file bao gồm dãy vô hạn số $ /hexdump /dev/zero 0x000000 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x000010 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x000020 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x000030 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 • Tạo file với kích thước $ dd if=/dev/zero of=data.txt count=20480 20480+0 records in 20480+0 records out $ ls -l data.txt -rw-rw root root 10485760 Jan 00:56 data.txt /dev/full • Dùng để test phần mềm khi: – File system khơng cịn đủ chỗ trống – Ghi liệu thêm Ỉ lỗi : errno = ENOSPC – Ỉ Tương tự ghi vào /dev/full • Ví dụ : $ cp /etc/fstab /dev/full cp : /dev/full : No space left on device 10 Ý nghĩa số thư mục • /sbin: chứa lệnh dành cho người quản trị Ý nghĩa số thư mục • /dev: chứa device file Ý nghĩa số thư mục • /home: chứa thư mục riêng cho người dùng Ý nghĩa số thư mục • /boot: chứa file khởi động hệ thống Ý nghĩa số thư mục • /etc: chứa file cấu hình hệ thống Ý nghĩa số thư mục • /lib: chứa file thư viện làm việc 13 Ý nghĩa số thư mục • /usr: chứa chương trình cài đặt người dùng – /usr/include : chứa file header lập trình – /usr/src : chứa mã nguồn Ý nghĩa số thư mục • /mnt: chứa thư mục liên kết tạm thời với thiết bị • /tmp: chứa file tạm mà chương trình sử dụng trình chạy Các file hệ thống dọn dẹp khơng cần • /var: lưu trữ file liệu tạm thời cần đưa máy in,hoặc file download để cài đặt từ mạng, • /lost+found: lưu trữ file liệu hệ thống bị hỏng Tổ chức liệu HDD Block I/O Quản lý tệp tin (file) Quản lý tệp tin (tiếp) • Đối với người dùng: – Xác định người sở hữu, nhóm sở hữu – Xác định quyền truy cập đến liệu – Xác định thuộc tính như: • Tên file, kích thước, • Thời gian truy nhập,… – Xác định vị trí file FS • Đối với hệ thống: • Dữ liệu file chia thành khối (block) block = 1K, 2K, 4K, • Cách tổ chức liên kết khối liệu file: – Liên tục (Contiguous allocation) – Liên kết (Linked allocation) – Chỉ mục (Indexed allocation) – Xác định vị trí khối liệu ổ cứng 14 Continuos Allocation Linked Allocation Indexed Allocation File = Inode in Linux Inode – Index Node Quản lý thư mục • Thư mục chứa thông tin file: – Inode – File name 15 Mounting File Systems • Các FS có gốc / • Nối FS vào FS khác thông qua thư mục gọi mount point • Các lệnh sử dụng: mount umount thực với quyền root Các loại file Linux • Linux phân chia file thành loại sau: – Regular file Ký hiệu : • Text file • Binary file • Executed file – Directory Ký hiệu : d – Device file Ký hiệu : c b – Link Kí hiệu : l • Soft Link (Symbolic link) • Hard Link File liên kết (Link) • Theo nguyờn tc: file ặ inode ã Inode chứa thông tin: – Quyền truy cập đến file – Thơng tin người/nhóm sở hữu – Thơng tin thời gian – Số liên kết đến Inode – Kích thước file, địa block liệu – NHƯNG : khơng chứa tên file Đường dẫn Linux • Đường dẫn tuyệt đối: – Đi từ thư mục gốc đến vị trí file – Bắt đầu dấu / • Đường dẫn tương đối: – Xuất phát từ thư mục đứng – Có ký tự thư mục đặc biệt: • Ám thư mục tại: dấu • Ám thư mục cha : dấu – Để riêng tên file Ỉ hiểu thư mục Liên kết cứng (hard link) • Liên kết kiểu sử dụng chung liệu: – – – – Các file có tên khác Cùng inode, Chỉ số liên kết inode số file trỏ đến Có thể khác thư mục, cựng FS ã ặ inode cú th ng với nhiều file name 16 Liên kết cứng (hard link) • Cách tạo hard link: ln src_file hard_link_file Liên kết mềm (soft link) • Liên kết kiểu trỏ file (shortcut): – Các file có tên khác – Giá trị inode khác nhau, – Nội dung file liên kết mềm tên file liên kết Liên kết mềm (soft link) Quản lý quyền làm việc với file • Cách tạo : ln – s src_file sym_link_file • Thế phân quyền? – User cấp quyền làm việc với số tài nguyên định • Những đối tượng quan tâm đến liệu: – Người sở hữu (owner) – Người dùng nhóm sở hữu (group) – Những người dùng khác (other) Quyền truy cập Xem thơng tin file • Linux hỗ trợ quyền làm việc bản: – Đọc (Read) – Ghi (Write) – Thực thi (eXecute) • Trong vấn đề bảo mật, Linux hỗ trợ thêm quyền mở rộng: – Sticky bit – Set UID , Set GID • Phân biệt quyền làm việc tệp tin (regular file) thư mục (directory) • • • • • • • Cột thứ I : thuộc tính file Cột thứ II : số liên kết cứng với Inode file Cột thứ III : ghi tên người dùng sở hữu file Cột thứ IV : ghi tên nhóm sở hữu file Cột thứ V : ghi kích thước file Cột thứ VI, VII : ghi thời điểm tạo file Cột thứ VIII: ghi tên file 17 Thuộc tính file • Xét cột thứ có 10 ký tự: – Ký tự thứ nhất: xác định kiểu file – ký tự kế tiếp: xác định quyền đọc, ghi, thực thi người sở hữu,nhóm sở hữu người dùng cịn lại Thuộc tính file Inode • Inode có trường gọi permission (mod bits) để xác định quyền làm việc với file • Giá trị mode bit xác định quyền thiết lập Ví dụ Access mode bits Giá trị thuộc tính UID, GID • File tạo Process mà User thực • Process lưu trữ thông tin: – User (UID, EUID) – Group (GID, EGID) • Gán UID: File’s UID = Process’s EUID • Gán GID: – File’s GID = Process’s EGID – File’s GID = Folder’s GID Thay đổi quyền truy nhập Thay đổi người/nhóm sở hữu • Thực root người sở hữu • Thay đổi người sở hữu: chown user_name file_name • Thay đổi nhóm sở hữu: chgrp group_name file_name • • • • u – user g – group o – others a – all • + :thêm quyền • r : read • - : bớt quyền • w : write • = : gán giá trị • x : execute 18 Quyền truy cập tệp tin & thư mục • Đối với tệp tin: – Quyền đọc (r - read): tức người dùng đọc nội dung file – Quyền ghi (w – write): tức người dùng ghi nội dung vào file – Quyền thực thi (x – execute): Nếu file file thực thi (chạy) người dùng chạy file Quyền truy nhập mở rộng • Unix/Linux hỗ trợ quyền làm việc mở rộng cho file thư mục sau: – Sticky bit – Set UID – SUID – Set GID – SGID Quyền truy cập tệp tin & thư mục • Đối với thư mục: – Quyền đọc (r - read): tức người dùng liệt kê danh sách tên file thông qua lệnh ls – Quyền ghi (w – write): tức người dùng tạo xóa file thư mục – Quyền thực thi (x – execute):Cho phép người dùng nhảy vào thư mục (lệnh cd) lấy nội dung chi tiết (lệnh ls –li ) – Quyền đọc thực thi khơng phụ thuộc vào Ỉ ví dụ tạo darkroom File’s Sticky bit • Sticky bit: xuất phát từ “stuck – mắt kẹt” – Sử dụng phiên Unix cũ – Khi RAM nhỏ Ỉ giữ lại code chương trình sau thực xong • Cách thay đổi quyền mở rộng: – chmod + t file_name : để đặt sticky_bit cho file – chmod u + s file_name: để đặt SUID cho file – chmod g + s file_name: để đặt SGID cho file File’s SUID • Set UID – SUID: – Chỉ thiết lập với file thực thi (quyền execute) – Theo nguyên tc: ã file cú owner ặ UID • user chạy file Ỉ process Ỉ UID user chạy chương trình • user ghi liệu vào file Ỉ UID user cho phép ghi Ỉ user’s UID = owner’s UID && owner quyền ghi Ỉ liệu ghi • Làm process’s UID := owner’s UID ??? File’s SUID (tiếp) • SUID giải vấn đề • Người dùng chạy file có quyền SUID, thời gian chạy, mang quyền người sở hữu file • Vd: chương trình sửa mật khẩu: passwd [khmt@localhost ~] ls -l /usr/bin/passwd -r-sr-sr x root root 15688 Jan 24 17:51 /usr/bin/passwd* 19 File’s SGID • Set GID – SGID: – Chỉ thiết lập với file thực thi (quyền execute) – Theo nguyên tắc: • file cú owner group ặ GID ã user thuộc group Ỉ chạy file Ỉ process Ỉ GID user chạy chương trình • user ghi liệu vào file Ỉ UID user cho phép ghi Ỉ user’s UID nằm group’s ID quyền ghi Ỉ liệu ghi • Làm process’s GID := group’s UID ??? Directory’s Sticky bit • Theo nguyên tắc: – Quyền xóa/tạo file thư mục phụ thuộc vào quyền ghi (w) thư mục – Có thể người dùng xóa file người dùng khác Ỉ bảo mật ? • Sticky bit giải vấn đề này: người dùng quyền xóa file File’s SGID (tiếp) • SGID giải vấn đề • Người dùng chạy file có quyền SGID, thời gian chạy, mang quyền người dùng nằm nhóm sở hữu file • Vd: chương trình sửa mật khẩu: passwd [khmt@localhost ~] ls -l /usr/bin/passwd -r-sr-sr x root root 15688 Jan 24 17:51 /usr/bin/passwd* Directory’s SUID, SGID • Directory’s SUID khơng có ý nghĩa • Directory’s SGID: – Theo nguyên tắc file tạo mang GID nhóm mà người dùng nằm (primary group) – Người dùng làm việc với nhóm khác Ỉ tạo file nhóm nhóm quản lý Ỉ SGID giải vấn đề Directory’s SGID • Xét tình ví dụ: – Người dùng khmt nằm nhóm: • Group khmt – primary group • Group cntt secondary group Graphical User Interface – Người dùng khmt chuyển sang làm việc với thư mục nhóm cntt sở hữu tạo file Ỉ chuyện xảy ??? 20 Nhu cầu GUI • Hiển thị hình ảnh trực quan, sinh động • Giúp người dùng tương tác với hệ thống tốt • Người dùng tự thiết kế giao diện làm việc phù hợp với X Window System • Hệ thống cửa sổ hiển thị đồ họa • Cung cấp cơng cụ đồ họa giúp người dùng xây dựng ứng dụng • Làm việc theo mơ hình Client/Server – X Client – X Server – X protocol X Window System Client & Server • Thế X client X server? • X Server chịu trách nhiệm: – Hiển thị hình ảnh hình – Chuyển thao tác người dùng hình thành thơng điệp gửi đến Client • X Client : – Là chương trình người dùng (X application) – Xử lý thao tác người dùng – Yêu cầu Server thực công việc hiển thị đồ họa Linux GUI components • Networking: – Client : Saturn – Server:Jupiter,Mercury • X Window System: – Server: Saturn – Client :Jupiter,Mercury 21 X Window • Chịu trách nhiệm làm việc trực tiếp với Hardware Ỉ X Window = Server: – Quản lý thuộc tính cửa sổ (window structure) – Quản lý bảng màu (Colormaps) – Quản lý bảng font – Quản lý phiên (Session manager) • Một số phiên X Window: X11, X.org, XFree86 Window manager • Window manager – Client Application • Hỗ trợ X Window System trong: – Quản lý Client Windows khác: • Sắp đặt vị trí • Thay đổi kích thước – Hỗ trợ người dùng thực thao tác: • Nhấn chuột lên biểu tượng (icon) • Kéo thả thành phần (drag & drop) Window manager Window manager (WM) • Xét ví dụ: chương trình người (client) dùng hiển thị file ảnh hình: – Client đọc file ảnh, xác định kích thước cửa sổ hiển thị Ỉ gửi u cầu đến Server để tạo cấu trúc cửa sổ tương ứng – Sau yêu cầu Server hiển thị cửa sổ ảnh (copy điểm ảnh lên vùng nhớ hình – display mapped-memory) – Server gửi yêu cầu đến WM để xác định vị trí hiển thị cửa sổ hình – Sau xác định xong, WM gửi yêu cầu Server hiển thị ảnh lên hình Window manager • Sự tách biệt WM X Server đem lại lợi ích sau: – Cho phép người dùng lựa chọn chương trìn WM khác phù hợp với – Làm cho Server đơn giản Server cần thực việc biên dịch yêu cầu từ X protocol mã lệnh phần cứng 22 Common Window Manager Desktop enviroment • Bổ trợ cho Window manager : – Cung cấp công cụ (toolkits) để thiết kế phần mềm đồ họa – Cung cấp tiện ích quản lý hệ thống cửa sổ đồ họa: • • • • K Desktop Enviroment • KDE = K Window manager (kwin) + Qt toolkit Xfce Desktop Enviroment Web browsers, File manager, Drawing programs, Control Panel, GNU Object Model Enviroment • GNOME = Metacity Window Manager + GTK Cấu hình X Window System • X Window yêu cầu thông tin sau Video card: – Video adapter card model – RAM on video card – Chipset on video card • Yêu cầu thông tin Monitor: – Maximum resolution – Horizontal sync (hsync) range – Vertical sync (vsync) range 23 Cấu hình X Window mouseconfig • Thơng tin cấu hình X Window lưu trữ ở: – X.org: /etc/X11/xorg.conf – XFree86: /etc/X11/XF86Config • Sử dụng chương trình cấu hình: – mouseconfig system-config-mouse – system-config-keyboard – system-config-display – xvidtune System-config-keyboard System-config-display xvidtune Common Xwindow configuration utilities 24 Common Xwindow configuration utilities Cấu hình X Window System • Khi cần đặt lại cấu hình cho X Window System: – Không hiển thị đồ họa – Window,Icon, text biến dạng – Muốn chỉnh sửa độ phân giải bảng màu • Cách thực hiện: – Xác định phiên X server – Chỉnh sửa nội dung file cấu hình X server Một số thao tác chỉnh sửa • Xác định phiên X server cách gõ man Xorg man XFree86 Phiên cài đặt có thơng tin tra cứu lệnh man • Một số tổ hợp phím: – – – – Kết thúc X server: [Ctrl+Alt+Backspace] [Ctrl+Alt+Fx] x := : Text Console [Ctrl+Alt+Fy] y := 11 : GUI Console Thường GUI [Ctrl+Alt+F7] chạy Runlevel • Dịng lệnh file /etc/inittab xác định runlevel hệ thống: id:5:initdefault: • Để xác định hệ thống làm việc runlevel dùng lệnh: runlevel • Để chuyển đổi runlevel dùng cú pháp: init n với n := 0,1, ,6 • Vd: chạy runlevel 3, muốn chuyển sang X system ta làm sau: – gõ cửa sổ lệnh: init – Hoặc : startx & Runlevel • Sau boot, init process tìm file chạy mặc định : /etc/inittab để thực • Có mức chạy Linux sau: - halt (Do NOT set initdefault to this) - Single user mode - Multiuser, without NFS - Full multiuser mode - unused - X11 - reboot (Do NOT set initdefault to this) Tạo file cấu hình • Giả sử hệ thống chạy X system bị lỗi, ta khắc phục sau: – Nhấn [Ctrl+Alt+BackSpace] để tắt X System – Chạy chế độ dòng lệnh, gõ: init – Thiết lập cấu hình hardware cách gõ: Xorg –configure Ỉ kết tạo file cấu hình: /root/xorg.conf.new – Kiểm tra cấu hình vửa thiết lập bằng: X -xf86config /root/xorg.conf.new 25 Tạo file cấu hình • Nếu file cấu hình thiết lập thành cơng Ỉ hình X Window xuất • Tắt X Window : [ Ctrl+Alt+BackSpace] • Copy file cấu hình vừa thiết lập vào file cấu hình cho người dùng: cp /root/xorg.conf.new /etc/X11/xorg.conf • Kiểm tra lại kết quả: reboot hệ thống X config file structure Chỉnh sửa nội dung file cấu hình • Đọc nội dung file cấu hình X Window System hệ thống – /etc/X11/xorg.conf – /etc/X11/XF86config • Nếu khơng driver card hình: – Section “Device” :BoardName: Vesa (generic) – Section “Screen”: • Depth : – 16 màu; – 256 màu • Modes: “640x480” /etc/X11/XF86Config • File section : Xác định vị trí bảng màu RGB font • Input Device section: xác định thơng số chuột, bàn phím • Monitor section: Xác định kiểu hình • Screen section: Xác định thông số độ phân giải, tần số, • Device section: Xác định thơng tin video card /etc/X11/XF86Config /etc/X11/XF86Config 26 /etc/X11/xorg.conf /etc/X11/xorg.conf Thank you! 27 ... of=/tmp/disk-image count =20 480 20 480+0 records in 20 480+0 records out $ ls -l /tmp/disk-image -rw-rw root root 10485760 Jan 01:56 /tmp/disk-image • Bước Tạo file system cho đĩa ảo $ mke2fs -q /tmp/disk-image... -t x1 /dev/random (in dạng hexadecimal) 0000000 2c 9c 7a db 2e 79 3d 65 36 c2 e3 1b 52 75 1e 1a 0000 020 d3 6d 1e a7 91 05 2d 4d c3 a6 de 54 29 f4 46 04 0000040 b3 b0 8d 94 21 57 f3 90 61 dd 26 ... /tmp/virtual-fs Các bước thực • Bước Làm việc với virtual file system: $ cd /tmp/virtual-fs $ echo 'Hello, world!' > test.txt $ ls -l total 13 drwxr-xr-x root root 122 88 Mar 02: 00 lost+found -rw-rw

Ngày đăng: 08/05/2021, 17:02

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN