Set owner cho thư mục mới mà code tạo ra

109 views
Skip to first unread message

pham huy

unread,
May 31, 2012, 12:20:11 AM5/31/12
to phpvi...@googlegroups.com
Chào các bác,

Em có vấn đề này rất mong các bác giúp đỡ.
Em tạo 1 virtualhost là ABC trên server, và cho code vào đây. Tất cả các folder và các file đều được set owner là ABC. Nhưng khi tạo thư mục mới = code thì các thư mục mới này nó lại có chủ sở hữu là APACHE. Do việc khác owner như vậy nên ko có quyền để up file lên.

Vậy có cách nào config trong httpd.config để thư mục mới tạo ra có owner chính là ABC ko ạ?

Server là linux cài Centos Os.

Cảm ơn các bác.

--
====================

Full name: Phạm Văn Huy
Yahoo : robocon_20062007
Skpe :   robocon20062007
phone: 01683.158.052

Phan Thái Trung

unread,
May 31, 2012, 12:21:23 AM5/31/12
to phpvi...@googlegroups.com
Nên dùng Suexec hoặc fcgi để cho Apache chạy dưới quyền user mà bạn muốn owner.


2012/5/31 pham huy <robocon...@gmail.com>
--
Bạn nhận được thư này vì bạn đã được đăng ký vào nhóm Google Groups "PHPVietnam".
Để đăng bài lên nhóm này, hãy gửi email đến phpvi...@googlegroups.com.
Để hủy đăng ký khỏi nhóm này, hãy gửi email tới phpvietnam+...@googlegroups.com.
Để biết tùy chọn khác, hãy truy cập nhóm này tại http://groups.google.com/group/phpvietnam?hl=vi.

Hai Nam

unread,
May 31, 2012, 4:03:45 AM5/31/12
to phpvi...@googlegroups.com
2012/5/31 Phan Thái Trung <phanth...@gmail.com>:

> Nên dùng Suexec hoặc fcgi để cho Apache chạy dưới quyền user mà bạn muốn
> owner.

suexec sẽ thực thi PHP dưới quyền của owner tập tin PHP đó, là điều
rất không nên (vấn đề bảo mật).

Nếu ứng dụng của bạn thiết kế tồi, hoặc dùng chung máy chủ, thì đó là
cách "chữa cháy tạm thời". Còn tốt nhất là tạo 1 thư mục với user
apache và chỉ cho phép upload vào đó. Chứ bạn mà cho phép PHP ghi vào
bất cứ đâu, hacker có thể lừa bạn ghi lên chính tập tin index.php và
làm chủ hoàn toàn ứng dụng của bạn mà bạn không hay biết.

--
Nguyễn Hải Nam

Thông tin công nghệ http://www.thongtincongnghe.com/

Phan Thái Trung

unread,
May 31, 2012, 4:11:20 AM5/31/12
to phpvi...@googlegroups.com
Chạy PHP dưới quyền owner mới là bảo mật vì mỗi script cần chạy với đúng owner của nó, chứ không nên chạy chung user Apache hoặc www-data. Một ứng dụng phức tạp như Drupal sẽ phải tạo và ghi rất nhiều thư mục và tệp khác nhau, trong một cây thư mục chỉ nên có 1 user owner mà thôi. Đấy là tinh thần của FastCGI.


2012/5/31 Hai Nam <hai...@gmail.com>

Hai Nam

unread,
May 31, 2012, 4:32:41 AM5/31/12
to phpvi...@googlegroups.com
Drupal có ghi vào đâu cũng không bao giờ ghi vào includes/, modules/,
sites/all/modules... khi chạy trên web. Để ghi đè lên đó, bạn cần chạy
trong dòng lệnh (drush). Còn bình thường Drupal chỉ ghi vào
sites/default/files thôi (và duy nhất 1 lần ghi vào
sites/default/settings.php khi cài đặt, sau đó khóa nó lại vĩnh viễn).

Lí do đơn giản: bạn phải làm chủ được những gì bạn chạy. Cũng giống
Linux vậy, bạn chạy lệnh "ls", lệnh này nằm ở "/bin/ls" và thuộc sở
hữu của root, và bạn không được phép thay đổi file này khi chạy. Khi
cần nâng cấp (muốn ghi vào /bin/ls), bạn cần chạy với quyền root.

Còn cách thư mục (website) nào chạy với acc của website đó chỉ là giải
pháp chữa cháy như mình nói, khi mà trong server có cả chục website và
bạn không muốn website này đụng website kia. Khi dùng chung như vậy,
ứng dụng của bạn không thể an toàn.

