banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Thắc mắc về SUID của binary file  XML
  [Question]   Thắc mắc về SUID của binary file 30/10/2011 22:52:48 (+0700) | #1 | 249286
[Avatar]
xonefmBKA
Member

[Minus]    0    [Plus]
Joined: 07/03/2011 03:57:54
Messages: 21
Offline
[Profile] [PM]
Theo mình được biết khi một file thực thi được bật SUID, thì other user có thể chạy file với quyền của user sở hữu file đó.
Tức là nếu chương trình đó cần can thiệp vào một số file khác không thuộc sở hữu của other user thì sẽ vẫn được cấp quyền.
Ví dụ: Khi một user thực hiện lệnh "passwd" thì người user này sẽ sửa đổi password field trong file /etc/passwd mặc dù file /etc/shadow
chỉ có root mới có quyền write.
Mình đã thực hiện những lệnh sau:
$ sudo chmod 440 /etc/shadow
$ sudo chmod 440 /etc/passwd
(tức là root bây giờ chỉ có quyền read các file /etc/shadow, /etc/passwd, mà không có quyền write (sửa đổi))
$ passwd
Vậy thắc mắc của mình là tại sao mình vẫn thực hiện thành công lệnh passwd. ( tức là có thể sửa đổi được /etc/shadow và /etc/passwd) smilie
Cometalaygu!
[Up] [Print Copy]
  [Question]   Thắc mắc về SUID của binary file 31/10/2011 01:28:48 (+0700) | #2 | 249292
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

xonefmBKA wrote:
Theo mình được biết khi một file thực thi được bật SUID, thì other user có thể chạy file với quyền của user sở hữu file đó.
Tức là nếu chương trình đó cần can thiệp vào một số file khác không thuộc sở hữu của other user thì sẽ vẫn được cấp quyền.
Ví dụ: Khi một user thực hiện lệnh "passwd" thì người user này sẽ sửa đổi password field trong file /etc/passwd mặc dù file /etc/shadow
chỉ có root mới có quyền write.
Mình đã thực hiện những lệnh sau:
$ sudo chmod 440 /etc/shadow
$ sudo chmod 440 /etc/passwd
(tức là root bây giờ chỉ có quyền read các file /etc/shadow, /etc/passwd, mà không có quyền write (sửa đổi))
$ passwd
Vậy thắc mắc của mình là tại sao mình vẫn thực hiện thành công lệnh passwd. ( tức là có thể sửa đổi được /etc/shadow và /etc/passwd) smilie  


"Lệnh" passwd không phải là file /etc/passwd và không thực thi từ file này. File /etc/passwd chỉ là một text file chứa các thông tin user account. Trong khi đó, "lệnh" passwd chính là binary "/usr/bin/passwd". Hai cái hoàn toàn khác nhau.

Với root account, cho dù files được chuyển thành mode 000 đi chăng nữa, account này vẫn có thể read-write bất cứ file nào trên file system.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Thắc mắc về SUID của binary file 31/10/2011 10:01:55 (+0700) | #3 | 249313
[Avatar]
xonefmBKA
Member

[Minus]    0    [Plus]
Joined: 07/03/2011 03:57:54
Messages: 21
Offline
[Profile] [PM]
 
"Lệnh" passwd không phải là file /etc/passwd và không thực thi từ file này. File /etc/passwd chỉ là một text file chứa các thông tin user account. Trong khi đó, "lệnh" passwd chính là binary "/usr/bin/passwd". Hai cái hoàn toàn khác nhau. 
Vâng, cái này thì em biết.
 
Với root account, cho dù files được chuyển thành mode 000 đi chăng nữa, account này vẫn có thể read-write bất cứ file nào trên file system. 
khi một file ở mode 000 thì root sẽ read-write file đó theo cớ chế nào ạ? các anh có thể giải thích rõ cho em hiểu được không?
Cometalaygu!
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 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|