[Question] Tune the User Environment and System Environment Variables |
23/11/2007 04:22:24 (+0700) | #1 | 99410 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
Nguồn: Section 2, chương 18, phần II - LPI
Khi bạn tạo một account mới trên Linux, những thông tin cơ bản là cần thiết cho user đó trong quá trình khởi tạo. Khi user logs vào hệ thống, họ cần:
- Một tập hợp các biến môi trường nhỏ nhất, bao gồm PATH có ý nghĩa cho hệ thống của bạn
- Các file cấu hình cơ bản trong thư mục home của họ
Số lượng thông tin mặc định bạn cung cấp có thể thay đổi từ đơn giản đến chi tiết nhất.
1. Systemwide Startup Scripts
Khi bash shell khởi động, nó tìm kiếm một số lượng các files script cấu hình trong /etc/profile. Những lệnh trong file này được thi hành tại thời điểm login và chứa đựng thông tin khởi động toàn cục cho tất cả users. Một ví dụ về /etc/profile trong Fedora 8:
Code:
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}
# ksh workaround
if [ -z "$EUID" -a -x /usr/bin/id ]; then
EUID=`id -u`
UID=`id -ru`
fi
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
if [ -x /usr/bin/id ]; then
USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
fi
done
unset i
unset pathmunge
Bạn có thể nhìn thấy những thiết lập shell cơ bản cho user, bao gồm việc gán một số lượng các biến môi trường, việc kiểm tra EUID, id của người dùng, ... Trong file này bạn hãy chú ý những dòng có chứa PATH= - nó làm nhiệm vụ add thêm một thư mục vào biến môi trường PATH. Trong trường hợp này, người quản trị hệ thống mong chờ rằng phần lớn các user sẽ cần chạy những chương trình nằm trong /usr/bin.
Những lệnh trong /etc/profile chỉ được thi hành duy nhất một lần lúc login. Vì lý do đó, việc định nghĩa các chức năng (functions) và bí danh (aliases) điển hình không được đưa vào /etc/profile, thay vào đó chúng nằm trong .bashrc của mỗi người dùng riêng biệt, hoặc /etc/bashrc - được gọi là .bashrc của user. Các lệnh trong .bashrc sẽ được thi hành mỗi khi một shell mới khởi tạo, và chúng có hiệu lực với tất cả các shell mới đó.
|
|
Let's build on a great foundation! |
|
|
|
[Question] Re: Tune the User Environment and System Environment Variables |
23/11/2007 05:12:48 (+0700) | #2 | 99418 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
2. Setting the Home Directory for New Accounts
Khi tạo một account mới, thông thường bạn cũng muốn tạo một thư mục HOME mặc định cho người dùng của account đó. Trong Linux, thư mục home nằm trong /home/username, nhưng bạn có thể định nghĩa nó theo cách nào bạn muốn.
Khi bạn tạo một thư mục home mới, nó có thể bao gồm những file khởi động cho shell của người dùng, cho desktop của họ, hoặc các ứng dụng X Windows. Để thuận tiện cho quá trình tự động tập hợp các thư mục của người dùng mới, một ví dụ về thư mục home sẽ được tạo trong thư mục skeleton /etc/skel.Thư mục này sẽ chứa tất cả các file và thư mục con mà mọi người dùng mới đều cần đến. Ví dụ về /etc/skel:
Code:
$ ls -la /etc/skel
total 21
drwxr-xr-x 4 root root 1024 2007-11-07 08:34 .
drwxr-xr-x 130 root root 10240 2007-11-22 09:50 ..
-rw-r--r-- 1 root root 33 2007-08-31 21:20 .bash_logout
-rw-r--r-- 1 root root 176 2007-08-31 21:20 .bash_profile
-rw-r--r-- 1 root root 124 2007-08-31 21:20 .bashrc
-rw-r--r-- 1 root root 500 2007-10-25 03:18 .emacs
drwxr-xr-x 2 root root 1024 2007-10-17 23:52 .gnome2
drwxr-xr-x 3 root root 1024 2002-08-12 16:26 .kde
-rw-r--r-- 1 root root 658 2007-10-11 21:16 .zshrc
Thư mục /etc/skel trong ví dụ này chứa:
- 4 file cấu hình cho shell (.bash_profile, .bashrc, .bash_logout, .zshrc)
- 1 file cấu hình cho Emacs (.emacs)
- 1 thư mục cho KDE (.kde)
- 1 thư mục cho GNOME (.gnome2)
Ví dụ trên minh hoạ các files mặc định có thể bao gồm trong 1 bộ cài đặt account của người dùng mới. Thêm vào đó có thể bao gồm những file mặc định cho những môi trường desktop khác như GNOME, KDE, ...
Khi một account mới được tạo cùng với thư mục home, toàn bộ nội dung của /etc/skel được copy qua thư mục home mới đó. Thư mục home và toàn bộ nội dung của nó được gán cho UID và GID của account mới, tạo chủ quyền người dùng mới cho những file khởi tạo. Sau đó họ có thể thoải mái chỉnh sửa những file và thư mục này nếu cần thiết.
Với quyền quản trị hệ thống, bạn có thể thêm, chỉnh sửa, hoặc xóa /etc/skel nếu muốn. |
|
Let's build on a great foundation! |
|
|
|
|
|
|
Users currently in here |
1 Anonymous
|
|
Powered by JForum - Extended by HVAOnline
hvaonline.net | hvaforum.net | hvazone.net | hvanews.net | vnhacker.org
1999 - 2013 ©
v2012|0504|218|
|
|