--
Nguyễn Hải Nam

Thông tin công nghệ http://www.thongtincongnghe.com/

Hudson Nguyen

unread,
May 31, 2012, 4:49:48 AM5/31/12
to phpvi...@googlegroups.com
Vấn đề Suexec hay không là do khả năng quản lý việc úng dụng cho phép upload vào đâu. Con dao 2 lưỡi, nếu quản lý được hết các folder ứng dụng cho phép upload thì cứ tự do mà dùng Suexec vì nó linh hoạt. Như Drupal thì document đã clear và thống nhất về các vị trí upload. Nếu ứng dụng của bạn viết kiểu do and forget hay cần viết nhanh để deploy thì theo cách của Hai Nam. ONLY ONE upload folder.

Lý thuyết thì như vậy, còn thực tế thì sao ? SAY GOODBYE to suExec. Nếu bạn nói bạn kiểm soát được security model của suExec khi nó chạy, web app của bạn có cả đống CGI hay SSI cần manage với nhiều user khác nhau thì khả năng của bạn chắc cũng đủ làm các project không đến nỗi nghèo tới mức N website chung một host. 

Còn suExec để run PHP file ? suExec = suicide execution 

pham huy

unread,
May 31, 2012, 5:08:02 AM5/31/12
to phpvi...@googlegroups.com
Hiện em đã tạo thư mục upload để upload file. UPload trực tiếp vào đó thì được, nhưng tạo folder mới ( bằng code) rồi upload vào đó thì ko được vì thư mục mới này có owner là apache. Cách của bác Thái Trung thì sẽ ra nhưng nghe các bác nói bảo mật mà ghê. Nếu làm theo cách bác Hải Nam thì cách giải quyết ở đây là gì ạ?
Thanks!


Vào 15:49 Ngày 31 tháng 5 năm 2012, Hudson Nguyen <hun...@gmail.com> đã viết:
Vấn đề Suexec hay không là do khả năng quản lý việc úng dụng cho phép upload vào đâu. Con dao 2 lưỡi, nếu quản lý được hết các folder ứng dụng cho phép upload thì cứ tự do mà dùng Suexec vì nó linh hoạt. Như Drupal thì document đã clear và thống nhất về các vị trí upload. Nếu ứng dụng của bạn viết kiểu do and forget hay cần viết nhanh để deploy thì theo cách của Hai Nam. ONLY ONE upload folder.

Lý thuyết thì như vậy, còn thực tế thì sao ? SAY GOODBYE to suExec. Nếu bạn nói bạn kiểm soát được security model của suExec khi nó chạy, web app của bạn có cả đống CGI hay SSI cần manage với nhiều user khác nhau thì khả năng của bạn chắc cũng đủ làm các project không đến nỗi nghèo tới mức N website chung một host. 

Còn suExec để run PHP file ? suExec = suicide execution 

--
Bạn nhận được thư này vì bạn đã được đăng ký vào nhóm Google Groups "PHPVietnam".
Để xem thảo luận này trên web, hãy truy cập https://groups.google.com/d/msg/phpvietnam/-/PzPJlDm-6HgJ.

Để đăng bài lên nhóm này, hãy gửi email đến phpvi...@googlegroups.com.
Để hủy đăng ký khỏi nhóm này, hãy gửi email tới phpvietnam+...@googlegroups.com.
Để biết tùy chọn khác, hãy truy cập nhóm này tại http://groups.google.com/group/phpvietnam?hl=vi.

Hai Nam

unread,
May 31, 2012, 5:13:25 AM5/31/12
to phpvi...@googlegroups.com
sudo chown www-data.www-data /path/to/upload

Nhưng bạn dùng chung máy chủ hay không? Sau đó mới chọn giải pháp.

--
Nguyễn Hải Nam

Thông tin công nghệ http://www.thongtincongnghe.com/


2012/5/31 pham huy <robocon...@gmail.com>:

Hudson Nguyen

unread,
May 31, 2012, 5:17:08 AM5/31/12
to phpvi...@googlegroups.com
Ban dang de ABC va APACHE user khac group ?


On Thursday, May 31, 2012 4:08:02 PM UTC+7, robocon20062007 wrote:
Hiện em đã tạo thư mục upload để upload file. UPload trực tiếp vào đó thì được, nhưng tạo folder mới ( bằng code) rồi upload vào đó thì ko được vì thư mục mới này có owner là apache. Cách của bác Thái Trung thì sẽ ra nhưng nghe các bác nói bảo mật mà ghê. Nếu làm theo cách bác Hải Nam thì cách giải quyết ở đây là gì ạ?
Thanks!


