Linuxusermanager

  • 28 trang
  • file .pdf
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BỘ MÔN MẠNG MÁY TÍNH & TRUYỀN THÔNG
Linux User Management
Trình bày: TS. NGÔ BÁ HÙNG
Email: [email protected]
Quản trị người dùng trên Linux
Quản trị người dùng
• Cấp tài khoản để người dùng có thể truy cập vào
Linux server
• Cấp quyền truy cập vào tài nguyên trên server
• Là một phần quan trọng trong vấn đế an toàn hệ
thống
• Nhất thiết phải sử dụng một chính sách an toàn và
hiệu quả
12-2012 https://sites.google.com/site/nbhung 2
Quản trị người dùng trên Linux
root
• Là tài khoản quản trị hệ thống mặc định của Linux
• có uid=0
• Mật khẩu xác lập đầu tiên lúc cài đặt hệ thống
• Có toàn quyền trên hệ thống Linux
• Dưới Ubuntu

Mặc định vô hiệu hóa (không xóa)

Được thay thế bằng công cụ sudo

Có thể kích hoạt lại nếu cấn thiết
12-2012 https://sites.google.com/site/nbhung 3
Quản trị người dùng trên Linux
Sudo
• Là công cụ cho phép tài khoản được gán quyền nâng
cấp lên quyền quản trị hệ thông một cách tạm thời
• Dựa trên mật khẩu của chính tài khoản người dùng
được cấp quyền
• Không phải là mật khẩu của tài khoản root
• Dùng bởi người dùng thuộc nhóm quản trị sudo (từ
12.04 về sau) và admin (trước 12.04)
• Lưu ý: Các lệnh phần sau đề phải có từ sudo
đứng trước
12-2012 https://sites.google.com/site/nbhung 4
Quản trị người dùng trên Linux
Thông tin về tài khoản
• Lệnh cho biết tên tài khoản hiện hành
– $whoami
nbhung
• Lệnh xem user id và các groups của một user
– $id user-name
– Nếu không có user-name thì sẽ lấy login name của
người dùng hiện tại
• uid <1000: system users
• uid>=1000: normal users
12-2012 https://sites.google.com/site/nbhung 5
Quản trị người dùng trên Linux
Thêm người dùng mới
• sudo adduser user-name

Tạo ra một tài khoản tên user-name

Tạo ra một nhóm mới có cùng tên user-name với tài
khoản

Tạo thư mục cá nhân /home/user-name

Sao chép profile mặc định từ /etc/skel

Nhập các thông tin về người dùng

Nhập mật khẩu cho tài khoản
12-2012 https://sites.google.com/site/nbhung 6
Quản trị người dùng trên Linux
Cơ sỡ dữ liệu người dùng
• /etc/password:
– Chứa thông tin cơ bản về người dùng
– Mỗi dòng cho mỗi tài khoản gồm 7 trường ngăn cách
bởi dấu hai chấm (:) như sau: username:password:
uid:gid:comment:home:shell
– Ví dụ:
• root:x:0:0:root:/root:/bin/bash
• nbhung:x:1000:1000:Ngo Ba Hung:/home/nbhung:/bin/bash
• /etc/shadow: Chứa mật khẩu đã mã hóa
12-2012 https://sites.google.com/site/nbhung 7
Quản trị người dùng trên Linux
Thực hành
• Tạo người dùng có

username: user1, password: userone

Nhập các thông tin cho người này theo ý bạn
• Khảo sát thông tin về user1 trong /etc/passwd
• Đánh lệnh logout để kết thúc phiên làm việc
• Login trở lại với tài khoản user1 vừa tạo
• Tạo một số thư mục với lệnh mkdir; Dùng lệnh ls, cd
để khảo sát thư mục cá nhân của người dùng user1
• Login in trở lại với tài khoản nhà quản trị của bạn
12-2012 https://sites.google.com/site/nbhung 8
Quản trị người dùng trên Linux
Xóa/Khóa/Mở tài khoản
• sudo deluser user-name

