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ì.
27 trang |
Chia sẻ: Mr Hưng | Lượt xem: 940 | Lượt tải: 0
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:
- sv_bai_2_098.pdf