Asked Sep 28th, 2017 12:26 AM 106 0 1
  • 106 0 1
0

Cài đặt postfix: cài đặt quyền cho mail file.

Share
  • 106 0 1

Hiện tai hệ thống của mình có 3 user, user1, user2, và admin. Mình muốn cài đặt user admin có thể đọc đc folder Maildir của user1 và user2. Vấn đề ở đây là khi có mail mới gửi đến Maildir của user1 hoặc user2 sẽ có quyền 600 nên sẽ admin sẽ ko thể đọc được mail này. Ai có cách giải quyết thì chỉ mình với, đã thử google nhưng chưa sửa được.

1 ANSWERS


Answered Sep 28th, 2017 1:33 AM
0

Bạn có thể nó rõ hơn về các users: user1, user2, và admin là users của services nào được không? Hay là chúng là users bình thường của Linux?

Nếu bài toán đặt ra là với các users của Linux, user admin là user có quyền root, và user admin đó muốn access vào đọc folder Maildir của các users khác, thì mọi thứ rất đơn giản 😄

Với user admin, bạn có thể dùng lệnh sudo su để trở thành root, mà khi đã là root rồi thì dù có là permission 600 đi chăng nữa thì bạn vẫn sẽ đọc và chỉnh sửa được 😄

Nếu không có quyền root thì bạn buộc phải biết password của user1 và user2, bạn có thể dùng lệnh su - user1su - user2 để trở thành user1 và user2, lúc đó thì bạn sẽ có thể đọc được mail trong Maildir của các users đó.

P/S: Nếu bạn có quyền root thì bạn có thể trở thành user1 hoặc user2 mà không cần biết đến password của họ, bằng cách gõ sudo su - user1 hoặc sudo su - user2

Share
Hoàng Phương @phuong1492
Sep 28th, 2017 2:30 AM

Cám ơn anh đã trả lời ạ! user1, và user2 là user của Linux Em đang dùng user admin để chạy app, và từ app có thể đọc được mail của 2 thằng user kia. Em vừa tìm ra cách đó là sử dụng Virtual Domain và cài đặt như thế này ạ

/etc/postfix/main.cf
local_transport = virtual
virtual_mailbox_domains = test.co
virtual_mailbox_base = /var/vmail # thư mục chứa mail
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:1000 # uid của admin
virtual_gid_maps = static:1000 # gid của admin
/etc/postfix/vmailbox
[email protected] test.co/user1/
[email protected] test.co/user2/
$ ls -la /var/vmail/test.co/user1/
drwx------ 5 admin admin 56 Sep 28 10:54 .
drwxr-xr-x 3 admin admin 20 Sep 28 10:21 ..
drwx------ 5 admin admin 36 Sep 28 10:21 cur
drwx------ 5 admin admin 36 Sep 28 10:43 new
drwx------ 5 admin admin 36 Sep 28 10:54 tmp

tất cả các mail gửi đến user1 và user2 sẽ đều là của admin.

+1
| Reply
Share
Tran Duc Thang @thangtd90
Sep 28th, 2017 3:04 AM

@phuong1492 :thumbsup_tone1: Mà nếu dùng uid với gid để chuyển owner của thư mục mail sang admin như vậy thì ngược lại user1 với user2 sẽ không còn quyền gì nữa rồi 😄

Bạn đã thử chạy app với quyền root chưa, mình nghĩ là chạy dưới quyền root thì sẽ có thể đọc được chứ nhỉ 🤔

0
| Reply
Share
Hoàng Phương @phuong1492
Sep 28th, 2017 3:10 AM

dạ vâng, theo spec hiện tại user1user2 không cần phải thao tác gì với thư mục mail anh ạ. Nếu chạy app với quyền root thì e nghĩ đọc được nhưng về security không được tốt lắm a

+1
| Reply
Share