Xóa tài khoản và nhóm có tên user-name

Không xóa thư mục cá nhân của tài khoản
/home/user-name
• Khóa một tài khoản

sudo passwd -l user-name
• Mở khóa một tài khoản

sudo passwd -u user-name
12-2012 https://sites.google.com/site/nbhung 9
Quản trị người dùng trên Linux
Thực hành
• Xóa người dùng user1 (vẫn giữ lại home)
• Đánh lện ls /home để xem home của user1 còn tồn
tại hay không
• Add lại người dùng user1
• Dùng lệnh su - user1 để đăng nhập như người dùng
user1, tùy chọn - để đưa về home sau khi đăng
nhập thành công
• Đánh lệnh cd ~ để chuyển về home của user1
• Đánh lệnh pwd để xem đường dẫn đến home user1
12-2012 https://sites.google.com/site/nbhung 10
Quản trị người dùng trên Linux
Thực hành
• Tạo tài khoản user2
• Khóa người dùng user2
• Thử đăng nhập vào server bằng tài khoản user2

Cho biết kết quả
• Đăng nhập bằng tài khoản nhà quản trị
• Mở khóa cho user2
• Thử đăng nhập vào server bằng tài khoản user2

Cho biết kết quả
12-2012 https://sites.google.com/site/nbhung 11
Quản trị người dùng trên Linux
Thực hành
• Đăng nhập bằng tài khoản nhà quản trị
• Xóa tài khoản user2 cùng với home của user bằng
lênh
– deluser --remove-home user2
• Thử đăng nhập vào server bằng tài khoản user2

Cho biết kết quả
• Thư mục /home/user2 còn tồn tại không?
12-2012 https://sites.google.com/site/nbhung 12
Quản trị người dùng trên Linux
Thực hành
• Đăng nhập với vai trò nhà quản trị
• Tạo thư mục /backup
• Tạo lại người dùng user2
• Đăng nhập với tài khoản user2 và dùng vi để tạo tập tin
với tên Readme.txt, nội dung tùy ý
• Đăng nhập lại với tài khoản quản trị
• Xóa người dùng user2, có backup home cho user2
– deluser --remove-home --backup --backup-to /backup user2
• Kiểm tra nội dung thư mục /backup
12-2012 https://sites.google.com/site/nbhung 13
Quản trị người dùng trên Linux
Thực hành
• Chuyển vào /backup
• Giải nén tạp tin user2.tar.bz bằng lệnh sau
– sudo tar xvjf user2.tar.bz
– Lệnh trên sẽ tạo ra thư mục /backup/home/user2
• Copy /backup/home/user2 vào /home
– sudo cp -r /backup/home/user2 /home
• Kiểm tra thư mục /home/user2
• Add lại người dùng user2
• Đăng nhập với user2
12-2012 https://sites.google.com/site/nbhung 14
Quản trị người dùng trên Linux
Thay đổi mật khẩu
• Nhà quản trị có quyền đặt lại (reset) mật khẩu cho
các tài khoản khác
– $sudo passwd user-name
Nhập 2 lần mật khẩu mới
• Mỗi người dùng có thể tự đổi mật khẩu của mình
– $passwd
Nhập lại mật khẩu cũ
Nhập 2 lần mật khẩu mới
12-2012 https://sites.google.com/site/nbhung 15
Quản trị người dùng trên Linux
Thực hành
• Đăng nhập vời tài khoản user1
• Đổi mật khẩu thành numberone
• Đăng nhập lại bằng tài khoản user1
• Đăng nhập với tài khoản quản trị
• Đặt lại mật khẩu người dùng user1 thành anhmot
• Đăng nhập lại bằng tài khoản user1
12-2012 https://sites.google.com/site/nbhung 16
Quản trị người dùng trên Linux
Đặt chiều dài tối thiểu mật khẩu
• File cấu hình /etc/pam.d/common-password
• Thay đổi dòng