Vào 15:49 Ngày 31 tháng 5 năm 2012, Hudson Nguyen <hun...@gmail.com> đã viết:
Vấn đề Suexec hay không là do khả năng quản lý việc úng dụng cho phép upload vào đâu. Con dao 2 lưỡi, nếu quản lý được hết các folder ứng dụng cho phép upload thì cứ tự do mà dùng Suexec vì nó linh hoạt. Như Drupal thì document đã clear và thống nhất về các vị trí upload. Nếu ứng dụng của bạn viết kiểu do and forget hay cần viết nhanh để deploy thì theo cách của Hai Nam. ONLY ONE upload folder.

Lý thuyết thì như vậy, còn thực tế thì sao ? SAY GOODBYE to suExec. Nếu bạn nói bạn kiểm soát được security model của suExec khi nó chạy, web app của bạn có cả đống CGI hay SSI cần manage với nhiều user khác nhau thì khả năng của bạn chắc cũng đủ làm các project không đến nỗi nghèo tới mức N website chung một host. 

Còn suExec để run PHP file ? suExec = suicide execution 

--
Bạn nhận được thư này vì bạn đã được đăng ký vào nhóm Google Groups "PHPVietnam".
Để xem thảo luận này trên web, hãy truy cập https://groups.google.com/d/msg/phpvietnam/-/PzPJlDm-6HgJ.

Để đăng bài lên nhóm này, hãy gửi email đến phpvi...@googlegroups.com.
Để hủy đăng ký khỏi nhóm này, hãy gửi email tới phpvietnam+unsubscribe@googlegroups.com.

Để biết tùy chọn khác, hãy truy cập nhóm này tại http://groups.google.com/group/phpvietnam?hl=vi.



--
====================

Full name: Phạm Văn Huy
Yahoo : robocon_20062007
Skpe :   robocon20062007
phone: 01683.158.052

On Thursday, May 31, 2012 4:08:02 PM UTC+7, robocon20062007 wrote:
Hiện em đã tạo thư mục upload để upload file. UPload trực tiếp vào đó thì được, nhưng tạo folder mới ( bằng code) rồi upload vào đó thì ko được vì thư mục mới này có owner là apache. Cách của bác Thái Trung thì sẽ ra nhưng nghe các bác nói bảo mật mà ghê. Nếu làm theo cách bác Hải Nam thì cách giải quyết ở đây là gì ạ?
Thanks!


Vào 15:49 Ngày 31 tháng 5 năm 2012, Hudson Nguyen <hun...@gmail.com> đã viết:
Vấn đề Suexec hay không là do khả năng quản lý việc úng dụng cho phép upload vào đâu. Con dao 2 lưỡi, nếu quản lý được hết các folder ứng dụng cho phép upload thì cứ tự do mà dùng Suexec vì nó linh hoạt. Như Drupal thì document đã clear và thống nhất về các vị trí upload. Nếu ứng dụng của bạn viết kiểu do and forget hay cần viết nhanh để deploy thì theo cách của Hai Nam. ONLY ONE upload folder.

Lý thuyết thì như vậy, còn thực tế thì sao ? SAY GOODBYE to suExec. Nếu bạn nói bạn kiểm soát được security model của suExec khi nó chạy, web app của bạn có cả đống CGI hay SSI cần manage với nhiều user khác nhau thì khả năng của bạn chắc cũng đủ làm các project không đến nỗi nghèo tới mức N website chung một host. 

Còn suExec để run PHP file ? suExec = suicide execution 

--
Bạn nhận được thư này vì bạn đã được đăng ký vào nhóm Google Groups "PHPVietnam".
Để xem thảo luận này trên web, hãy truy cập https://groups.google.com/d/msg/phpvietnam/-/PzPJlDm-6HgJ.

Để đăng bài lên nhóm này, hãy gửi email đến phpvi...@googlegroups.com.
Để hủy đăng ký khỏi nhóm này, hãy gửi email tới phpvietnam+unsubscribe@googlegroups.com.

Để biết tùy chọn khác, hãy truy cập nhóm này tại http://groups.google.com/group/phpvietnam?hl=vi.

pham huy

unread,
May 31, 2012, 5:30:59 AM5/31/12
to phpvi...@googlegroups.com
@Hải Nam: có nhiều host cùng chạy ở trên server này, nó là server của khách hàng nên mình có muốn chỉ còn 1 host chạy cũng ko được.
@Hudson Nguyen: Cái user ABC là do mình vào direct Admin tạo ra, nó thuộc nhóm admin. Còn apache là do mặc định nó sinh ra. Ở trong .htaccess nó có 1 đoạn
User apache
Group apache
Rất cảm ơn sự giúp đỡ của các bác!

