[Question] Zimbra Ldap và vsftpd |
11/08/2009 20:41:47 (+0700) | #1 | 189600 |
mR.Bi
Member
|
0 |
|
|
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
|
|
Chào mọi người,
Mình đang gặp phải một vấn đề hơi khó hiểu về pam_ldap, zimbra ldap và vsftpd.
Đáng lẽ phải post ở topic /hvaonline/posts/list/30619.html nhưng mà mình nghĩ mở topic mới chắc sẽ có nhiều người chú ý hơn , mong mọi người thông cảm.
Mô hình hiện tại: Mail server sử dụng Zimbra, FTP server sử dụng vsftp, đang hoạt động bình thường. Vì ngoài 2 dịch vụ trên bên mình còn triển khai nhiều dịch khác mà hầu hết đều cần chứng thực users, do đó mình muốn sử dụng Zimbra Ldap để lưu trữ thông tin của tất cả người dùng, cho tất cả các dịch vụ, trừ web.
Mình thử nghiệm với vsftp, và hiện tại vsftpd đã hoạt động tốt với Zimbra Ldap. FTP users có thể được chứng thực qua Zimbra Ldap bình thường. Nhưng vấn đề nằm ở chỗ, bên mình tạo user khá khuôn khổ . Ví dụ như user tên Nguyễn Văn Hưng sẽ có email là hung_n@domain.com , ftp username sẽ là hung_n, nên khi cấu hình vsftpd, pam, và Zimbra ldap xong thì mình có thể authenticate qua Zimbra ldap luôn mà khỏi cần làm gì khác. Khi user change password ở Zimbra thì password ftp cũng thay đổi theo.
Nhưng mà khi thêm user mới thì gặp vấn đề. Mình tạo user ở Zimbra thì user này không login vào vsftp được, nhưng mà báo lỗi lạ lùng.
Các file cấu hình:
Code:
#%PAM-1.0
#/etc/pam.d/vsftpd
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include system-auth
#account include system-auth
#session include system-auth
#auth required pam_unix.so
#session required pam_loginuid.so
#session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
auth sufficient pam_ldap.so
password sufficient pam_ldap.so
auth required pam_unix.so
account sufficient pam_ldap.so
account required pam_unix.so
password sufficient pam_ldap.so
password required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
Code:
#%PAM-1.0
# /etc/pam.d/system-auth
#
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password sufficient pam_ldap.so use_authtok
password required pam_deny.so
#session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session optional pam_keyinit.so revoke
session required pam_limits.so
session optional pam_mkhomedir.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_ldap.so
Dòng
Code:
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
mình nghĩ dùng để khi user được tạo mới (ở ZImbra) lần đầu tiên login vào vsftpd sẽ được tạo ra một home directory do mình chỉ định khi cấu hình vsftpd.conf, nhưng directory này không tạo ra được. Vị trí của dòng trên mình cũng thử thay đổi nhiều lần, như nhau.
Khi tạo ra user có user12@domain.com, login với uid user12, mình tail /var/log/audit/audit.log (trên ftp server) thì log báo login success, nhưng lỗi trả về Client lại là 530 Login fail.
Code:
type=CRED_DISP msg=audit(1250015445.687:59): user pid=3412 uid=0 auid=0 subj=root:system_r:ftpd_t:s0 msg='PAM: setcred acct="user12" : exe="/usr/sbin/vsftpd" (hostname=192.168.1.99, addr=192.168.1.99, terminal=ftp res=success)'
type=USER_AUTH msg=audit(1250015490.352:60): user pid=3412 uid=0 auid=0 subj=root:system_r:ftpd_t:s0 msg='PAM: authentication acct="user12" : exe="/usr/sbin/vsftpd" (hostname=192.168.1.99, addr=192.168.1.99, terminal=ftp res=success)'
type=USER_ACCT msg=audit(1250015490.352:61): user pid=3412 uid=0 auid=0 subj=root:system_r:ftpd_t:s0 msg='PAM: accounting acct="user12" : exe="/usr/sbin/vsftpd" (hostname=192.168.1.99, addr=192.168.1.99, terminal=ftp res=success)'
So sánh với user bình thường (User này login thành công, account này là account đã có sẵn ở ftp server trước khi dùng Zimbra Ldap)
Code:
type=CRED_ACQ msg=audit(1250015337.093:53): user pid=3387 uid=0 auid=0 subj=root:system_r:ftpd_t:s0 msg='PAM: setcred acct="anh_v" : exe="/usr/sbin/vsftpd" (hostname=192.168.1.99, addr=192.168.1.99, terminal=ftp res=success)'
type=USER_START msg=audit(1250015337.095:54): user pid=3387 uid=0 auid=0 subj=root:system_r:ftpd_t:s0 msg='PAM: session open acct="anh_v" : exe="/usr/sbin/vsftpd" (hostname=192.168.1.99, addr=192.168.1.99, terminal=ftp res=success)'
Vì sao lại như vậy? Làm sao để khi tao user ở Zimbra, user này login vào ftp server thì home directory được tự động tạo ra và user login thành công?
Thật ra khi làm cái này mình cũng không hiểu Zimbra Ldap, pam_ldap và vsftp hoạt động thế nào, communicate ra sao, nên nếu bạn nào có kinh nghiệm giải thích rõ hộ mình.
Edit: Bổ sung, mình enable pam_ldap để làm việc với Zimbra ldap bằng cái này
Code:
authconfig --enableldap --enableldapauth --disablenis --enablecache \
--ldapserver=domain.com --ldapbasedn=dc=domain,dc=com \
--enablemkhomedir \
--updateall
Xin cảm ơn.
|
|
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children" |
|
|
|
[Question] Zimbra Ldap và vsftpd |
11/08/2009 21:20:59 (+0700) | #2 | 189606 |
huuhien
Member
|
0 |
|
|
Joined: 07/04/2005 20:06:32
Messages: 26
Offline
|
|
Mình chưa dùng Zimbra LDAP nhưng mình nghĩ là bạn bị lỗi ...hiểu lầm hihihi.
Khi bạn sử dụng 1 service nào đó tích hợp với LDAP thì đó chỉ là authentication mà thôi . Do đó khi tạo user mới trên Zimbra LDAP và login vào vsftpd thì log báo login success là đúng thôi, nhưng user authentication đúng là một việc, login vào được home dir của vsftpd ko là 1 việc khác. Do đó bạn phải tạo homedir cho user mới trên vsftpd server nữa.
Nếu bạn muốn khi tạo user mới trên Zimbra LDAP mà có tạo luôn homedir trên vsftpd thì bạn xem cách nào để chèn script create homedir vsftpd vào script tạo user của Zimbra LDAP đi.
Regards.
Hữu Hiền
|
|
|
|
|
[Question] Zimbra Ldap và vsftpd |
11/08/2009 21:26:46 (+0700) | #3 | 189608 |
mR.Bi
Member
|
0 |
|
|
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
|
|
@huuhien: thế cái lib pam_mkhomedir.so để làm gì bạn? |
|
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children" |
|
|
|
[Question] Zimbra Ldap và vsftpd |
12/08/2009 00:04:22 (+0700) | #4 | 189622 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
File cấu hình vsftpd.conf của em thế nào nhỉ? |
|
Let's build on a great foundation! |
|
|
|
[Question] Zimbra Ldap và vsftpd |
12/08/2009 07:31:34 (+0700) | #5 | 189635 |
mR.Bi
Member
|
0 |
|
|
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
|
|
Đây anh
Code:
# grep -v "#" /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=0227
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
idle_session_timeout=600
ftpd_banner=Welcome to ABC FTP service.
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
session_support=YES
|
|
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children" |
|
|
|
[Question] Zimbra Ldap và vsftpd |
12/08/2009 07:34:37 (+0700) | #6 | 189636 |
huuhien
Member
|
0 |
|
|
Joined: 07/04/2005 20:06:32
Messages: 26
Offline
|
|
Bạn thử thêm dòng : "session required pam_mkhomedir.so skel=/etc/skel/ umask=0022"
vào file /etc/pam.d/login xem sao?
|
|
|
|
|
[Question] Zimbra Ldap và vsftpd |
12/08/2009 09:02:04 (+0700) | #7 | 189647 |
mR.Bi
Member
|
0 |
|
|
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
|
|
uhm, mình bỏ vào rồi mà vẫn thế.
selinux đã disable.
Cám ơn bạn. |
|
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children" |
|
|
|
[Question] Zimbra Ldap và vsftpd |
12/08/2009 09:54:09 (+0700) | #8 | 189657 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
mR.Bi wrote:
...
Mình thử nghiệm với vsftp, và hiện tại vsftpd đã hoạt động tốt với Zimbra Ldap. FTP users có thể được chứng thực qua Zimbra Ldap bình thường.
...
Nhưng mà khi thêm user mới thì gặp vấn đề. Mình tạo user ở Zimbra thì user này không login vào vsftp được, nhưng mà báo lỗi lạ lùng.
...
Dòng
Code:
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
mình nghĩ dùng để khi user được tạo mới (ở ZImbra) lần đầu tiên login vào vsftpd sẽ được tạo ra một home directory do mình chỉ định khi cấu hình vsftpd.conf, nhưng directory này không tạo ra được. Vị trí của dòng trên mình cũng thử thay đổi nhiều lần, như nhau.
Em thử với ssh chẳng hạn xem cái module pam_mkhomedir.so nó làm việc chưa đã.
mR.Bi wrote:
Vì sao lại như vậy? Làm sao để khi tao user ở Zimbra, user này login vào ftp server thì home directory được tự động tạo ra và user login thành công?
mR.Bi wrote:
Đây anh
Code:
# grep -v "#" /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=0227
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
idle_session_timeout=600
ftpd_banner=Welcome to ABC FTP service.
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
session_support=YES
Nếu em muốn home directory được tự động tạo ra thì nó sẽ được tạo ra ở đâu, theo cấu trúc nào? Khi đó trong vsftpd.conf liệu có cần 2 dòng này không nhỉ: user_sub_token, local_root (để sau khi login thành công, nó còn có chỗ mà nhảy đến chứ).
Bây giờ em cứ thử tạo trước một cái home directory đi, rồi tạo user bên Zimbra LDAP sau đó thử login xem có được không? |
|
Let's build on a great foundation! |
|
|
|
[Question] Zimbra Ldap và vsftpd |
15/08/2009 22:11:26 (+0700) | #9 | 190099 |
mR.Bi
Member
|
0 |
|
|
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
|
|
2 giá trị user_sub_token và local_root thêm vào hay bỏ ra thì cũng như nhau, ý em nói hiện tượng y đúc trên kia.
Nếu em tạo home directory trước thì login bình thường.
ssh vào bình thường. chỉ có login qua ftp là lỗi, session_support đã là YES rồi.
Cám ơn anh. |
|
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children" |
|
|
|
[Question] Zimbra Ldap và vsftpd |
16/08/2009 00:41:34 (+0700) | #10 | 190112 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
mR.Bi wrote:
2 giá trị user_sub_token và local_root thêm vào hay bỏ ra thì cũng như nhau, ý em nói hiện tượng y đúc trên kia.
Nếu em tạo home directory trước thì login bình thường.
ssh vào bình thường. chỉ có login qua ftp là lỗi, session_support đã là YES rồi.
Cám ơn anh.
Thấy có người nói là được mà.
Trích từ: http://www.experts-exchange.com/Networking/Linux_Networking/Q_21777583.html
karelrambousek wrote:
My point:
Add a virtual user to DB (username/password). /virtual-users directory is created. FTP server will create /virtual-users/LOGIN when the user logs in for the first time.
Solution: done by myself.
I have written a pam module called pam_vsftpd_autohomedir
now I add it to pam process chain to the end.
The porcess:
1) user tries to login
2) Login is OK -> now my pam module takes control this way: pam_vsftpd_autohomedir.so uid=virtusers gid=virtusers root=/virtual-users
3) if dir /virtual-users/LOGIN doesn't exist, the pam will create one for me
4) Control is returned to the FTP daemon which is happy because it is possible to change the dir to new homedir
WHY THIS IS SO COOL?
I just add one record to the DB and the virtual homedir is created the first time a user logs in!
Em thử tham khảo xem. Nếu vẫn không được thì thử ngâm cứu cách mà bạn huuhien nói ở trên. |
|
Let's build on a great foundation! |
|
|
|
[Question] Zimbra Ldap và vsftpd |
19/11/2010 09:40:42 (+0700) | #11 | 225178 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
Bạn nào cũng gặp vấn đề với pam_mkhomedir.so thì có thể dùng autodir nhé: http://www.intraperson.com/autodir/. |
|
Let's build on a great foundation! |
|
|
|
[Question] Zimbra Ldap và vsftpd |
28/11/2011 21:04:55 (+0700) | #12 | 250441 |
trongthect
Member
|
0 |
|
|
Joined: 02/04/2008 13:00:46
Messages: 54
Offline
|
|
nhờ anh quanta giúp em cái vsftp.
em làm cái vsftp kết hợp với ldap.
file cấu hình vsftpd có phần như sau:
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
anon_root=/data/vsftp
chroot_local_user=YES
user_config_dir=/etc/vsftpd/users
userlist_enable=YES
userlist_file=/etc/vsftpd/ftpusers
file vsftpd trong /etc/pam.d/vsftpd
auth sufficient pam_ldap.so
account sufficient pam_ldap.so
password sufficient pam_ldap.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
~
Tuy nhiên kết quả như sau:
khi em login vào từ trình duyệt thì bị báo lỗi:500 OOPS: cannot change directory:/home/ns1
em tail -f file audit.log thì :
type=USER_AUTH msg=audit(1010531786.910:71): user pid=3438 uid=0 auid=0 msg='PAM: authentication acct="anonymous" : exe="/usr/sbin/vsftpd" (hostname=192.168.1.100, addr=192.168.1.100, terminal=ftp res=failed)'
type=USER_AUTH msg=audit(1010531793.602:72): user pid=3440 uid=0 auid=0 msg='PAM: authentication acct="ns1" : exe="/usr/sbin/vsftpd" (hostname=192.168.1.100, addr=192.168.1.100, terminal=ftp res=success)'
type=USER_ACCT msg=audit(1010531793.602:73): user pid=3440 uid=0 auid=0 msg='PAM: accounting acct="ns1" : exe="/usr/sbin/vsftpd" (hostname=192.168.1.100, addr=192.168.1.100, terminal=ftp res=success)'
type=CRED_ACQ msg=audit(1010531793.602:74): user pid=3440 uid=0 auid=0 msg='PAM: setcred acct="ns1" : exe="/usr/sbin/vsftpd" (hostname=192.168.1.100, addr=192.168.1.100, terminal=ftp res=success)'
Chứng tỏ đăng nhập thành công.
em vào ldap thay đổi home folder sang /data/vsftp thì đăng nhập bình thường.
vấn đề ở đây là em đã đổi thư mục mặc định của vsftpd nhưng tại sao nó vấn đổ về home folder của từng user.
Nhờ anh và các cao thủ giúp em.
|
|
|
|
|
|
|
|
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|
|
|