Kiến trúc bên ngoài Unix/Linux

Cho phép chạy đồng thời và độc lập nhiều

ứng dụng của nhiều người dùng.

–Đồng thời (concurrently):

•Kích hoạt cùng một lúc.

• Cùng yêu cầu các tài nguyên hệthống:

CPU,RAM,HDD,.

–Độc lập (independently):

• Không quan tâm đến các ứng dụng của người

dùng khác đang làm gì.

pdf27 trang | Chia sẻ: Mr Hưng | Lượt xem: 846 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Kiến trúc bên ngoài Unix/Linux, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
i người/nhóm sở hữu • Thực hiện bởi root hoặc người sở hữu. • Thay đổi người sở hữu: • Thay đổi nhóm sở hữu: chown user_name file_name chgrp group_name file_name Thay đổi quyền truy nhập • u – user. • g – group. • o – others. • a – all • + :thêm quyền. • - : bớt quyền. • = : gán giá trị. • r : read. • w : write. • x : execute. 19 Quyền truy cập đối với tệp tin & thư mục • Đối với tệp tin: – Quyền đọc (r - read): tức người dùng có thể đọc nội dung của file. – Quyền ghi (w – write): tức là người dùng có thể ghi nội dung vào file. – Quyền thực thi (x – execute): Nếu file là file thực thi (chạy) thì người dùng có thể chạy file này. Quyền truy cập đối với tệp tin & thư mục • Đối với thư mục: – Quyền đọc (r - read): tức người dùng có thể liệt kê danh sách tên file thông qua lệnh ls. – Quyền ghi (w – write): tức là người dùng có thể tạo hoặc xóa file trong thư mục. – Quyền thực thi (x – execute):Cho phép người dùng nhảy vào trong thư mục (lệnh cd) và lấy nội dung chi tiết (lệnh ls –li ). – Quyền đọc và thực thi không phụ thuộc vào nhau Æ ví dụ tạo darkroom Quyền truy nhập mở rộng • Unix/Linux hỗ trợ 3 quyền làm việc mở rộng cho cả file và thư mục như sau: – Sticky bit. – Set UID – SUID. – Set GID – SGID. • 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 Sticky bit • Sticky bit: xuất phát từ “stuck – mắt kẹt” – Sử dụng trong các phiên bản Unix cũ. – Khi RAM nhỏÆ giữ lại code chương trình sau khi đã thực hiện xong. File’s SUID • Set UID – SUID: – Chỉ thiết lập với file thực thi (quyền execute). – Theo nguyên tắc: • 1 file có 1 owner Æ 1 UID. • 1 user chạy 1 file Æ 1 process Æ UID của user đang chạy chương trình. • 1 user ghi dữ liệu vào file Æ UID của user được cho phép ghi Æ nếu user’s UID = owner’s UID && owner được quyền ghi Æ dữ liệu sẽ được ghi. • Làm thế nào process’s UID := owner’s UID ??? File’s SUID (tiếp) • SUID giải quyết vấn đề này. • Người dùng khi chạy file có quyền SUID, trong thời gian chạy, sẽ mang quyền của 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 3 root root 15688 Jan 24 17:51 /usr/bin/passwd* 20 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: • 1 file có 1 owner group Æ 1 GID. • 1 user thuộc 1 group Æ chạy 1 file Æ 1 process Æ GID của user đang chạy chương trình. • 1 user ghi dữ liệu vào file Æ UID của user được cho phép ghi Æ nếu user’s UID nằm trong 1 group’s ID được quyền ghi Æ dữ liệu sẽ được ghi. • Làm thế nào process’s GID := group’s UID ??? File’s SGID (tiếp) • SGID giải quyết vấn đề này. • Người dùng khi chạy file có quyền SGID, trong thời gian chạy, sẽ mang quyền của người dùng nằm trong 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 3 root root 15688 Jan 24 17:51 /usr/bin/passwd* Directory’s Sticky bit • Theo nguyên tắc: – Quyền xóa/tạo file trong thư mục phụ thuộc vào quyền ghi (w) của thư mục. – Có thể người dùng này xóa file của người dùng khác Æ bảo mật ? • Sticky bit giải quyết vấn đề này: người dùng chỉ được quyền xóa file của mình. Directory’s SUID, SGID • Directory’s SUID không có ý nghĩa gì. • Directory’s SGID: – Theo nguyên tắc các file được tạo sẽ mang GID của nhóm mà người dùng đang nằm trong đấy (primary group). – Người dùng làm việc với các nhóm khác Æ tạo file trong nhóm nào thì do nhóm đấy quản lý Æ SGID giải quyết vấn đề này. Directory’s SGID • Xét tình huống ví dụ: – Người dùng khmt nằm trong 2 nhóm: • Group khmt – primary group. • Group cntt -- secondary group. – Người dùng khmt chuyển sang làm việc với thư mục do nhóm cntt sở hữu và tạo file trong đấy Æ chuyện gì xảy ra ??? 4. Graphical User Interface 21 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 hơn. • Người dùng có thể tự thiết kế giao diện làm việc phù hợp với mình. 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 của mình. • Làm việc theo mô hình Client/Server. – X Client. – X Server. – X protocol. X Window System • Thế nào là X client và X server? Client & Server • X Server chịu trách nhiệm: – Hiển thị hình ảnh trên màn hình. – Chuyển các thao tác người dùng trên màn hình thành các thông điệp gửi đến Client. • X Client : – Là chương trình người dùng (X application). – Xử lý các thao tác của người dùng. – Yêu cầu Server thực hiện các công việc hiển thị đồ họa. • Networking: – Client : Saturn – Server:Jupiter,Mercury • X Window System: – Server: Saturn – Client :Jupiter,Mercury Linux GUI components 22 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 bản X Window: X11, X.org, XFree86. Window manager • Window manager – Client Application. • Hỗ trợ X Window System trong: – Quản lý các Client Windows khác: • Sắp đặt vị trí. • Thay đổi kích thước. – Hỗ trợ người dùng thực hiện thao tác: • Nhấn chuột lên các biểu tượng (icon). • Kéo thả các thành phần (drag & drop). Window manager (WM) • Xét ví dụ: 1 chương trình người (client) dùng hiển thị các file ảnh trên màn hình: – 1. Client đọc file ảnh, xác định kích thước cửa sổ hiển thịÆ gửi yêu cầu đến Server để tạo cấu trúc cửa sổ tương ứng. – 2. Sau đó yêu cầu Server hiển thị cửa sổ ảnh (copy các điểm ảnh lên vùng bộ nhớ màn hình – display mapped-memory). – 3. Server gửi yêu cầu đến WM để xác định vị trí hiển thị cửa sổ trên màn hình. – 4. Sau khi xác định xong, WM gửi yêu cầu Server hiển thị ảnh lên màn hình. Window manager Window manager • Sự tách biệt giữa WM và X Server đem lại lợi ích như sau: – Cho phép người dùng lựa chọn các chương trìn WM khác nhau phù hợp với mình. – Làm cho Server đơn giản hơn. Server chỉ cần thực hiện việc biên dịch các yêu cầu từ X protocol về các mã lệnh phần cứng. 23 Common Window Manager Desktop enviroment • Bổ trợ cho Window manager : – Cung cấp bộ công cụ (toolkits) để thiết kế các phần mềm đồ họa. – Cung cấp các tiện ích quản lý hệ thống bằng cửa sổ đồ họa: • Web browsers, • File manager, • Drawing programs, • Control Panel,.. K Desktop Enviroment • KDE = K Window manager (kwin) + Qt toolkit GNU Object Model Enviroment • GNOME = Metacity Window Manager + GTK Xfce Desktop Enviroment Cấu hình X Window System • X Window yêu cầu các thông tin sau đối với Video card: – Video adapter card model. – RAM on video card. – Chipset on video card. • Yêu cầu thông tin đối với Monitor: – Maximum resolution. – Horizontal sync (hsync) range. – Vertical sync (vsync) range. 24 Cấu hình X Window • Thông tin cấu hình đối với X Window được lưu trữ ở: – X.org: /etc/X11/xorg.conf – XFree86: /etc/X11/XF86Config. • Sử dụng các chương trình cấu hình: – mouseconfig hoặc system-config-mouse. – system-config-keyboard. – system-config-display. – xvidtune. mouseconfig System-config-keyboard System-config-display xvidtune Common Xwindow configuration utilities 25 Common Xwindow configuration utilities Cấu hình X Window System • Khi nào 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 hoặc bảng màu. • Cách thực hiện: – Xác định phiên bả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 bản X server bằng cách gõ man Xorg và man XFree86. Phiên bản nào được cài đặt thì sẽ có thông tin trong tra cứu bằng lệnh man. • Một số tổ hợp phím: – Kết thúc X server: [Ctrl+Alt+Backspace] – [Ctrl+Alt+Fx] x := 1..6 : 6 Text Console . – [Ctrl+Alt+Fy] y := 7..11 : 5 GUI Console. – Thường thì GUI đầu tiên [Ctrl+Alt+F7] được chạy. Runlevel • Sau khi boot, init process sẽ tìm file chạy mặc định : /etc/inittab để thực hiện. • Có 6 mức chạy trong Linux như sau: 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) Runlevel • Dòng lệnh đầu tiên trong file /etc/inittab xác định runlevel của hệ thống: • Để xác định hệ thống đang làm việc ở runlevel nào dùng lệnh: runlevel. • Để chuyển đổi giữa các runlevel dùng cú pháp: init n với n := 0,1,..,6 • Vd: đang chạy ở runlevel 3, muốn chuyển sang X system ta làm như sau: – gõ trong cửa sổ lệnh: init 5 – Hoặc : startx & id:5:initdefault: Tạo file cấu hình mới • Giả sử hệ thống chạy X system bị lỗi, ta khắc phục như sau: – Nhấn [Ctrl+Alt+BackSpace] để tắt X System. – Chạy chế độ dòng lệnh, gõ: init 3. – Thiết lập cấu hình hardware mới bằng cách gõ: Xorg –configure. Æ kết quả sẽ tạo ra 1 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 26 Tạo file cấu hình mới • Nếu file cấu hình mới thiết lập thành công Æ màn hình X Window xuất hiện. • 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: • Kiểm tra lại kết quả: reboot hệ thống. cp /root/xorg.conf.new /etc/X11/xorg.conf Chỉnh sửa nội dung file cấu hình • Đọc nội dung các file cấu hình X Window System của hệ thống. – /etc/X11/xorg.conf. – /etc/X11/XF86config. • Nếu không đúng driver card màn hình: – Section “Device” :BoardName: Vesa (generic) – Section “Screen”: • Depth : 4 – 16 màu; 8 – 256 màu. • Modes: “640x480” X config file structure • File section : Xác định vị trí bảng màu RGB và font. • Input Device section: xác định thông số của chuột, bàn phím. • Monitor section: Xác định kiểu màn hình. • Screen section: Xác định thông số về độ phân giải, tần số,.. • Device section: Xác định thông tin về video card. /etc/X11/XF86Config /etc/X11/XF86Config /etc/X11/XF86Config 27 /etc/X11/xorg.conf /etc/X11/xorg.conf Thank you!

Các file đính kèm theo tài liệu này:

  • pdfsv_bai_2_098.pdf