Password …..... sha512 min=8
12-2012 https://sites.google.com/site/nbhung 17
Quản trị người dùng trên Linux
Thực hành
• Đặt chiều dài tối thiểu cho mật khẩu là 7
• Đăng nhập vào tài khoản user1
• Đổi mật khẩu thành 123456

Cho biết kết quả
• Đổi mật khẩu thành chuỗi lớn hơn hoặc bằng 7 ký tự

Cho biết kết quả
12-2012 https://sites.google.com/site/nbhung 18
Quản trị người dùng trên Linux
Xem trạng thái mật khẩu
• sudo chage -l user1

Last password change : Jul 23, 2010

Password expires : never

Password inactive : never

Account expires : never

Minimum number of days between password change: 0

Maximum number of days between password change: 99999

Number of days of warning before password expires :7
12-2012 https://sites.google.com/site/nbhung 19
Quản trị người dùng trên Linux
Đặt thời hạn cho mật khẩu
• Account quá hạn (E) ngày 12/31/2013
• Tuổi thọ ít nhất (m) 5 ngày
• Tuổi thọ lâu nhất (-M) 90 ngày
• Không hoạt động (-I) 5 ngày sau khi mật khẩu quá
hạn
• Cảnh báo trước (-W) 14 ngày trước khi mật khẩu quá
hạn

sudo chage -E 12/31/2013 -m 5 -M 90 -I 5 -W 14 username

Tham số đặt trong tập tin /etc/login.defs
12-2012 https://sites.google.com/site/nbhung 20
Quản trị người dùng trên Linux
Thay đổi thư mục cá nhân
• usermod -d /home/new-home username
12-2012 https://sites.google.com/site/nbhung 21
Quản trị người dùng trên Linux
Thực hành
• Đăng nhập với tài khoản người dùng user1
• Đánh lệnh pwd để xem thư mục home là gì?
• Đăng nhập với tài khoản quản trị
• Tạo thư mục /home/userone
• Đổi home directory của người dùng user1 sang
/home/userone
• Đăng nhập với tài khoản người dùng user1
• Đánh lệnh pwd để xem thư mục home là gì?
• Đổi lại home của user1 về /home/user1
12-2012 https://sites.google.com/site/nbhung 22
Quản trị người dùng trên Linux
Nhóm người dùng
• Tập hợp nhiều tài khoản người dùng
• Được sử dụng để quản lý tài nguyên dễ dàng hơn
• Thành viên của một nhóm có quyền trên các tài
nguyên đã gán cho nhóm
• Được định nghĩa trong tập tin /etc/group
• Một tài khoản thuộc một nhóm chính và có thể
thuộc nhiều nhóm phụ
• Nhóm chính mặc định trùng tên với tên tài khoản
12-2012 https://sites.google.com/site/nbhung 23
Quản trị người dùng trên Linux
Cơ sỡ dữ liệu nhóm
• /etc/group
– Chứa thông tin về các nhóm
– Mỗi dòng một nhóm người dùng, gồm 4 mục từ
ngăn cách nhau bởi dẫu hai chấm (:) như sau: Groupname
Groupname:password:gid:members
• Các member ngăn cách bởi dấu ,
• /etc/gshadow
– Chứa mật khẩu của người quản trị nhóm, gồm các
trường: Groupname:Password:Admins:members
12-2012 https://sites.google.com/site/nbhung 24
Quản trị người dùng trên Linux
Quản trị nhóm người dùng
• Thêm nhóm

sudo addgroup my-group
• Thêm người dùng mới vào nhóm

sudo adduser user-name my-group

Thêm người dùng đã có vào nhóm

sudo usermod -G group-name user-name
• Xóa nhóm