Vào 16:17 Ngày 31 tháng 5 năm 2012, Hudson Nguyen <hun...@gmail.com> đã viết:
Để xem thảo luận này trên web, hãy truy cập https://groups.google.com/d/msg/phpvietnam/-/JVeO3yBUIL4J.

Để đăng bài lên nhóm này, hãy gửi email đến phpvi...@googlegroups.com.
Để hủy đăng ký khỏi nhóm này, hãy gửi email tới phpvietnam+...@googlegroups.com.

Để biết tùy chọn khác, hãy truy cập nhóm này tại http://groups.google.com/group/phpvietnam?hl=vi.

Hudson Nguyen

unread,
May 31, 2012, 7:15:52 AM5/31/12
to phpvi...@googlegroups.com
Nhom admin co the la hoi thua permission. Sao k dung nhom apache?

pham huy

unread,
May 31, 2012, 9:42:47 PM5/31/12
to phpvi...@googlegroups.com
Cảm ơn bạn Hudson Nguyễn,
Mình đã set apache thuộc nhóm admin mà vẫn ko được.
Thanks!

Vào 18:15 Ngày 31 tháng 5 năm 2012, Hudson Nguyen <hun...@gmail.com> đã viết:
Nhom admin co the la hoi thua permission. Sao k dung nhom apache?

--
Bạn nhận được thư này vì bạn đã được đăng ký vào nhóm Google Groups "PHPVietnam".
Để xem thảo luận này trên web, hãy truy cập https://groups.google.com/d/msg/phpvietnam/-/3m4ajAZdRIQJ.

Để đăng bài lên nhóm này, hãy gửi email đến phpvi...@googlegroups.com.
Để hủy đăng ký khỏi nhóm này, hãy gửi email tới phpvietnam+...@googlegroups.com.
Để biết tùy chọn khác, hãy truy cập nhóm này tại http://groups.google.com/group/phpvietnam?hl=vi.

Hudson Nguyen

unread,
Jun 1, 2012, 1:09:05 AM6/1/12
to phpvi...@googlegroups.com
WHAT ?!? chuyen apache lai nhom apache di ban. Roi chuyen abc ve group do luon. Van de con lai la phan quyen tren group thoi.

Ban nen xem 1 chut ve user/group/perm tren *nix chu lam lieu the nay thi die.


On Friday, June 1, 2012 8:42:47 AM UTC+7, robocon20062007 wrote:
Cảm ơn bạn Hudson Nguyễn,
Mình đã set apache thuộc nhóm admin mà vẫn ko được.
Thanks!

Vào 18:15 Ngày 31 tháng 5 năm 2012, Hudson Nguyen <hun...@gmail.com> đã viết:
Nhom admin co the la hoi thua permission. Sao k dung nhom apache?

--
Bạn nhận được thư này vì bạn đã được đăng ký vào nhóm Google Groups "PHPVietnam".
Để xem thảo luận này trên web, hãy truy cập https://groups.google.com/d/msg/phpvietnam/-/3m4ajAZdRIQJ.

Để đăng bài lên nhóm này, hãy gửi email đến phpvi...@googlegroups.com.
Để hủy đăng ký khỏi nhóm này, hãy gửi email tới phpvietnam+unsubscribe@googlegroups.com.

Để biết tùy chọn khác, hãy truy cập nhóm này tại http://groups.google.com/group/phpvietnam?hl=vi.

pham huy

unread,
Jun 11, 2012, 10:34:57 PM6/11/12
to phpvi...@googlegroups.com
Cảm ơn các bác rất nhiều,

Nhờ các bác chỉ dẫn mà cũng hiểu hơn về server. Vấn đề của em đã được giải quyết. Nó simple hơn nhiều là đặt trạng trái safe_mode = 0 là ok.

Thanks!

Vào 12:09 Ngày 01 tháng 6 năm 2012, Hudson Nguyen <hun...@gmail.com> đã viết:
Để xem thảo luận này trên web, hãy truy cập https://groups.google.com/d/msg/phpvietnam/-/4iHxPWhS7rYJ.

Để đăng bài lên nhóm này, hãy gửi email đến phpvi...@googlegroups.com.
Để hủy đăng ký khỏi nhóm này, hãy gửi email tới phpvietnam+...@googlegroups.com.

Để biết tùy chọn khác, hãy truy cập nhóm này tại http://groups.google.com/group/phpvietnam?hl=vi.
Reply all
Reply to author
Forward
0 new messages