Kiến Thức Cơ Bản
Slackware Linux
5.5 Hệ thống Administrator
Bạn là administrator tất cả các máy tính nếu trên đó bạn là
superuser - root
.Có thể là một máy tính cá nhân để bàn với một hoặc hai tài khoản hoặc cũng có thể là một server với hằng trăm tài khoản .Tuy việc ở đây là giúp bạn có kiến thức cơ bản về các sử lý với các tài khoản trên máy tính cũng như cách tắt máy an toàn.Trên thực tế điều này không khó lắm có lẽ có thể tập thành thói quen được.Thêm vào đó bạn có thể làm quen với một vài ý tưởng,nguyên tắc làm việc với mật khẩu.
5.5.1 Tài khoản và Nhóm tài khoản
Một trong những thủ thuật với những tài khoản là sử dụng các script cùng các chương trình khác nhau.Slackware cho phép làm việc với các tài khoản bằng các chương trình sau:
adduser(8),userdel(8),chfn(1),passwd(1)
.Còn làm việc với các nhóm tài khoản có các ứng dụng sau:
groupadd(8),groupdel(8) và groupmod(8)
.Ngoại trừ
chfn,chsh,passwd
còn các ứng dụng kể trên chỉ có thể sử dụng cho Root bởi vì chúng nằm ở
/usr/sbin
. Đối với
chfn,chsh,passwd
thì có thể thoải mái bởi vì chúng nằm ở
/usr/bin
Lập thêm tài khoản chỉ có thể với sự giúp đỡ
adduser
.Chúng ta sẽ xem xét những câu hỏi cần thiết có liên quan tới ứng dụng này,cũng như những thông tin cần thiết về nó.
#adduser
Login name for new user (8 characters or less) []: mt
Đấy là tên của tài khoản mà sẽ được đăng nhập vào hệ thống.Nó cấu thành từ tám hay ít hơn kí tự bởi vì tất cả các ứng dụng login chỉ cho phép đến thế.Thông thường sử dụng chỉ dung các chữ in thường nhưng có thể dùng chữ in hoa.
User id for mt [ defaults to next available]:
ID(UID)
của tài khoản - thông thường Linux sử dụng những ID này để kiểm tra ai là chủ sở hữu của tệp tin.Mỗi một tài khoản có một số ID riêng biệt không trùng lặp.Trong Slackware bắt đầu từ 1000.Bạn có thể chọn UID cho tài khoản mới và có thể đơn giản cho phép adduser gán tài khoản với một số ID tự do.
Initial group for mt [users]:
Tất cả các tài khoản theo mặc định sẽ thuộc nhóm user.Bạn có thể muốn tạo một nhóm tài khoản riêng cho từng tài khoản tuy nhiên chúng tôi không khuyến khích điều này.
Additional groups for mt (seperated with commas, no spaces) []:
Ở đây chúng tôi giới thiệu cách bổ sung các nhóm tài khoản mới.Một tài khoản có thể tham gia vào nhiều nhóm tài khoản khác nhau.Thật là tốt nếu bạn thuộc vào các nhóm tài khoản khác nhau.
mt's home directory [/home/mt]:
Catalog nhà ở của các tài khoản nằm ở catalog /home.Nếu bạn làm việc trên một hệ thống lớn thì có thể sảy ra trường hợp di chuyển catalog home đi ra chỗ khác.Có thững chọn lựa giúp bạn thực hiện được điều này.Bạn có thể định hướng được catalog home của tài khoản sẽ nằm ở đâu theo ý muốn.Nhưng tôi không khuyến khích các bạn làm việc này.
mt's shell [/bin/bash]:
Bash chính là một môi trường vỏ lệnh theo ngầm định của Slackware Linux và được nhiều người sử dụng.Tuy nhiên nếu bạn là người sử dụng Unix kinh nghiệm thì bnaj có thể thay đổi nó bằng một vỏ lệnh khác mà bạn quen thuộc.Bạn có thể làm ngay bây giờ hoặc muộn hơn với sự giúp đỡ chsh.
mt's account expiry date (YYYY-MM-DD) []:
Bạn có thể chỉ định ngày mà sau cái ngày đó thì tài khoản sẽ không có quền truy cập vào hệ thống nữa.Theo mặc định số ngày là không có giới hạn.Ví dụ như sự chọn lựa này có lợi cho ISP nếu họ muốn tạo ra các tài khoản trong khoảng thời gian xác định khi mà họ chưa nhận được tiền thuê bao cho năm tới.
OK, I'm about to make a new account. Here's
what you entered so far:
New login name: mt
New UID: [Next available]
Initial group: users
Additional groups: [none]
Home directory: /home/mt
Shell: /bin/bash
Expiry date: [no expiration]
This is it... if you want to bail out, hit Control-C.
Otherwise, press ENTER to go ahead and make the account.
Bây giờ bạn nhìn thấy những thông tin cần thiết.Nếu như có gì không ổn thì sử dụng Ctrl+C để dừng lại và bắt đầu lại từ đầu.Ngược lại bạn có thể nhấn Enter và tài khoản sẽ được tạo thành.
Making new account...
Changing the user information for mt
Enter the new value, or press return for the default
Full Name []: vudung
Room Number []: sovietskay 2
Work Phone []:
Home Phone []:
Other:
Tất cả các thông tin bổ sung dùng cho
finger
.Bạn có thể để chúng chống nếu muốn.Bạn có thể thay đổi những thông tin này ở bất cứ thời điểm nào với sự chợ giúp của chfn.Tuy nhiên có thể tiện lợi hơn nếu bạn chỉ ra tên họ,số điện thoại...và khi cần thiết sẽ liên hệ.
Changing password for mt
Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:
Password changed.
Done...
Bạn sẽ phải nhập vào mật khẩu cho tài khoản mới.Nếu như người sử dụng mới không có mặt thì bạn chỉ cần để mật khẩu ngầm định và nhắn cho người đấy cần thay đổi mật khẩu để an toàn hơn.
Chọn mật khẩu
:Việc chon password tốt chính là bước đầu tiên để bảo vệ hệ thống của bạn.Mật khấu không được dễ dàng đoán ra bởi vì đó chính là cơ hội để nảy sinh những vấn đề không an toàn cho hệ thống.Ý tưởng của việc chọn mật khẩu chính là tổng hợp những kí tự một cách ngẫu nhiên bao gồm cả chữ in hoa và in thường,số .....Theo tôi TAB không lên sử dụng bởi vì khi đăng nhập từ xa sẽ có vấn đề nó phụ thuộc vào kết cấu từng hệ thống.
Nói chung đừng nên chọn mật khẩu theo ý tưởng sau: Ngày sinh,những câu chung,những cái gì liên quan tới bạn....ví dụ "secure1" là một mật khẩu tồi.
Việc xóa tài khoản lại là một quá trình đơn giản.Bạn chỉ cần thực thi userdel và điền tên tài khoản cần xoá vào.Nhưng bạn phải nhớ rằng khi ấy tài khoản này không đăng nhập trong hệ thống,không có một tiến trình nào được thực hiện bởi nó.Và khi xóa tức là nó sẽ không còn tồn tại tron hệ thống nữa.
#userdel mt
Hãy thực hiện lệnh này khi bạn muốn xóa tài khoản "mt" ra khỏi hệ thống của bạn.Qúa trình như sau.Lệnh sẽ xóa tài khoản từ tệp tin
/etc/passwd
và
/etc/group
nhưng không xóa đi catalog home của nó.Nếu bạn muốn xoá đi catalog home của tài khoản "mt" thì cần phải làm như sau:
#userdel -r mt
Trong thời gian đình chỉ hoạn động tài khoản được viết rõ trong mục "Thay đổi mật khẩu" bởi vì ở lúc đó cần phải thay đổi lại mật khẩu tài khoản.Việc thay đổi thông tin cá nhân của người dùng sẽ được diễn tả rõ ràng ở phần "
Thay đổi mật khẩu" và "Thay đổi thông tin cá nhân tài khoản
".
Chương trình tạo và xóa nhóm tài khoản rất đơn giản groupadd.Nó tạo ra một nhóm khác trong tệp tin
/etc/group
với một nhóm ID riêng biệt.Còn groupdel thì xóa đi tên của nhóm đã được tạo ra.
Tạo nhóm tài khoản
#groupadd cvs
và xóa nhóm tài khoản
#grpoupdel cvs
Thực hiện bằng tay
Tất nhiên có khả năng bổ sung hoặc xóa tài khoản cũng như nhóm tài khoản bằng tay.Khi mà bạn đã làm quên với các hàm số thì bạn có thể sử dụng các script để thực hiện các công việc này hơn là bằng tay.
Đầu tiên,bạn bổ sung tên tài khoản mới vào tệp tin
/etc/passwd(5),/etc/shadow(5),/etc/group(5)
.Tệp tin
passwd
chứa một vài thông tin về tài khoản nhưng không chứa mật khẩu.Tệp tin này cần phải được cấp quyền hạn "đọc" cho tất cả các tài khoản khác,nhưng bạn không muốn password (thậm chí đã được mã hoá) có quyền truy cập cho tất cả mọi người(bởi vì đó sẽ là một sự giúp đỡ cho những kẻ xấu).Chính vì thế password (đã mã hóa) cần phải được lưu vào một tệp tin bảo vệ (shadow)(tệp tin bóng) mà chỉ có quyền hạn đọc đối với root.
Còn ở file passwd thì mật khẩu được biểu diễn như "x".Tệp tin group hiển thị danh sách tất cả các nhóm và quan hệ của tài khoản với các nhóm.
Chúng ta hãy xem tệp tin /etc/passwd để bổ sung vào thêm ai đó.Một dòng đại diện như:
chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash
Mỗi một dòng tương ứng với một tài khoản.Mỗi một vùng phân cách nhau bởi dấu":".Các khoảng này sắp sếp từ trái sang phải: Tên tài khoản,mật khẩu(mã hóa kí hiệu "x" cho tất cả các phiên bản Slackware,bởi vì chúng tôi sử dụng file mật khẩu bóng),ID tài khoản,ID nhóm tài khoản,thông tin bổ sung về tài khoản được phân biệt bằng dấu";",catalog nhà ở(home),và vỏ lệnh.Bạn cần phải làm gì ,chỉ cần bổ sung vào cuối cung của tệp tin một dòng mà đã bổ sung tất cả các mục kể trên theo đúng thứ tự.
Chú ý là mật khẩu x,và ID là riêng biệt và ID nhóm user của Slackware là "100" và phải chọn đúng vỏ lệnh.
Bây giờ bạn bổ sung thêm một dòng vào tệp tin /etc/shadow mà chứa mật khẩu.Nó có dạng như sau:
chris:$1$w9bsw/N9$UWLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::
Lần này cũng vậy,từng dòng tương ứng với một tài khoản và các vùng phân cách nhau bởi dâu":".Tên tài khoản,mật khẩu mã hoá,số ngày từ ngày của một kỉ nguyên(1 tháng 1 1970) tới ngày,khi nào mật khẩu thay đổi lần cuối,số ngày mà sau đó mật khẩu có thể thay đổi,số ngày mà sau đó mật khẩu cần phải thay đổi,số ngày trước khi tài khoản bị đóng,số ngày mà tài khoản nhận được thông báo về đình chỉ hoạt động,số ngày mà sau đó tài khoản bị khoá hoàn toàn,số ngày tính từ kỉ nguyên khi tài khoản bị đóng và thực hiện lưu trữ.
Như bạn đã thấy đó là những thông tin chính về quá trình khoá tài khoản.Nếu bạn không sử dụng những thông tin này thì bạn chỉ cần nhớ một vài từ những vùng chính có giá trị đặc biệt.Ngược lại bạn sẽ phải thực hiện lại từ đầu một vài quá trình cho đến khi bạn nhớ hết các khu vực này.Còn đối với tài khoản mới thì bạn chỉ cần ghi cái gì đấy vào vùng mật khẩu.Đừng có sợ đó không hẳn là mật khẩu ngay đâu bởi vì chúng ta sẽ thay đổi nó ngay bây giờ.Ở trong vùng mật khẩu bạn có thể sử dụng bất kì kí tự nào (chú ý trừ dấu ":").Còn số ngày từ ngày thay đổi mật khẩu bạn để trống,điền phần tiếp theo 0,9999 và 7 giống như ví dụ trên các vùng còn lại để trống.
Đối với những người trong các bạn nhìn thấy mật khẩu của tôi ở trong ví dụ trên mà nghĩ có thể giải mã được mật khẩu thì xin hãy cứ làm.Bạn hãy nhớ rằng mật khẩu được bảo vệ bởi firewall(nó sẽ giúp đỡ bạn).
Bởi vì tất cả các tài khoản theo mặc định thuộc nhóm user cho nên bạn không cần phải bổ sung nó vào nhóm user.Nếu như bạn thích tạo một nhóm mới hoặc bổ sung vào các nhóm tài khoản khác thì bạn cần phải soạn thảo lại /etc/group
cvs::102:chris,logan,david,root
Vùng: tên nhóm,mật khẩu nhóm,ID nhóm và thành phần của nhóm.Việc tạo một nhóm mới thực ra là bổ sung một dòng vào tệp tin với ID riêng cùng với danh sách tài khoản mà bạn muốn bổ sung vào nhóm.Nếu như tài khoản ở thời điểm hiện tại đang đăng nhập thì cần phải thoát ra và đăng nhập lại để những biến đổi có hiệu quả.
Bây giờ chúng ta quay trở lại lệnh
passwd
để tạo mật khẩu cho tài khoản mới sau đó mới dùng
mkdir
để tạo catalog nhà ở cho tài khoản mà chúng ta đã chỉ ra trong /etc/passwd
Nếu như bạn cài đặt sendmail(8) thì bạn cần phải tạo thêm một tệp tin tương ứng thuộc tài khoản đó ở /var/spool/mail như ví dụ sau:
#touch /var/spool/mail/mt
#chown jellyd.users /var/spool/mail/mt
#chmod 660 /var/spool/mail/mt
Những lệnh này lân lượt tạo các tệp tin thư điện tử(mail spool) cho tài khoản "mt" và thiết lập đúng quyền hạn sử dụng cho file
Để xoá tài khoản thì đơn giản là xóa đi toàn bộ những gì mà bạn tạo ra.Xóa thông tin có liên quan tới tài khoản ở trong
/etc/passwd và /etc/group
.Xoá đi tên tài khoản từ tất cả các nhóm ở trong
/etc/group
,xóa đi hết thư của tài khoản nêu như có và đừng quên xóa đi catalog nhà ở của nó(nếu như thấy cần thiết).
Việc xoá nhóm tài khoản có vẻ dễ ràng hơn.Đơn giản chỉ cần xóa đi dòng nhóm từ
/etc/group
Thay đổi mật khẩu
Chương trình
passwd
cho phép thay đổi mật khẩu và lưu lại trong /etc/shadow.Tệp tin này chứa tất cả mật khẩu của hệ thống ở dạng mã hoá.Để thay đổi mật khẩu của bạn cần làm như sau:
$passwd chirs
Old password:
Enter the new password (minumum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Như bạn đã nhìn thấy đầu tiên hệ thống hỏi bạn mật khẩu cũ.Sau đó bạn cần nhập vào mật khẩu mới.Passwd thực hiện nhiều qúa trình kiểm tra mật khẩu của bạn và nhắc nhở bạn nếu như bạn có mật khẩu không tốt.Bạn có thể không cần quan tâm đến thông báo đấy(nếu như có).Sau đó bạn cần lập lại mật khẩu một lần nữa để khẳng định.
# passwd ted
Bạn cần phải lập lại quá trình trên nhưng mà lại không cần nhập vào mật khẩu cũ của tài khoản(đó là một trong các quyền lợi của root).
# passwd -l david
Thay đổi mật khẩu david bởi vì không thể mã hóa.Để cho tài khoản hoạt động lại cần thực hiện:
# passwd -u david
Bây giờ david(bị khóa) lại bắt đầu hoạt động lại như trước.Việc đình chỉ hoạt động có thể có lợi nếu như tài khoản sử dụng không đúng quyền hạn của mình trên hệ thống hoặc xuất đi quá nhiều bản sao xeyes(1) vào môi trường X của bạn.
Thay đổi thông tin tài khoản
Người sử dụng có thể thay đổi môi trường vỏ lệnh của mình cũng như những thông tin cá nhân finger.Trong Slackware Linux sử dụng ứng dụng chsh(change shell -thay đổi vỏ lệnh) và chfn(change finger-thay đổi finger).
Người sử dụng có thể chọn bất cứ một vỏ lệnh nào được liệt kê trong /etc/shell. Bash được coi là phổ biến.Có những người thích làm việc với vỏ lệnh trong các phiên bản Unix truyền thống.Việc chọn vỏ lệnh có thể thực hiện với sự giúp đỡ chsh:
$chsh
Password:
Changing the login shell for chris
Enter the new value, or press return for the default
Login Shell [/bin/bash]:
Sau khi nhập vào mật khẩu thì bạn hãy nhập vào đường dẫn tới vỏ lệnh mới.Chú ý nó được liệt kê trong /etc/shell(5).Tài khoản root có thể thay đổi môi trường vỏ lệnh của các tài khoản khác.
finger -thông tin cá nhân có thể không bắt buộc.Nó chứa những vùng như tên ,số điện thoại,văn phòng làm việc.Bạn có thể thay đổi khi sử dụng chfn cũng như khi bị khóa.Và tất nhiên root có quyền thay đổi
finger
thông tin của tất cả các tài khoản.
5.5.2 Tắt máy an toàn
Tắt máy đúng cách cũng là rất quan trọng.Việc ngắt nguồn điện tạm thời có thể dẫn đến thảm họa cho hệ thống.Khi mà máy tính đang chạy(thậm chí khi bạn không làm gì cả)thì một vài tệp tin vẫn chạy.Hãy nhớ rằng phông nền màn hình của bạn cũng được thực hiện bởi một tiến trình nào đó.Các tiến trình này điều khiển hệ thống và các tệp tin khác trong suốt thời gian này.Nếu bạn chỉ đơn giản tắt máy thì có thể làm cho các tệp tin này không được đóng đúng cách và chình vì thế rất là hại.Phụ thuộc vào mức độ tổn hại của các tệp tin này mà làm cho hệ thống bị hư hại.Trong bất cứ trường hợp nào bạn cũng sẽ phỉa trải qua một quá trình dài để kiểm tra lại hệ thống ở lần khởi động sau.
Chính vì thế nêu bạn định khởi động,tắt máy thì cần phải làm đúng theo các tiêu chuẩn bởi vì nó rất là quan trọng.Có rất nhiều con đường để làm điều đó tuy nhiên bạn có thể chon cái nào mà bạn thích.Hầu như tất cả đều chọn cách tắt máy tính thông qua khởi động lại máy tính.
Phương án thông thường là
shutdown
# shutdown -h now
Trong trường hợp này chúng ta không gửi đi thông báo cho tất cả các tài khoản khác .Họ sẽ nhìn thấy thông báo từ trình shutdown."now" chính là thời gian khi bạn muốn tắt máy,còn "-h" chính là halt(dừng lại).Nhưng đó không là phương pháp tối ưu cho việc tắt máy tính(đặc biệt với hệ thống nhiều tài khoản),còn đối với máy cá nhân thì nó là đủ rồi.Tối ưu hơn đối với các hệ thống nhiều tài khoản là:
#shutdown -h +60
Lệnh này sẽ tắt máy sau 60 phút.Nó là bình thường đối với các hệ thống lớn.Thậm chí những hệ thống quan trọng còn có thời gian biểu tắt máy,khởi động lại máy ở /etc/motd(5).
Để khởi động lại hệ thống thì vẫn dung lệnh đấy nhưng thay vì "-h" là "-r".
#shutdown -r now
Bạn có thể sử dụng thời gian cho shutdown -r như trong shutdown -h. Tuy nhiên có nhiều công việc khác mà bạn có thể sử dụng shutdown để kiểm soát khi nào là tắt hệ thống,khi nào khởi động lại hệ thống.Để có thêm thông tin hãy xem ở trang man của nó.
Phương pháp thứ hai để tắt,khởi động lại hệ thống là sử dụng halt(8) và reboot(8).hatl không chậm chễ tắt ngay hệ thống còn reboot thì chỉ là ảnh của halt.Thực hiện chúng như sau:
#halt
#reboot
Một mức độ thất hơn để khởi động lại hệ thống là thông báo trực tiếp cho init.Tất cả các phương pháp trên thực chất là các cách thông báo khác nhau cho init nhưng bạn có thể thông báo trực tiết cho init bằng tiện ích telinit(8)(chú ý trong tên lệnh chỉ có một chữ "l").Sử dụng telinit để thông báo cho init chuyển tới tầng thực thi nào(runlevel) và thực hiện vài trò của mình ,chạycác script đặc biệt.Những script này sẽ tiêu diệt hoặc vô hiệu hoá các tiến trình thích ứng với tầng thực thi đã chọn.Điều đó có thể sử dụng để tắt hệ thống hoặc khởi động lại bởi vì chúng được xác định ở những tầng thực thi khác nhau.
#telinit 0
Tầng thực thi 0 - đấy là chế độ tắt hệ thống.Thông báo cho init đi và chế độ 0,chúng ta ép nó tiêu diệt hết tất cả các tiến trình khác,ngắt liên kết với các tệp tin hệ thống và hệ thống dừng lại.Nó khác với phương pháp tắt máy.Trên các máy laptop thì nó có thể tắt đi nguồn điện.
#telinit 6
Tầng thực thi 6 - đấy là chế độ khởi động lại hệ thống.Tất cả các tiến trình sẽ bị tiêu diệt,các tệp tin hệ thống sẽ unmount và hệ thống khởi động lai.Đấy là một phương pháp đúng nhất.
Vẫn còn có một phương pháp khởi động máy tính.Phương pháp này chỉ thực hiện bởi root.Có lẽ chỉ dùng để khởi động lại,nếu như bạn không là root mà khi bạn lại có quyền sử sụng bàn phím .Việc thực hiện tổ hợp phím
Ctrl+Alt+Delete
sẽ nhanh chóng khởi động lại máy tính.Thực tế bạn đã sử dụng ứng dụng ctraltdel(8) trong
/usr/bin
.Còn nếu như chúng không tồn tại hoặc không có các quyền hạn lạ thì việc sử dụng tổ hợp phím sẽ không dẫn đến hậu quả gi được.
Mục Lục
Biên dịch: Vũ Dũng(vudung@mail.ru)
website:
http://khigiacmoquayve.narod.ru
1-9-2005 Voronezh Russian