sudo delgroup my-group
12-2012 https://sites.google.com/site/nbhung 25
Quản trị người dùng trên Linux
Quản trị nhóm người dùng
• Thay đổi nhóm chính của một người dùng
– usermod -g new-primary-group user-name
• Thay đổi nhóm chính tạm thời
– newgrp new-temp-primary-group
• Trở lại nhóm chính ban đầu:
– exit
• Xác định người quản trị nhóm
– gpasswd -A user-admin group-name
12-2012 https://sites.google.com/site/nbhung 26
Quản trị người dùng trên Linux
Thực hành
• Tạo nhóm có tên là nhom1
• Add người dùng user1 vào nhom1
• Hiển thị danh sách các nhóm của user1 đang tham
gia bằng lệnh: id user1
• Cho biết nhóm chính của người dùng user1 là gì
• Đăng nhập với người dùng user1, tạo thư mục dir1
• Đánh lệnh ls -ld dir1 để xem nhóm chủ sở hữu của dir1
• Đánh lệnh chuyển nhóm chính tạm thời về nhom1
• Tạo thư mục dir2, cho biết nhóm chủ sở hữu của dir2
12-2012 https://sites.google.com/site/nbhung 27
Quản trị người dùng trên Linux
Quyền trên hệ thống tập tin
• Tất cả thành phần trên hệ thống tập tin là tập tin
• Có 3 chủ thể có quyền trên một tập tin

Chủ sở hữu (owner)

Thành viên thuộc nhóm chủ sở hữu (group)

Những người còn lại (other)
• Có 3 loại quyền:

Đọc (Read), Ghi (Write), Thực thi (eXecute)
• Owner Group Others
rwx rwx rwx
12-2012 https://sites.google.com/site/nbhung 28
Quản trị người dùng trên Linux
Quyền trên tập tin
• Quyền read (r): Được quyền đọc dữ liệu lưu trong tập
tin
• Quyền write (w): Được quyền thay đổi nội dung tập
tin
• Quyền thực thi (x): Được quyền thực thi tập tin như là
một chương trình
12-2012 https://sites.google.com/site/nbhung 29
Quản trị người dùng trên Linux
Quyền trên thư mục
• Quyền read (r): Được quyền liệt kê nội dung thư mục
• Quyền write (w): Được quyền tạo, xóa, đổi tên tập tin
hay thư mục con chứa trong thư mục
• Quyền thực thi (x): Được quyền đi ngang qua thư
mục
12-2012 https://sites.google.com/site/nbhung 30
Quản trị người dùng trên Linux
Liệt kê quyền
• ls -l /home/nbhung
drwxrwxr-x 2 nbhung nbhung 4096 2009-11-24 15:45 Ubuntu One
-rwxr-xr-x 1 nbhung nbhung 7094 2011-01-03 03:23 untitled
-rw-r--r-- 1 nbhung nbhung 973 2011-01-03 03:23 untitled.c
drwxr-xr-x 2 nbhung nbhung 4096 2010-03-11 16:28 untitled folder
Nhóm chủ sở hữu
Chủ sở hữu
drwxrwxrwx
Quyền của những người còn lại
Quyền của các thành viên thuộc nhóm chủ sở hữu
Quyền của chủ sở hữu
Là một thư mục
12-2012 https://sites.google.com/site/nbhung 31
Quản trị người dùng trên Linux
Qui tắc áp dụng quyền
• Nếu bạn là chủ sở hữu của tập tin

Các quyền trên chủ sở hữu sẽ được áp dụng
• Ngược lại, nếu bạn là thành viên của nhóm chủ sở
hữu

Các quyền trên nhóm chủ sở hữu sẽ được áp dụng
• Nếu bạn không thuộc 2 trường hợp trên

