[Question] Cẩn thận khi chỉnh sửa file sudoers |
20/02/2008 00:57:19 (+0700) | #1 | 115493 |
pearltran
Member
|
0 |
|
|
Joined: 15/08/2007 13:10:08
Messages: 33
Offline
|
|
Trước tiên các bạn hãy đọc bài này của anh conmale để biết về sudo http://hvaonline.net/hvaonline/posts/list/17027.html
Bài viết này tôi sẽ nói về điểm thứ 2 mà anh conmale đã đề cập đến đó là ấn định cụ thể từng lệnh được quyền chạy sudo và điều tra kỹ lưỡng nội dung của chúng.Trước hết để 1 user có thể chạy lệnh sudo thì phải đưa user đó vào file sudoers.Để mở file sudoers dùng lệnh
Code:
Bạn nên dùng visudo để chỉnh sửa vì khi chỉnh sửa chúng ta save lại nếu có lỗi cú pháp xảy ra trong sudoers nó sẽ thông báo .Nếu xảy ra lỗi cú pháp trong sudoers thì lệnh sudo sẽ không dùng được
Nếu ta đưa user pearl vào với lệnh này
Code:
pearl có thể chạy tất cả các lệnh như là root hoặc user khác.Điều này rất nguy hiểm vì pearl có thể trở thành root bắng cách
Code:
Nó sẽ yêu cầu đánh password nhưng password ở đây là password của user pearl.Suýt quên,khi bạn chạy lệnh sudo lần đầu nó sẽ hỏi bạn password của bạn và sau 1 khoảng thời gian nhất định nó sẽ hỏi lại
Bây giờ muốn user pearl chỉ được quyền chạy 1 lệnh chẳng hạn như kill thì
Code:
Trong file sudoers bạn sẽ thấy cmd_ailas,Đây là các biệt danh lệnh nó chứa tập hợp các lệnh.VD:Cmd_alias DELEGATING=/bin/chmod,bin/chown,/bin/chgrp
Muốn user pearl chỉ có quyền chạy chạy các lệnh như /bin/chmod,/bin/chown./bin/chgrp thì
Code:
Muốn user pearl được chạy tất cả các lệnh nhưng không được chạy lệnh su thì có 2 cách:
cách 1:
Code:
nhưng cách với cách này user pearl bằng cách copy lệnh su sang 1 nơi khác
Code:
Sau đóCode:
vậy là user pearl đã trở thành root
Cách 2: Dùng NOEXEC.
Máy tôi không hỗ trợ NOEXEC nên chưa có dịp thử nghiệm thằng này.Các bạn có thể vào trang man sudoers để đọc về nó
Khi đưa 1 user vào trong file sudoers thì không nên cho user đó chạy các lệnh mà chỉ có root mới chạy được như chmod,chgrp,chown,kill,...và đặc biệt là lệnh su
Tác giả:pearltran
|
|
|
|
|
[Question] Cẩn thận khi chỉnh sửa file sudoers |
20/02/2008 12:19:39 (+0700) | #2 | 115624 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
pearltran wrote:
...
Cách 2: Dùng NOEXEC.
Máy tôi không hỗ trợ NOEXEC nên chưa có dịp thử nghiệm thằng này.Các bạn có thể vào trang man sudo để đọc về nó
...
Trong man sudoers có đoạn này:
If sudo has been compiled with noexec support and the underlying operating system supports it, the NOEXEC tag can be used to prevent a dynamically-linked executable from running further commands itself.
In the following example, user aaron may run /usr/bin/more and /usr/bin/vi but shell escapes will be disabled.
aaron shanty = NOEXEC: /usr/bin/more, /usr/bin/vi
Tạm dịch:
Nếu sudo được biên dịch hỗ trợ noexec và hệ điều hành cũng support nó, NOEXEC có thể được dùng để ngăn cản thi hành một liên kết động ngoài bản thân những lệnh đang chạy.
Giả sử trong /etc/sudoers tớ để thế này:
quanta ALL=(ALL) ALL, NOEXEC: /bin/su, <other_command>
tức là user quanta vẫn có thể dùng $ su bình thường nhưng nếu thử $ sudo su root thì sẽ "bị" báo cáo ngay:
su: /bin/bash: Permission denied
|
|
Let's build on a great foundation! |
|
|
|
[Question] Re: Cẩn thận khi chỉnh sửa file sudoers |
25/02/2008 05:39:42 (+0700) | #3 | 116486 |
|
lihavim
Elite Member
|
0 |
|
|
Joined: 08/06/2004 15:19:32
Messages: 506
Offline
|
|
Nếu đã cấp cho user đó quyền chạy mọi cái thì việc chuyển sang root có ích gì nhỉ? |
|
|
|
|
[Question] Re: Cẩn thận khi chỉnh sửa file sudoers |
26/02/2008 00:58:56 (+0700) | #4 | 116584 |
|
lQ
Moderator
|
Joined: 29/03/2005 17:06:20
Messages: 494
Offline
|
|
Thực ra nếu dùng sudo thì tui thấy trước 01 ưu điểm: sudo sẽ lưu lại tất cả các command đi kèm theo nó (dĩ nhiên là ko chơi với sudo su root). |
|
|
|
|
[Question] Cẩn thận khi chỉnh sửa file sudoers |
26/02/2008 23:31:14 (+0700) | #5 | 116736 |
pearltran
Member
|
0 |
|
|
Joined: 15/08/2007 13:10:08
Messages: 33
Offline
|
|
quanta wrote:
pearltran wrote:
...
Cách 2: Dùng NOEXEC.
Máy tôi không hỗ trợ NOEXEC nên chưa có dịp thử nghiệm thằng này.Các bạn có thể vào trang man sudo để đọc về nó
...
Trong man sudoers có đoạn này:
If sudo has been compiled with noexec support and the underlying operating system supports it, the NOEXEC tag can be used to prevent a dynamically-linked executable from running further commands itself.
In the following example, user aaron may run /usr/bin/more and /usr/bin/vi but shell escapes will be disabled.
aaron shanty = NOEXEC: /usr/bin/more, /usr/bin/vi
Tạm dịch:
Nếu sudo được biên dịch hỗ trợ noexec và hệ điều hành cũng support nó, NOEXEC có thể được dùng để ngăn cản thi hành một liên kết động ngoài bản thân những lệnh đang chạy.
Giả sử trong /etc/sudoers tớ để thế này:
quanta ALL=(ALL) ALL, NOEXEC: /bin/su, <other_command>
tức là user quanta vẫn có thể dùng $ su bình thường nhưng nếu thử $ sudo su root thì sẽ "bị" báo cáo ngay:
su: /bin/bash: Permission denied
Anh quanta thử nghiệm trên distro nào vậy?em vừa dùng cách trên Fedora 6 thì user vẫn có thể chạy các lệnh không cho chạy bằng cách
Code:
Sau đó
Code:
|
|
|
|
|
[Question] Cẩn thận khi chỉnh sửa file sudoers |
26/02/2008 23:45:11 (+0700) | #6 | 116738 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
pearltran wrote:
Anh quanta thử nghiệm trên distro nào vậy?em vừa dùng cách trên Fedora 6 thì user vẫn có thể chạy các lệnh không cho chạy bằng cách
Code:
Sau đó
Code:
Ừ nhỉ, cũng giống cách 1 của bạn, vẫn chạy được khi copy lệnh đó sang chỗ khác. Có lẽ cần đọc lại man sudoers. |
|
Let's build on a great foundation! |
|
|
|
[Question] Re: Cẩn thận khi chỉnh sửa file sudoers |
06/05/2008 10:53:54 (+0700) | #7 | 129152 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
Liên quan đến vấn đề này, xin mời mọi người cùng thảo luận về wheel group.
Khi muốn cho phép 1 user có thể thực hiện lệnh với quyền root, bạn sẽ:
+ Thêm user đó vào wheel group và uncomment dòng # %wheel ALL=(ALL) ALL?
+ Hay là thêm <user_name> ALL=(ALL) ALL vào /etc/sudoers?
Cuối cùng, bạn làm thế nào để ngăn cản người dùng thực hiện: $ sudo su - root?
|
|
Let's build on a great foundation! |
|
|
|
[Question] Re: Cẩn thận khi chỉnh sửa file sudoers |
06/05/2008 18:30:54 (+0700) | #8 | 129192 |
Mr.Khoai
Moderator
|
Joined: 27/06/2006 01:55:07
Messages: 954
Offline
|
|
Anh quanta,
Anh cản sudo su - (sử dụng NOEXEC) thì user chỉ việc copy su thành một file khác rồi execute mà thôi. Tốt nhất là chỉ nên liệt kê một số lệnh mà user được phép sudo, và tất nhiên là phải sử dụng absolute path.
Sử dụng group wheel có lợi sau:
- Anh không cần chỉnh sudoers, mà chỉ cần add user vào group wheel là được.
- Group wheel có thể chứa một nhóm super-user (hoặc admin) mà anh tin tưởng, và quản lý theo cả nhóm
Bất lợi khi sử dụng group wheel là mình không thể chỉnh cụ thể một user có thể làm gì, trong khi các user khác trong group không thể. Tùy theo nhu cầu em nghĩ ứng dụng group wheel sẽ có điểm lợi/hại khác nhau.
khoai |
|
|
|