---o0o---Mục lụcChương I : Giới thiệu Ubuntu là một hệ điều hành máy tính dựa trên Debian GNU/Linux, một bảnphân phối Linux thông dụng Ubuntu đã được đánh xếp hạng là bản phân phối Linux
Trang 1BÁO CÁO BÀI TẬP LỚNMÔN: Mã Nguồn Mở
<Đề tài: Tạo người dung quản trị người dung trong ubuntu>
VIỆN ĐẠI HỌC MỞ HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN
Trang 2
-o0o -Mục lục
Chương I : Giới thiệu
Ubuntu là một hệ điều hành máy tính dựa trên Debian GNU/Linux, một bảnphân phối Linux thông dụng
Ubuntu đã được đánh xếp hạng là bản phân phối Linux thông dụng nhất chomáy tính để bàn, chiếm khoảng 30% số bản Linux được cài đặt trên máy tính đểbàn năm 2007
Ubuntu là phần mềm mã nguồn mở tự do, có nghĩa là người dùng được tự dochạy, sao chép, phân phối, nghiên cứu, thay đổi và cải tiến phần mềm theo điềukhoản của giấy phép GNU GPL Ubuntu được tài trợ bởi Canonical Ltd (chủ sởhữu là một người Nam Phi Mark Shuttleworth) Thay vì bán Ubuntu, Canonical tạo
ra doanh thu bằng cách bán hỗ trợ kĩ thuật Bằng việc để cho Ubuntu tự do và mở
mã nguồn, Canonical có thể tận dụng tài năng của những nhà phát triển ở bênngoài trong các thành phần cấu tạo của Ubuntu mà không cần phải tự mình pháttriển
Trang 3Windows của Microsoft nền công nghệ thông tin ở VN đang bị lệ thuộc vàoMicrosoft rất nhiều, chính phủ và người dân phải bỏ ra một khoản tiền khá lớn đểmua bản quyền, nhất là Windows.
Hệ điều hành này được xây dựng dựa trên Linux, nó khá phổ biến trên thếgiới, và cũng đã bắt đầu xuất hiện ở VN
Cần phải nói thêm là HĐH này, cũng như các HĐH gốc Linux khác, rất ítkhi (nếu ko phải không bao giờ) bị treo máy bởi tính ổn định "thần thánh" của nhânLinux HĐH này hoàn toàn miễn phí, bạn được sao chép, chỉnh sửa, cho, tặng mộtcách hợp pháp, trừ việc bán lại
Sau đây, nhóm chúng em xin được giới thiệu về cách theo dõi thông tin ngườidùng, quản lý tài khoản người dùng và phân quyền tài khoản người dùng truy nhậpcác tài nguyên hệ thống trong hệ điều hành Linux Ubuntu
Trang 4Chương II : Quản Trị Trong Ubuntu
I Các tài khoản trong Ubuntu :
Trong quá trình cài đặt một hệ thống Linux, một số tài khoản người dùng đặcbiệt sẽ tự động được tạo ra Các tài khoản người dùng này được sử dụng với một sốchức năng đặc biệt trên hệ thống
Có 3 tài khoản người dùng đặc biệt : root, nobody và bin
1.Tài khoản root:
Tài khoản root còn được gọi là tài khoản siêu người dùng (super user), là tàikhoản có quyền cao nhất trên hệ thống Linux Người dùng sử dụng tài khoản root
để thực hiện một số công việc quản trị hệ thống bao gồm : thêm các tài khoảnngười dùng mới, thay đổi mật khẩu của người dùng, xem các file log của hệ thống,cài đặt phần mềm, gỡ bỏ phần mềm, thay đổi quyền của file trên hệ thống …
Trang 5tài khoản root để thực hiện một số công việc quản trị, hệ thống luôn có cảnh báocác thao tác mà người dùng đang thực hiện để tránh trường hợp người dùng làm saiảnh hưởng đến hệ thống.
Mặc định, mật khẩu của tài khoản root bị khóa trong Ubuntu Điều này có nghĩa
là bạn không thể đăng nhập trực tiếp với tài khoản root hoặc sử dụng lệnh su để trởthành người dùng root Nhưng bạn vẫn có thể chạy các chương trình với đặc quyềncủa root với sudo, nó cho phép người dùng chạy chương trình nào đó với quyềnroot mà không phải biết mật khẩu của root
Những lợi ích không cho đăng nhập trực tiếp với tài khoản root:
Tránh xa quyền “Tôi có thể làm mọi thứ” khi đăng nhập, bạn sẽ được nhắckhi làm bất kỳ điều gì thay đổi đến hệ thống
Sudo thêm một lịch sử các lệnh đã chạy trong /var/log/auth.log Nếu bạn gặpvấn để, bạn luôn luôn có thể quay lại và xem những lệnh nào đã được thực hiện
Nó cũng tốt để quản lý, kiểm tra
Mật khẩu tài khoản root bị khóa làm máy tính bạn an toàn hơn rất nhiều.Mọi cracker sẽ thử tấn công vào tài khoản root trước tiên, mật khẩu root bị khóađồng nghĩa với việc loại bỏ được 1 lần nguy hiểm
Đăng nhập với quyền root:
Bạn có thể sử dụng sudo hoặc gksudo để thực thi với đặc quyền của root,nhưng nếu bạn vẫn muốn đăng nhập với người dùng root thì có thể dùnglệnh:
Mã: sudo –i
Trang 62 Tài khoản nobody:
Tài khoản người dùng nobody được sử dụng để chạy các dịch vụ trên hệ thống Tài khoản này không có thư mục home hoặc môi trường làm việc shell Nếutài khoản này bị lỗi, các dịch vụ đang chạy sử dụng tài khoản này sẽ bị ảnh hưởng nhưng hệ thống vẫn được bảo mật
3 Tài khoản bin:
Tài khoản bin được sử dụng trên hệ thống với thư mục home là /bin Tàikhoản này được sử dụng để bảo mật các file nhị phân cơ bản trên hệ thống Tàikhoản bin không có môi trường làm việc shell Tài khoản này được tạo mặc địnhtrong quá trình cài đặt hệ thống
Trang 7II.Thao tác trên Ubuntu :
1. Lưu trữ thông tin người dùng
Cơ sở dữ liệu cơ bản của người dùng được lưu trữ trong file /etc/passwd File
này liệt kê tất cả các tên người dùng hợp lệ và các thông tin liên quan của mỗingười dùng trên hệ thống
Xem file này ta dùng lệnh:
sudo cat /etc/passwd.
Trang 8Mỗi một người dùng trên hệ thống được miêu tả bằng 1 dòng trong file
/etc/passwd và mỗi một dòng được chia thành 7 trường ngăn cách nhau bởi dấu ":"
root : x : 0 : 0 : root : /root: /bin/bash
Trong đó :
- Trường thứ 1: là tên người dùng Tên người dùng trên hệ thống Linux phân
biệt chữ hoa, chữ thường và thường được đặt tất cả là chữ thường Trong ví dụ tên người dùng là "root"
- Trường thứ 2: là mật khẩu của người dùng, trong ví dụ là chữ "x" Chữ "x"
cho biết mật khẩu đã được mã hóa và được đặt trong file khác (/etc/shadow)
- Trường thứ 3: là số user id của người dùng Trong ví dụ user id của người
dùng root là "0"
Một số UID đặc biệt:
Trang 9• UID = 1 – 99: được gán riêng cho các tài khoản dịch vụ.
- Trường thứ 4: là số group id của nhóm người dùng Thông thường số group
id sẽ giống số user id của người dùng Trong ví dụ group id của root là "0"
- Trường thứ 5: là tên đầy đủ hoặc các miêu tả khác của tài khoản người
dùng Trong ví dụ tài khoản root cũng có tên đầy đủ là "root"
-Trường thứ 6: là thư mục home của người dùng Thông thường thư mục
home của người dùng trên hệ thống là /home/[tên người dùng] Trong ví dụ thưmục home của root là "/root"
-Trường thứ 7: là shell đăng nhập mặc định của người dùng Mỗi người
dùng có một shell đăng nhập (chương trình để chạy mỗi khi đăng nhập vào hệthống) Trong ví dụ shell của root là /bin/bash (bash shell)
Các hệ thống Linux không đặt mặt khẩu của mỗi người dùng trong file/etc/passwd mà xây dựng một file khác để lưu trữ mật khẩu riêng Đó làfile /etc/shadow
Chỉ có người dùng root mới có quyền xem file /etc/shadow File này lưu trữ mậtkhẩu đã được mã hóa của tất cả người dùng trên hệ thống File /etc/shadow chứamột số tài khoản người dùng và các tài khoản của các dịch vụ trên hệ thống Cáctài khoản dịch vụ này được cài đặt mặc định cho phép các dịch vụ khác nhau thựchiện đúng các chức năng của nó
Trang 10Để đọc file /etc/shadow,ta sử dụng lệnh:
sudo cat /etc/shadow.
Giống như file /etc/passwd, mỗi trường trong file /etc/shadow được ngăn cáchbằng dấu “:”
nobody : * : 15093 : 0 : 99999 : 7 : : :
- Trường thứ 1 : tên người dùng được đặt tối đa là 8 ký tự, được dùng các ký
tự viết hoa nhưng thông thường tên người dùng được đặt bằng các ký tự viếtthường Tên người dùng trong file này khớp với tên người dùng trong file/etc/passwd Trong ví dụ trường thứ nhất là “nobody”
Trang 11- Trường thứ 2 : mật khẩu của người dùng, mật khẩu này đã được mã hóa sử
dụng thuật toán MD5 và các thuật toán khác
Nếu thông tin trong trường thứ 2 là ký tự “!” : tài khoản người dùng chưa được đặtmật khẩu, hặc tạm thời bị khóa
Nếu thông tin trong trường thứ 2 là ký tự * : tài khoản người dùng đã bị vôhiệu hóa trên hệ thống
- Trường thứ 3 : số lượng ngày kể từ khi mật khẩu được thay đổi lần cuối
cùng (lần thay đổi mật khẩu cuối cùng được tính từ ngày 1-01-1970) Trong ví dụ
trường thứ 3 bằng “15093” ngày
- Trường thứ 4 : số lượng ngày tối thiểu được yêu cầu giữa các lần thay đổi
mật khẩu (số lượng ngày còn lại trước khi người dùng được phép thay đổi mậtkhẩu) Trong ví dụ trường thứ 4 bằng “0” có nghĩa người dùng được phép thay đổimật khẩu bất kỳ lúc nào
- Trường thứ 5 : số lượng ngày tối đa mà mật khẩu còn giá trị (sau khi người
dùng bị bắt buộc thay đổi mật khẩu) Trong ví dụ trường thứ 5 bằng “99999” ngày cho biết người dùng có thể sử dụng mật khẩu của họ mà không phải thay đổi trong rất nhiều năm
- Trường thứ 6 : số lượng ngày trước khi mật khẩu bị hết hạn sử dụng mà
người dùng sẽ được cảnh báo để phải thay đổi mật khẩu Trong ví dụ trường thứ 6bằng “7”
Trang 12- Trường thứ 7 : số lượng ngày mà tài khoản người dùng bị vô hiệu hóa sau
Để đọc file ta sử dụng lệnh:
cat /etc/group
Trang 13Mỗi trường trong file /etc/shadow được ngăn cách bằng dấu “:”.
- Trường thứ 1: là tên nhóm người dùng.
- Trường thứ 2: là mật khẩu của nhóm người dùng Mật khẩu này được mà hóa và
lưu trong file /etc/gshadow
- Trương thứ 3: là số hiệu cúa nhóm (Group ID).
- Trường thứ 4: là các thành viên thuộc nhóm, mỗi thành viên được ngăn cách với
nhau bởi dấu “,”
2 Tạo tài khoản người dùng
Để tạo một tài khoản người dùng chúng ta có 2 cách, đó là tạo tài khoảnngười dùng ở chế độ đồ họa hoặc ở chế độ dòng lệnh Phiên bản sử dụng để môphỏng là Linux Ubuntu 10.04 với giao diện đồ họa GNOME
a. Chế độ đồ họa
Trang 14Tại màn hình Desktop, bấm vào System > Administration > Users and Groups Hộp thoại Users Settings sẽ xuất hiện.
Hình 4 Bấm vào nút Add để tạo mới một tài khoản người dùng Hộp thoại Authenticate xuất hiện yêu cầu xác thực
Bạn nhập mật khẩu tài khoản bạn hiện đang đăng nhập vào trường
Password, sau đó bấm Authenticate Hộp thoại Create New User hiện ra.
Trang 15
Hình 5 Tại trường Name, nhập tên người dùng và tại trường Short Name sẽ hiện
tên tương ứng với trường Name Bạn cũng có thể chỉnh sửa trường Short
Name theo ý muốn Xong, bạn bấm OK Hộp thoại Change User Password
hiện ra
Trang 16Hình 6 Chọn Set password by hand và thực hiện nhập mật khẩu 2 lần cho người dùng này Chọn Generate random password và bấm Generate để tự động tạo ngẫu nhiên một mật khẩu cho tài khoản Nếu bạn tích chọn Don't ask for password on login thì khi hệ điều hành sẽ tự động ghi nhớ password cho tài
khoản này Do đó, khi đăng nhập với tài khoản này bạn không cần nhập mật
khẩu Xong, bấm OK Đến đây bạn đã có một tài khoản người dùng.
Trang 17b Chế độ dòng lệnh
Để mở giao diện dòng lệnh, tại giao diện Desktop bấm Applications > Accessories
> Terminal hoặc dùng nhấn tổ hợp phím Ctrl+Alt+T
Để tạo một tài khoản người dùng, ta sử dụng cú pháp sau:
sudo useradd [tham số] <tên người dùng>
Lệnh useradd sẽ tự động tạo các file của người dùng trên hệ thống, User ID, tạo
thư mục home của người dùng mặc định là /home/[tên người dùng] và shell mặc định là /bin/sh một số thông tin cấu hình khác phụ thuộc vào các tham số sử dụng.
Khi một tài khoản người dùng mới được tạo ra, một tài khoản nhóm người dùngcùng tên với người dùng cũng sẽ tự động được tạo ra trên hệ thống
Trang 18Một số tham số đơn giản với lệnh useradd:
-b, base-dir: dùng tham số này để sử dụng các giá trị mặc định cho tài
khoản Nếu các tham số -D, -m không được sử dụng thì nhất thiết phải sử dụngtham số -b
-c, comment: tên đầy đủ hoặc các miêu tả khác của tài khoản sắp tạo.
-d, home: chỉ định thư mục home của người dùng.
-D, defaults: Các giá trị mặc định Lưu lại các giá trị sẽ được thay đổi khác
với mặc định
-d, home: Nếu các tham số khác không được sử dụng, tham số d sẽ mặc
định /home/[tên người dùng] là thư mục người dùng mới.
-e, expiredate: Ngày mà tài khoản sắp tạo sẽ bị vô hiệu hóa Cấu trúc là
YYYY-MM-DD
-f, inactive : Số ngày sau khi mật khẩu tài khoản hết hạn cho đến khi tài
khoản bị vô hiệu hóa vĩnh viễn Giá trị 0 sẽ vô hiệu hóa tài khoản ngay khi mậtkhẩu tài khoản hết hạn, giá trị mặc định -1 chỉ vo hiệu hóa tính năng
Trang 19-m, create-home: tạo ra thư mục home của người dùng.
-M: không tạo thư mục home cho tài khoản.
-N, no-user-group: Không tự động tạo tài khoản nhóm người dùng cùng
tên với người dùng
-p, password: Mã hóa tài khoản sắp tạo bằng password.
-s, shell: sh mà người sử dụng sẽ đăng nhập, mặc định là bin/sh.
-u, uid: Trị số này phải là duy nhất, lớn hơn 999 và lớn hơn mọi người
dùng khác Trong ubuntu 1000 là tài khoản của người cài đặt ubuntu Vậy nên nếubạn tạo thêm tài khoản mới thì UID của tài khoản mới phải lớn hơn 1000
-U, user-group: Tự động tạo một tài khoản nhóm người dùng trùng tên với
người dùng
Ví dụ: Tạo một người dùng có tên là sample6 có tên đầy đủ là vidu6 thư mục home
là vidu6 và sử dụng shell bash, ngày hết hạn là 2/9/2013, thuộc nhóm users vàsambashare
Nếu khi tạo tài khoản bạn quên đặt mật khẩu cho tài khoản thì tài khoản sẽ tạmthời bị khóa
Vì vậy, bạn phải đặt mật khẩu cho tài khoản mới, sử dụng lệnh:
sudo passwd <tên tài khoản>
Trang 20Ngoài ra, có thể dùng câu lệnh trên để thay đổi mật khẩu một tài khoản đã được tạotrước đó.
Kiểm tra lại file /etc/shadow:
Ngoài ra ta có thể sử dụng câu lệnh adduser
Sử dụng adduser sẽ đơn giản hơn useradd vì hệ thống không yêu cầu người tạophải thêm vào các tham số Hơn nữa, nó sẽ hiển thị các tuỳ chọn thông tin cá nhân
để người tạo có thể nhập Tuy nhiên, các tham số như group, group id, uid, homedirectory… sẽ được hệ thống tạo mặc định
Trang 21Nhập vào tên mới cho tài khoản, sau đó nhấn OK.
Để thay đổi mật khẩu cho tài khoản, trong hộp thoại Users Settings
chọn một tài khoản người dùng trong danh sách bên trái và nhấp chọnChange nằm ngang với trường Password
Hộp thoại Change User Password hiện ra (Hình 6).
Chọn Set password by hand và thực hiện nhập mật khẩu 2 lần cho người dùng này Chọn Generate random password và bấm Generate để tự động tạo ngẫu nhiên một mật khẩu cho tài khoản Nếu bạn tích chọn Don't ask for password on login thì khi hệ điều hành sẽ tự động ghi nhớ password cho tài
khoản này Do đó, khi đăng nhập với tài khoản này bạn không cần nhập mật
khẩu Xong, bấm OK Đến đây bạn đã có một tài khoản người dùng
Để thay đổi các thông tin mô tả người dùng, trong hộp thoại Users Settings chọn một tài khoản người dùng trong danh sách bên trái và nhấp
chọn Advanced Settings Hộp thoại Change Advanced User Settings hiện ra
Trang 22Bạn có thể thay đổi các thông tin trong thẻ Contact Information theo ý muốn Sau khi thay đổi xong nhấn OK để lưu lại thay đổi.
b.Chế độ dòng lệnh
Để sưả đổi tên đăng nhập cho một tài khoản người dùng, ta sử dụng lệnh usermod với cú pháp:
Trang 23Thông tin người dùng sample1 trước khi sửa đổi:
Thông tin người dùng sample1 sau khi sửa đổi:
4 Sửa mật khẩu
Để sửa mật khẩu cho một tài khoản người dùng, ta sử dụng lệnh passwd với
cú pháp:
sudo passwd <tên tài khoản>
Sau khi gõ lệnh và nhấn Enter, sẽ có thông báo nhập mật khẩu mới cho tài khoản.Sau khi nhập 2 lần mật khẩu, nếu 2 lần nhập trùng nhau sẽ có thông báo cập nhậtthành công “ password update successfully”
5 Thêm hoặc sửa các thông tin mô tả người dùng
Để thêm hay sửa đổi các thông tin mô tả người dùng, ta sử dụng lệnh chfn
với cú pháp sau:
sudo chfn <tham số> <tên người dùng>
Các tham số của lệnh chfn gồm:
-f : tên đầy đủ của người dùng.
-r : số nhà hay địa chỉ nơi làm việc.
-w: số điện thoại nơi làm việc.
-h: số điện thoại nhà.