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.. Người dùng sử dụng tàikhoản root để thực hiện một số công việc quản trị hệ thống bao gồm : thêmcác
Trang 1VIỆN ĐẠI HỌC MỞ HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN
HÀ NỘI - 7/2013
Trang 2GIỚI THIỆU 2
THÔNG TIN NGƯỜI DÙNG 4
1 Giới thiệu về người dùng 4
2 Tài khoản người dùng đặc biệt 5
3 Lưu giữ thông tin người dùng 8
QUẢN TRỊ NGƯỜI DÙNG 13
1 Tạo tài khoản người dùng 13
2 Sửa tài khoản người dùng 20
3 Xóa tài khoản người dùng 24
4 Phân quyền cho người dùng 26
5 Phân quyền truy nhập file/ folder 31
TÀI LIỆU THAM KHẢO 37
CÂU HỎI TRẮC NGHIỆM 38
Trang 3Ubuntu 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ềmtheo điều khoản của giấy phép GNU GPL Ubuntu được tài trợ bởi CanonicalLtd (chủ sở hữu là một người Nam Phi Mark Shuttleworth) Thay vì bánUbuntu, 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ủanhữ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ầnmềm mã nguồn mở miễn phí như Linux Còn ở VN thì đa số người quá quenvới Windows của Microsoft Mình thấy 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ộtkhoản tiền khá lớn để mua bản quyền, nhất là Windows
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
Khi sử dụng mã nguồn mở hay bất kỳ hệ điều hành đa nhiệm nào nhưUbuntu – Linux thì việc tạo và quản lý, phân quyền truy cập để bảo đảm tiện
Trang 4ích, an toàn và bảo mật dữ liệu là rất quan trọng, vì vậy nhóm 1 lớp 10B1 xintrình bày về cách tạo người dùng, tài khoản người dùng và phân quyền trongUbuntu-Linux
Trang 5THÔNG TIN NGƯỜI DÙNG
1 Giới thiệu về người dùng
Ubuntu là hệ điều hành đa người dùng, nghĩa là nhiều người có thể truycập và sử dụng một máy tính cài Ubuntu Mỗi người muốn sử dụng được máy
tính cài Ubuntu thì phải có một tài khoản (account) đã được đăng ký Một tài khoản người dùng gồm có tên người dùng (username) và mật khẩu (password) Hai tài khoản khác nhau sẽ có tên người dùng khác nhau (nhưng
mật khẩu thì có thể trùng nhau) Để có thể bắt đầu thao tác và sử dụng, người
dùng phải thực hiện thao tác đăng nhập (login) Quá trình này tóm gọn lại là
hai thao tác nhập vào tên tài khoản và mật khẩu
Có hai loại người dùng: siêu người dùng (super user) và người dùng thông thường (regular user).
Để tạo một người dùng mới, thay đổi thuộc tính của một người dùngcũng như xóa bỏ một người dùng chỉ khi có quyền của một siêu người dùng(Super User) Mỗi người dùng còn có một định danh riêng gọi là UID Tàikhoản người dùng được tạo đầu tiên sẽ có UID là 1000
2 Tài khoản người dùng đặc biệt
Trong quá trình cài đặt Ubuntu, 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
Ở chế độ mặc định của Ubuntu tài khoản người dùng đầu tiên được khởitạo trong quá trình cài đặt cũng là tài khoản quản trị của hệ thống Nếu sửdụng tài khoản này thì người đăng nhập hoàn toàn có thể thực hiện được
Trang 6nhiều tác vụ qua lệnh sudo – Super User Do, tất cả các tài khoản khác trong
nhóm này đều đã được gán quyền quản trị cao nhất để quản lý hệ thống
2.a 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àikhoản root để thực hiện một số công việc quản trị hệ thống bao gồm : thêmcá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ácfile log của hệ thống, cài đặt phần mềm, gỡ bỏ phần mềm, thay đổi quyền củafile 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 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ợpngườ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ụnglệnh su để trở thành người dùng root Nhưng bạn vẫn có thể chạy các chươngtrình với đặc quyền của root với sudo, nó cho phép người dùng chạy chươngtrình nào đó với quyền root mà không phải biết mật khẩu của root
Bạn chỉ việc thêm “sudo” vào đầu tất cả các lệnh bạn sẽ chạy với quyền root trên cửa sổ Terminal Nên nhớ rằng, khi “sudo” yêu cầu nhập mật khẩu,
nó cần mật khẩu người dùng chứ không phải mật khẩu của tài khoản root
Những lợi ích không cho đăng nhập trực tiếp với tài khoản root:
Người dùng không cần phải nhớ mật khẩu root, cái mà họ rất hayquên
Trang 7 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ệnhnà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ơnrất nhiều Mọi cracker sẽ thử tấn công vào tài khoản root trước tiên, mậtkhẩu root bị khóa đồng nghĩa với việc loại bỏ được 1 lần nguy hiểm
Để trở thành người dùng khác, sử dụng lệnh:
sudo -i -u <tên người dùng>
Đă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:
sudo –i
Có 1 chú ý nhỏ về sự khác nhau giữa sudo và gksudo: Khi sử dụng câu
lệnh sudo, thì chúng ta sẽ thực thi một câu lệnh với quyền root nhưng với cácthiết đặt (configuration) là của user đang sử dụng Trong khi đó gksudo thìngược lại gksudo sẽ thực thi một câu lệnh với quyền root và với các thiết đặtcũng của root luôn Chính vì thế, khi dùng sudo cho các chương trình có giaodiện đồ họa nhiều lúc có thể dẫn tới lỗi
2.b Tài khoản nobody
Tài khoản nobody được sử dụng để chạy các dịch vụ trên hệ thống Tàikhoả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
Trang 8khoả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ị ảnhhưởng nhưng hệ thống vẫn được bảo mật
2.c 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ài khoản bin không có môi trường làm việc shell Tài khoản này được tạomặc định trong quá trình cài đặt hệ thống
3 Lưu giữ 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ủamỗi người dùng trên hệ thống Xem file này ta dùng lệnh:
sudo cat /etc/passwd
Hìn
h 1
Trang 9Mỗ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
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ố hiệu hay định danh của người dùng (UID – User
Identification) UID là một số nguyên dương duy nhất tương ứng với mỗi tài
khoản người dùng Hệ điều hành sẽ dựa vào UID để phân biệt và quản lýngười dung Trong ví dụ trên UID của người dùng root là "0"
- Trường thứ 4: là số hiệu hay định danh của nhóm người dùng (GID –Group Identification) Thông thường số GID sẽ giống số UID của ngườidùng Trong ví dụ GID 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ườidù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"
Trang 10-Trường thứ 7: là shell đăng nhập mặc định của người dùng Mỗi ngườidù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)
Mật khẩu đã được mã hóa của tất cả tài khoản người dùng và tài khoản
dịch vụ trên hệ thống được lưu trữ ở file /etc/shadow.Để đọc file /etc/shadow,
ta sử dụng lệnh: sudo cat /etc/shadow.
Trang 11Nếu thông tin trong trường thứ 2 là ký tự “!” : tài khoản người dùngchưa được đặt mật khẩu, hoặ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ốicù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 đổimật khẩu) Trong ví dụ trường thứ 4 bằng “0” có nghĩa người dùng được phépthay đổ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 khingườ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ôngphả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ườngthứ 6 bằng “7”
- Trường thứ 7 : số lượng ngày mà tài khoản người dùng bị vô hiệu hóasau 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 (GID) và các thành viên của nhómđược lưu trữ trong file này
Trang 12Để đọc file ta sử dụng lệnh: cat /etc/group.
Hì
nh 3
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 (GID)
- Trường thứ 4: là các thành viên thuộc nhóm, mỗi thành viên được ngăncách với nhau bởi dấu “,”
Trang 13QUẢN TRỊ NGƯỜI DÙNG
1 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
Trang 15Hình 7
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 Hoặc 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ậpvớ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
1.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
Trang 16Hình 8
Để 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, UID,
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àikhoả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 ratrên hệ thống
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àikhoả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
Trang 17-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 đổikhá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 khità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 khimậ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 “,”
-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ùngcù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ườidùng khác Trong ubuntu 1000 là tài khoản của người cài đặt ubuntu Vậy nênnế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ênvới người dùng
Trang 18Ví 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ộcnhóm users và sambashare.
Hình 9
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
Hình 10
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>
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 đó
Trang 19Sử dụng adduser sẽ đơn giản hơn useradd vì hệ thống không yêu cầungườ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ọnthông tin cá nhân để người tạo có thể nhập Tuy nhiên, các tham số nhưgroup, gid, uid, home directory… sẽ được hệ thống tạo mặc định.
Ví dụ: Tạo một tài khoản có tên là “vietanh”
Hình 13
Sau đó, hệ thống yêu cầu nhập mật khẩu cho tài khoản
Hình 14
Nhập mật khẩu xong, nếu thành công sẽ có thông báo “passwd:
password updated successfully” Tiếp đến, hệ thống yêu cầu nhập thông tin
mô tả về tài khoản: fullname, room number, home phone, work phone, other.Bạn có thể bỏ qua bước này bằng cách nhấn Enter
Trang 20Hình 15
Sau khi nhập xong, nếu thấy các thông tin nhập vào không có gì cầnchỉnh sửa thì nhấn “y” rồi nhấn Enter để hoàn thành quá trình tạo một tàikhoản người người dùng, ngược lại nếu cần chỉnh sửa lại thì nhấn “n” rồinhấn Enter để nhập lại từ đầu
Trang 21Hình 17
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 Changenằm ngang với trường Password
Hộp thoại Change User Password hiện ra (Hình 7).
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ậtkhẩ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.