Tải bản đầy đủ (.docx) (41 trang)

Tạo người dung quản trị người dung trong ubuntu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (900.73 KB, 41 trang )

VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
------o0o------

BÁO CÁO BÀI TẬP LỚN
MÔN: Mã Nguồn Mở

<Đề tài: Tạo người dung quản trị người dung trong ubuntu>

Hà 1Nội


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ản
phâ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 cho
má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ự do
chạ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ều
khoả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ên
ngoà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át
triển.
Hiện giờ trên thế giới đang có xu hướng chuyển sang sử dụng các phần mềm
mã nguồn mở miễn phí như Linux. Còn ở VN thì đa số người quá quen với
2




Windows của Microsoft nền công nghệ thông tin ở VN đang bị lệ thuộc vào
Microsoft 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 ít
khi (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ân
Linux. 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ột
cá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ười
dù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ập
các tài nguyên hệ thống trong hệ điều hành Linux Ubuntu.

3


Chươ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 đặc
biệ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ài
khoả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ản
ngườ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 …
Khi sử dụng tài khoản root, người dùng phải rất cẩn thận vì mọi thao tác sẽ
ảnh hưởng trực tiếp đến hệ thống. Tuy nhiên trong quá trình người dùng sử dụng
4


tà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áo
cá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ền
của root với sudo, nó cho phép người dùng chạy chương trình nào đó với quyền
root 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ắc



khi 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ặp



vấ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ùng
lệnh:
Mã:

sudo –i

5


2. 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ếu
tà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ài
khoả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ài
khoả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 định
trong quá trình cài đặt hệ thống.

6



II.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ỗi
người dùng trên hệ thống.
Xem file này ta dùng lệnh:

sudo cat /etc/passwd.

7


Mỗ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:



UID = 0: được gán cho tài khoản Root.



UID = 65534: được gán cho tài khoản Nobody.
8




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ật
khẩu đã được mã hóa của tất cả người dùng trên hệ thống. File /etc/shadow chứa
mộ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ác
tà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ực
hiện đúng các chức năng của nó.


9


Để đọ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ách
bằ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ết
thườ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”.

10


- 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 đặt
mậ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ật

khẩu). Trong ví dụ trường thứ 4 bằng “0” có nghĩa người dùng được phép thay đổi
mậ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ứ 6
bằng “7”.
11


- 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
khi mật khẩu hết hạn sử dụng.
- Trường thứ 8 : số lượng ngày mà tài khoản người dùng bị vô hiệu hóa kể từ
ngày 1-01-1970.

Thông tin của nhóm người dùng được lưu trữ trong file /etc/group. Mỗi
nhóm người dùng, mật khẩu, số hiệu nhóm (Group ID) và các thành viên của nhóm
được lưu trữ trong file này.
Để đọc file ta sử dụng lệnh:

cat /etc/group

12


Mỗ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ản
ngườ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

13


Tạ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.

14


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.

15


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.

16


b. 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ùng
cùng tên với người dùng cũng sẽ tự động được tạo ra trên hệ thống.


17


Mộ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ụng
tham 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ật
khẩ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.
-G, --groups: Nhóm. Một danh sách các nhóm mà bạn biết sẽ được bổ sung
sau tham số này, các nhóm cách nhau chỉ bởi dấu “,”
18


-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ếu
bạ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ạm
thờ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>

19


Ngoà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ạo
trướ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ạo
phả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, home
directory… sẽ được hệ thống tạo mặc định.

Adduser <ten_tai_khoan>
3.

a.

Sửa tài khoản người dùng
Chế độ đồ họa:

Tạ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).
Để thay đổi tên tài khoản người dùng, 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 Change nằm ngang với tên tài khoản. Hộp thoại Change
User Name and Login hiện ra.

20


Nhậ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ọn
Change 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

21



Bạ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:
sudo usermod -l <tên mới> <tên người dùng>

22


Thô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ật
thà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à.
23


-o: các thông tin khác.
Ví dụ: Sửa thông tin mô tả cho người dùng sample5 với các tham số sau: tên đầy
đủ là sample5, số nhà 1245, số điện thoại làm việc 067294859, số điện thoại nhà
0907463524, trường Hanoi Open University.

Kiểm tra thông tin tài khoản sample5 trong file /etc/passwd.

6.Xóa tài khoản người dùng
Để xóa một tài khoản người dùng, ta sử dụng lệnh userdel với cú pháp:
sudo userdel [tham số] <tên người dùng>
Các tham số của lệnh userdel :
-r: xóa tài khoản người dùng cùng thư mục home của người dùng và toàn bộ
những file liên quan.
-f: xóa tài khoản người dùng ngay cả khi đang đăng nhập bằng tài khoản đó, đồng
thời xóa cả thư mục home của người dùng và toàn bộ những file liên quan. Và nó
cũng xóa cả những nhóm người dùng có cùng tên với tài khoản người dùng.
Ví dụ: Xóa người dùng có tên đăng nhập là sample7.

Trước khi xóa:

Sau khi xóa:
24



25


×