[Question] [Thắc mắc] - Cẩn thận với sudo trên *nix của chú conmale. |
20/10/2008 03:41:40 (+0700) | #1 | 155831 |
|
mr_hoang09
Member
|
0 |
|
|
Joined: 23/04/2007 21:01:03
Messages: 64
Offline
|
|
sudo cho phép người dùng thực thi một lệnh nào đó với quyền superuser hoặc quyền của một người khác như đã ấn định trong hồ sơ sudosers. Giá trị thật sự và xác thực uid (user id) và gid (group id) được gán với mục tiêu user như đã ấn định trong hồ sơ passwd và thành phần nhóm được ứng động dựa trên hồ sơ group (ngoại trừ chọn lựa -P được dùng). Nếu người thực thi (sudo) là root hoặc nếu chủ quyền thực thi của mục tiêu cũng là người thực thi thì sẽ không đòi hỏi mật khẩu. Ngoài ra, sudo đòi hỏi người dùng xác thực danh tánh của họ bằng mật khẩu theo mặc định (LƯU Ý: trong cấu hình mặc định, đây là mật khẩu của người dùng chớ không phải là mật khẩu của root). Sau khi người dùng đã được xác thực, giá trị dấu ấn thời gian được cập nhật và người dùng có thể sử dụng sudo mà không cần phải cung cấp mật khẩu trong một khoảng thời gian ngắn (5 phút theo mặc định ngoại trừ đã được chỉnh sửa trong sudoers).
Muốn thay đổi cái mặc định này thì làm thế nào hả chú?
#!/bin/sh
su -
......
/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf -k start
Sao khi thực hiện dòng này nó không đòi pass của root?
Có lẽ điểm thứ 2 chính là điểm khó thực hiện và cần xem xét kỹ nhất. Phần lớn mọi người khi thêm 1 user vào /etc/sudoers đều thường làm giống như:
quanta ALL=(ALL) ALL
Đây chính là ví dụ minh họa cho 2 mặt của vấn đề "tiện dụng" và "bảo mật" trong "Đối thoại với Rookie" của anh
@quanta: Em muốn hỏi ngoài những phần lớn là thực hiện theo cách này(tiện dụng) thì thực hiện để "bảo mật" thì phải làm thế nào ạ?
|
|
|
|
|
[Question] [Thắc mắc] - Cẩn thận với sudo trên *nix của chú conmale. |
20/10/2008 04:04:06 (+0700) | #2 | 155833 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
mr_hoang09 wrote:
sudo cho phép người dùng thực thi một lệnh nào đó với quyền superuser hoặc quyền của một người khác như đã ấn định trong hồ sơ sudosers. Giá trị thật sự và xác thực uid (user id) và gid (group id) được gán với mục tiêu user như đã ấn định trong hồ sơ passwd và thành phần nhóm được ứng động dựa trên hồ sơ group (ngoại trừ chọn lựa -P được dùng). Nếu người thực thi (sudo) là root hoặc nếu chủ quyền thực thi của mục tiêu cũng là người thực thi thì sẽ không đòi hỏi mật khẩu. Ngoài ra, sudo đòi hỏi người dùng xác thực danh tánh của họ bằng mật khẩu theo mặc định (LƯU Ý: trong cấu hình mặc định, đây là mật khẩu của người dùng chớ không phải là mật khẩu của root). Sau khi người dùng đã được xác thực, giá trị dấu ấn thời gian được cập nhật và người dùng có thể sử dụng sudo mà không cần phải cung cấp mật khẩu trong một khoảng thời gian ngắn (5 phút theo mặc định ngoại trừ đã được chỉnh sửa trong sudoers).
Muốn thay đổi cái mặc định này thì làm thế nào hả chú?
#!/bin/sh
su -
......
/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf -k start
Sao khi thực hiện dòng này nó không đòi pass của root?
Có lẽ điểm thứ 2 chính là điểm khó thực hiện và cần xem xét kỹ nhất. Phần lớn mọi người khi thêm 1 user vào /etc/sudoers đều thường làm giống như:
quanta ALL=(ALL) ALL
Đây chính là ví dụ minh họa cho 2 mặt của vấn đề "tiện dụng" và "bảo mật" trong "Đối thoại với Rookie" của anh
@quanta: Em muốn hỏi ngoài những phần lớn là thực hiện theo cách này(tiện dụng) thì thực hiện để "bảo mật" thì phải làm thế nào ạ?
su - có liên quan gì đến sudo? |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Re: [Thắc mắc] - Cẩn thận với sudo trên *nix của chú conmale. |
20/10/2008 05:34:59 (+0700) | #3 | 155850 |
|
mr_hoang09
Member
|
0 |
|
|
Joined: 23/04/2007 21:01:03
Messages: 64
Offline
|
|
su - có liên quan gì đến sudo?
Code:
su - run a shell with substitute user and group IDs
sudo - execute a command as another user
theo cháu thì su "lớn hơn" sudo.
mối liên hệ thì hình như ko liên quan gì với nhau, vì mỗi lệnh thực hiện 1 công việc khác nhau.
sudo chỉ làm thực hiện 1 lệnh với quyền của người khác(nhưng vẫn còn là mình), còn su thì chạy 1 shell (nhiều lệnh hơn) nhưng trở thành một người khác, exit để quay lại chính mình.
khi nãy cháu đọc nhầm, chú chạy shell này với sudo, đây giống như tự mình bốc đầu mình lên ấy nhỉ?
sudo thực hiện lệnh với quyền của root, mà trong script đó lại su - (1 shell đăng nhập vào root) nên sẽ ko cần pass của root. làm công việc này chỉ cần pass của user bình thường.
mà muốn khi sudo phải dùng pass của root thì làm thế nào hả chú?(cháu chưa search :p )
|
|
|
|
|
[Question] Re: [Thắc mắc] - Cẩn thận với sudo trên *nix của chú conmale. |
20/10/2008 05:48:09 (+0700) | #4 | 155851 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
mr_hoang09 wrote:
su - có liên quan gì đến sudo?
Code:
su - run a shell with substitute user and group IDs
sudo - execute a command as another user
theo cháu thì su "lớn hơn" sudo.
mối liên hệ thì hình như ko liên quan gì với nhau, vì mỗi lệnh thực hiện 1 công việc khác nhau.
sudo chỉ làm thực hiện 1 lệnh với quyền của người khác(nhưng vẫn còn là mình), còn su thì chạy 1 shell (nhiều lệnh hơn) nhưng trở thành một người khác, exit để quay lại chính mình.
khi nãy cháu đọc nhầm, chú chạy shell này với sudo, đây giống như tự mình bốc đầu mình lên ấy nhỉ?
sudo thực hiện lệnh với quyền của root, mà trong script đó lại su - (1 shell đăng nhập vào root) nên sẽ ko cần pass của root. làm công việc này chỉ cần pass của user bình thường.
mà muốn khi sudo phải dùng pass của root thì làm thế nào hả chú?(cháu chưa search :p )
su - không có liên quan gì đến sudo thì mắc gì có chủ đề "[Thắc mắc] - Cẩn thận với sudo trên *nix của chú conmale."?
Còn chuyện chưa search thì search đi. Chỉ nên hỏi những điều chưa hiểu chớ không nên hỏi những điều chưa tìm hiểu. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Re: [Thắc mắc] - Cẩn thận với sudo trên *nix của chú conmale. |
20/10/2008 06:08:23 (+0700) | #5 | 155855 |
|
mr_hoang09
Member
|
0 |
|
|
Joined: 23/04/2007 21:01:03
Messages: 64
Offline
|
|
Đúng là cháu đã đọc thiếu (vì chú chạy shell với sudo)
Nhưng trong hoàn cảnh như chú: Nghĩa là khi sudo chỉ cần pass của user bình thường thì ko cần phải dựa vào những sơ hở trong những script như thế.
Nếu gặp hoàn cảnh như vậy thi mình dùng:
Code:
thì có thể thay đổi pass của người root và đăng nhập đàng hoàng vào root.
(những thắc mắc này chỉ ở tầm hiểu biết của cháu, mong mọi người chỉ bảo thêm) |
|
|
|
|
[Question] Re: [Thắc mắc] - Cẩn thận với sudo trên *nix của chú conmale. |
20/10/2008 11:51:14 (+0700) | #6 | 155883 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
Hello mr_hoang09,
Có vẻ bạn chưa hiểu về 'sudo'?
mr_hoang09 wrote:
mà muốn khi sudo phải dùng pass của root thì làm thế nào hả chú?(cháu chưa search :p )
mr_hoang09 wrote:
Nhưng trong hoàn cảnh như chú: Nghĩa là khi sudo chỉ cần pass của user bình thường thì ko cần phải dựa vào những sơ hở trong những script như thế.
Bạn tìm hiểu về chữ s trong kết quả của lệnh sau:
$ ls -l /usr/bin/sudo
---s--x--x 2 root root 148836 2008-03-31 21:13 /usr/bin/sudo
|
|
Let's build on a great foundation! |
|
|
|
[Question] Re: [Thắc mắc] - Cẩn thận với sudo trên *nix của chú conmale. |
20/10/2008 12:53:56 (+0700) | #7 | 155891 |
|
mr_hoang09
Member
|
0 |
|
|
Joined: 23/04/2007 21:01:03
Messages: 64
Offline
|
|
để em man sudo lại
mới thoát ly win đc chừng 1 tháng nên còn lúng túng.
cảm ơn mọi người, chừng nào đủ trình em lại tiếp tục. |
|
|
|
|
[Question] Re: [Thắc mắc] - Cẩn thận với sudo trên *nix của chú conmale. |
21/10/2008 12:58:45 (+0700) | #8 | 156000 |
MrTux
Member
|
0 |
|
|
Joined: 07/10/2008 10:35:31
Messages: 49
Offline
|
|
quanta wrote:
Hello mr_hoang09,
Có vẻ bạn chưa hiểu về 'sudo'?
mr_hoang09 wrote:
mà muốn khi sudo phải dùng pass của root thì làm thế nào hả chú?(cháu chưa search :p )
mr_hoang09 wrote:
Nhưng trong hoàn cảnh như chú: Nghĩa là khi sudo chỉ cần pass của user bình thường thì ko cần phải dựa vào những sơ hở trong những script như thế.
Bạn tìm hiểu về chữ s trong kết quả của lệnh sau:
$ ls -l /usr/bin/sudo
---s--x--x 2 root root 148836 2008-03-31 21:13 /usr/bin/sudo
Theo cháu hiểu thì chữ s là Superuser đúng không ạ ? |
|
|
|
|
[Question] Re: [Thắc mắc] - Cẩn thận với sudo trên *nix của chú conmale. |
21/10/2008 13:20:18 (+0700) | #9 | 156005 |
Mr.Khoai
Moderator
|
Joined: 27/06/2006 01:55:07
Messages: 954
Offline
|
|
MrTux,
Chữ s trong permission của files không phải là "super user" gì đâu. Trước khi muốn hiểu cặn kẽ vấn đề này, mình cần phải hiểu:
- files permissions trên linux là như thế nào. Tại sao mình có thể "chạy" được một file, và khi chạy, file đó chạy dưới chủ quyền gì.
- Hiều thêm về user id, effective user id, và real user id. Sau đó tìm hiểu xem khi chạy một file, nó có thể chạy dưởi chủ quyền của ai.
- Cuối cùng, đọc lại man sudo, và man su. Sau đó nếu có điểm nào chưa hiểu thì mình có thể bàn thêm.
khoai |
|
|
|
|
[Question] Re: [Thắc mắc] - Cẩn thận với sudo trên *nix của chú conmale. |
22/10/2008 17:15:53 (+0700) | #10 | 156153 |
|
mr_hoang09
Member
|
0 |
|
|
Joined: 23/04/2007 21:01:03
Messages: 64
Offline
|
|
quanta wrote:
Hello mr_hoang09,
Có vẻ bạn chưa hiểu về 'sudo'?
mr_hoang09 wrote:
mà muốn khi sudo phải dùng pass của root thì làm thế nào hả chú?(cháu chưa search :p )
mr_hoang09 wrote:
Nhưng trong hoàn cảnh như chú: Nghĩa là khi sudo chỉ cần pass của user bình thường thì ko cần phải dựa vào những sơ hở trong những script như thế.
Bạn tìm hiểu về chữ s trong kết quả của lệnh sau:
$ ls -l /usr/bin/sudo
---s--x--x 2 root root 148836 2008-03-31 21:13 /usr/bin/sudo
Chữ s là viết tắt của chữ setuid.
theo em biết thì có thêm s này là khi chạy phải cần xác thực mật khẩu của root.
|
|
|
|