Nhóm quyền cho tất cả mọi người sẽ được áp dụng
12-2012 https://sites.google.com/site/nbhung 32
Quản trị người dùng trên Linux
Thay đổi quyền trên tập tin
• Được thực hiện bởi chủ sở hữu hoặc admin/root
• Sử dụng lệnh chmod [ugoa][+=-][rwxX] a-file
u: áp dụng lên quyền chủ sở hữu
g: áp dụng lên quyền nhóm chủ sở hữu
o: áp dụng lên quyền những người còn lài
a: áp dụng lên cả 3 nhóm quyền u,g,o
+: gán quyền; =: gán chính xác; -:bỏ quyền
rwx: loại quyền đọc, viết, thực thi
X: gán quyền x cho thư mục và các tập tin đã có quyền
12-2012 x https://sites.google.com/site/nbhung 33
Quản trị người dùng trên Linux
Một số ví dụ chmod
• chmod a+x my-prog

Bổ sung (+) quyền thực thi (x) tập tin my-prog cho tất
cả người dùng (a)
• chmod o-w my-data

Loại bỏ (-) quyền ghi (w) trên tập tin my-data đối với
những không phải là chủ sở hữu hoặc không thuộc
nhóm chủ sở hữu
• chmod go=rx my-prog

Gán quyền đọc (r) và thực thi (x) tập tin my-prog cho
thành viên nhóm chủ sở hữu và những người khác
12-2012 https://sites.google.com/site/nbhung 34
Quản trị người dùng trên Linux
Thực hành
• Đăng nhập vào người dùng user1
• Tạo tập tin my-prog, có nội dung

echo "Hello World ! "
• Cho biết chủ sở hữu có quyền gì trên my-prog?

• Thực thi my-prog

./my-prog
• Thêm quyền thực thi cho chủ sở hữu trên my-prog
• Thực thi lại my-prog
12-2012 https://sites.google.com/site/nbhung 35
Quản trị người dùng trên Linux
Thực hành
• Xóa quyền write đối với chủ sở hữu tập tin my-prog
– chmod u-w my-prog
• Thêm dòng sau vào my-prog

echo «I'm here»

Cho biết kết quả
12-2012 https://sites.google.com/site/nbhung 36
Quản trị người dùng trên Linux
Thực hành
• Hãy gán quyền trên my-prog như sau
– Owner: read, write, execute
– Group: read, execute
– Others: read, execute
• Đánh lệnh ls -l my-prog để xem quyền hiện tại trên
my-prog là gì
– -rwx,r-x,r-x
12-2012 https://sites.google.com/site/nbhung 37
Quản trị người dùng trên Linux
Thay đổi quyền trên thư mục
• chmod -R g+rwX,o+rX my-dir

Đệ qui cho tất cả các thư mục hậu duệ

Thêm quyền rwx cho nhóm chủ sở hữu và quyền rx
cho những người khác một cách đệ qui trên các thư
mục con và trên các tập tin có thể thực thi

Đối với các tập tin không thực thi: Thêm quyền rw
cho nhóm chủ sở hữu và quyền r cho những người
khác
12-2012 https://sites.google.com/site/nbhung 38
Quản trị người dùng trên Linux
Quyền sticky trên thư mục
• Thường gán cho thư mục công cộng, ví dụ /tmp
ls -ld /tmp
drwxrwxrwt 18 root root 8712192 2011-01-07 16:11 /tmp
• Một tập tin nằm trong thư mục có quyền stick chỉ
được xóa bởi chủ sở hữu hoặc admin/root
• chmod +t public-dir

Gán quyền sticky trên thư mục public-dir
12-2012 https://sites.google.com/site/nbhung 39
Quản trị người dùng trên Linux
Thực hành
• Tạo tài khoản user2
• Đăng nhập vào user2, tạo tập tin /tmp/file2.txt; gán tất cả người
dùng có quyền rw trên file2.txt
• Đăng nhập vào user1,

Tạo tập tin /tmp/file1.txt, gán tất cả người dùng có quyền rw
trên file1.txt

Đánh lệnh ls -l file*.txt để xem quyền trên file1 và file2

Thử xóa tập tin /tmp/file2.txt
• Đăng nhập vào user2

Thử xóa file1.txt

Thử xóa file2.txt
12-2012 https://sites.google.com/site/nbhung 40