|
|
Thanks, mình hiểu rồi .
Vậy tổng kết lại ý của mình ở đây là :
Luồng dữ liệu từ LAN Request đến INTERNET bị ép đến SQUID sẽ đi vào firewall từ eth1 , được xử lý sau đó đẩy đến SQUID bằng eth2 . Request packet được tiếp nhận tại eth1 cần được NAT ip desc đến SQUID --> rule 1 thuộc chain PREROUTING sẽ làm việc này , mình viết thế này
Code:
1. $IPT -t nat -A PREROUTING -i $INTIF -p tcp -s $INTNET -dport 80 -j DNAT --to $SQUID_BOX:8080
đúng không ?
Sau đó packet được đẩy đến SQUID bằng eth2 --> rule 2 thuộc chain POSTROUTING sẽ làm việc này
Code:
2. $IPT -t nat -A POSTROUTING -o $DMZIF -s $INTNET -d $SQUID_BOX -j SNAT --to $DMZIP
Request packet không gửi cho firewall --> thuộc FORWARD chain, mình cũng thắc mắc rule 3, mình nghĩ rule 3 viết như vầy
Code:
3. $IPT -A FORWARD -p tcp -s $INTNET -d $SQUID_BOX -i $INTIF -o $DMZIF --dport 8080 -j ACCEPT
có đúng không ?
|
|
|
Thanks quanta,
Mình nghĩ vấn đề của mình là mình vẫn confuse về khái niệm IN và OUT trên INF ở đây, mong quanta giải thích giúp :
Code:
------------------ Request ----------------------->
LAN (A) ----- (eth1) iptables(C) (eth0) ----- Internet (D)
<------------------ Reply ---------------------------
Luồng dữ liệu Request được xem là IN đối với eth1 và OUT đối với eth0 ? ---> Rule để filter luồng Request này sẽ có dạng -i $INTIF -o $EXTIF đúng không ?
Luồng dữ liệu Reply được xem là IN đối với eth0 và OUT đối với eth1 ? ---> Rule để filter luồng Request này sẽ có dạng -i $EXTIF -o $INTIF ?
Tương tự :
Code:
LAN (A) ----- (eth1) iptables(C) (eth0) ----- Internet (D)
<-----------Reply-----------
----Request---> |(eth2) |
| | |
| | |
| | |
V | |
squid (B)
Luồng dữ liệu từ LAN Request đến INTERNET bị ép đến SQUID được xem là IN đối với eth1 và OUT đối với eth2 ? ---> Rule để filter luồng Request này sẽ có dạng -i $INTIF -o $DMZIF ?
Luồng dữ liệu Reply được xem là IN đối với eth2 và OUT đối với eth0 ? ---> Rule để filter luồng Request này sẽ có dạng -i $EXTIF -o $INTIF ?
|
|
|
Sau nhiều lần test thì thấy License được tính trên số user trong LDAP. Mình thử cho mail1 cài bản NE , mail 2 OE, tạo user1 trên mail1 , user2 trên mail2, dù mình không thể sử dụng tính năng backup để backup các mailbox trên mail2 nhưng số used accounts vẫn tính là tổng 2 server. Có ai từng setup được môi trường mà 2 zimbra-store server cùng dùng chung LDAP mà mỗi server chứa 1 loại user khác nhau (license và free) không ?
|
|
|
Chào mọi người, mình có một số vấn đề về Zimbra mong được mọi người giúp đỡ . Mình thắc mắc không biết Zimbra Network Edition version tính License số user được tạo dựa trên số user nằm trong LDAP hay số nằm trong zimbra-store (được sử dụng tính năng backup restore) của nó ? Mình đọc 2 link
http://wiki.zimbra.com/wiki/Zimbra_Server
http://www.zimbra.com/docs/ne/5.0.19/administration_guide/3_Zimbra%20Servers.4.1.html mỗi nơi nói khác nhau .
Giả sử nếu tính trên zimbra-store server thì mình có thể dựng 2 zimbra-store server, chỉ với License 100 user mà xài cho 200 ? Mình test thử : 2 server mail1 , mail2 mỗi cái đều cài LDAP và zimbra-store (LDAP trên mail 2 replicate mail1) .
Dù tạo user trên server nào (admin console và zmprov) thì license đều được tính trên cả 2 server . Thử modify các attr như zimbraMailHost hoặc tạo user với tham số chỉ định mailbox được lưu trên zimbra-store nào (vì mình nghĩ mailbox của user nằm trên zimbra-store server nào thì tính license trên server đó) cũng không làm thay đổi used accounts ==> tính trên LDAP ?
Mình cũng muốn tìm cách tạo 1 user mà user đó không dùng các chức năng của version NE để không tốn license cho user này (nằm chung LDAP với các user khác) thì có được không ? Mình đã thử search và đọc các tài liệu trên mạng nhưng không thấy nói đến vấn đề này hay có thể mình chưa search đúng. Ai có kinh nghiệm về vấn đề này xin giúp dùm .
Thanks.
|
|
|
Hi quanta,
Mình đã thử google, thấy có rất ít những trường hợp như vầy, phần lớn mọi người bị vấn đề do config dns chưa đúng, message đưa vào và ra queue để amavisd check ở các port 10025 , 10024 , trong trường hợp của mình amavisd đã cho Passed CLEAN
Dec 20 10:24:57 mailservices postfix/smtpd[30805]: 092F058A8E5: client=unknown[local-ip]
Dec 20 10:24:57 mailservices postfix/cleanup[4481]: 092F058A8E5: message-id=<C3A6420B83DF47D7B6E2FE0212295BFD@mydomain>
Dec 20 10:24:57 mailservices postfix/qmgr[10226]: 092F058A8E5: from=<myuser@mydomain>, size=5117, nrcpt=1 (queue active)
Dec 20 10:24:57 mailservices postfix/smtpd[30805]: disconnect from unknown[local-ip]
Dec 20 10:24:57 mailservices amavis[11728]: (11728-07) ESMTP::10024 /opt/zimbra/data/amavisd/tmp/amavis-20101220T101653-11728: <myuser@mydomain>
-> <mai.lehuong@vndirect.com.vn> SIZE=5117 BODY=7BIT Received: from mymailserver ([127.0.0.1]) by localhost (mymailserver
[127.0.0.1]) (amavisd-new, port 10024) with ESMTP for <mai.lehuong@vndirect.com.vn>; Mon, 20 Dec 2010 10:24:57 +0700 (ICT)
Dec 20 10:24:57 mailservices amavis[11728]: (11728-07) Checking: C2qQDiom6E55 [172.68.1.27] <myuser@mydomain> -> <mai.lehuong@vndirect.com.vn>
Dec 20 10:24:57 mailservices amavis[11728]: (11728-07) Open relay? Nonlocal recips but not originating: mai.lehuong@vndirect.com.vn
Dec 20 10:24:57 mailservices postfix/smtpd[3822]: connect from localhost.localdomain[127.0.0.1]
Dec 20 10:24:57 mailservices postfix/smtpd[3822]: A65EF58A8F5: client=localhost.localdomain[127.0.0.1]
Dec 20 10:24:57 mailservices postfix/cleanup[3914]: A65EF58A8F5: message-id=<C3A6420B83DF47D7B6E2FE0212295BFD@mydomain>
Dec 20 10:24:57 mailservices postfix/smtpd[3822]: disconnect from localhost.localdomain[127.0.0.1]
Dec 20 10:24:57 mailservices postfix/qmgr[10226]: A65EF58A8F5: from=<myuser@mydomain>, size=6282, nrcpt=1 (queue active)
Dec 20 10:24:57 mailservices amavis[11728]: (11728-07) FWD via SMTP: <myuser@mydomain> -> <mai.lehuong@vndirect.com.vn>,BODY=7BIT 250 2.0.0 Ok,
id=11728-07, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as A65EF58A8F5
Dec 20 10:24:57 mailservices amavis[11728]: (11728-07) Passed CLEAN, [local-ip] [local-ip] <myuser@mydomain> -> <mai.lehuong@vndirect.com.
vn>, Message-ID: <C3A6420B83DF47D7B6E2FE0212295BFD@mydomain>, mail_id: C2qQDiom6E55, Hits: -2.798, size: 5738, queued_as: A65EF58A8F5, 498 ms
Dec 20 10:24:57 mailservices postfix/smtp[21734]: 092F058A8E5: to=<mai.lehuong@vndirect.com.vn>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.79, delays=0.29/0/
0/0.5, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=11728-07, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as A65EF58A8F5)
Dec 20 10:24:57 mailservices postfix/qmgr[10226]: 092F058A8E5: removed
Dec 20 10:24:59 mailservices postfix/smtp[21740]: A65EF58A8F5: to=<mai.lehuong@vndirect.com.vn>, relay=mail.vndirect.com.vn[202.160.125.11]:25, delay=1.4, de
lays=0.13/0.01/1.1/0.12, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 7B64549029E)
Dec 20 10:24:59 mailservices postfix/qmgr[10226]: A65EF58A8F5: removed
Đây là trường hợp duy 1 mình thấy tương tự : http://www.zimbra.com/forums/general-questions/27787-mail-not-delivered.html
Theo như trong topic trên thì dòng 250 2.0.0 Ok: queued as 7B64549029E có nghĩa là queue id của message này trong mail server KH và chỉ có thể nhờ họ trace tiếp từ đây vì message này đã ra khỏi mail server của mình ? Mong ý kiến của mọi người .
Thanks.
|
|
|
Chào mọi người, mình đang có 1 mail server dùng Zimbra và có chút vấn đề, mong được mọi người giúp đỡ. Vấn đề là server của mình đã gửi mail đi được, nhưng có một vài domain của khách hàng không thể gửi mail được, đây là log của những mail như vậy :
Dec 20 10:24:59 mailservices postfix/smtp[21740]: A65EF58A8F5: to=<mai.lehuong@vndirect.com.vn>, relay=mail.vndirect.com.vn[202.160.125.11]:25, delay=1.4, de
lays=0.13/0.01/1.1/0.12, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 7B64549029E)
Dec 20 10:24:59 mailservices postfix/qmgr[10226]: A65EF58A8F5: removed
Log trên lạ ở chỗ mail server đã báo status=sent , code 250 OK nhưng message vẫn bị queue lại, mình tìm trong queue thì không thấy message này, không thấy lý do bị queue, search tiếp zimbra.log với queue ID 7B64549029E cũng không có kết quả . Khách hàng không nhận được email này, check log mail server của họ không thấy mail bên mình tới .
Mình gừi mail cho yahoo, google và những KH khác bình thường :
Dec 20 10:45:28 mailservices postfix/smtp[1475]: 460D158A976: to=<phamhuynhminhchuong@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.155.27]:25, delay=4.8, delays=0.03/0.05/1.6/3.1, dsn=2.0.0, status=sent (250 2.0.0 OK 1292816827 c8si10630494icb.108)
Dec 20 10:45:28 mailservices postfix/qmgr[10226]: 460D158A976: removed
Dec 20 10:45:35 mailservices postfix/smtp[21740]: 8109158ACF8: to=<rocklee44@yahoo.com>, relay=i.mx.mail.yahoo.com[74.6.140.64]:25, delay=2.7, delays=0.1/0.02/0.75/1.8, dsn=2.0.0, status=sent (250 ok dirdel)
Dec 20 10:45:35 mailservices postfix/qmgr[10226]: 8109158ACF8: removed
KH này gửi mail cho mình vẫn nhận được . Không biết đã có ai gặp trường hợp tượng tự thế này chưa có thể cho mình biết ý kiến .
|
|
|
Mình đã sửa lại chạy được, nguyên nhân là schedule task dùng cmd.exe ở C: chạy script ở D: nên tar.exe không chạy được, mình thêm D: trước CD D:\Backup là được .
|
|
|
Mình có file backup.dat để backup 1 folder và 1 database mysql nội dung như sau :
Code:
@ECHO OFF
SET backupdir=D:\Backup
SET mysqldir=D:\wamp\bin\mysql\mysql5.1.36\bin
SET mysqlpassword=P@ssw0rd
SET mysqluser=root
SET gzipdir=D:\Backup\bin
SET tardir=D:\Backup\GnuWin32\bin
SET wwwdir=D:\wamp\www
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
CD D:\Backup
%tardir%\tar.exe -cf www-%mydate%.tar %wwwdir%
%mysqldir%\mysqldump.exe -u%mysqluser% -p%mysqlpassword% test > %backupdir%\test-%mydate%.sql
%gzipdir%\gzip.exe -9 %backupdir%\www-%mydate%.tar
%gzipdir%\gzip.exe -9 %backupdir%\test-%mydate%.sql
Khi chạy thử bằng tay thì tạo được 2 file test-2010-09-26.sql.gz và www-2010-09-26.tar.gz trong D:\Backup nhưng khi set task schedule để chạy D:\Backup\backup.bat thì chỉ tạo được test-2010-09-26.sql.gz còn www thì không. Mình xem log history của task đều là completed, không có lỗi gì. Không biết script trên chạy schedule có vấn đề gì không ? OS chạy Windows Server 2008.
|
|
|
Em có thắc mắc về dòng 1 trong 3 luật cuối, em chưa hiểu chỗ -i $DMZIF và -s ! $SQUID_BOX , và em thấy phần giải thích cho luật 1 và 2 cuối hình như không khớp lắm. Nếu dòng 1 em viết thế này:
Code:
$IPT -t nat -A PREROUTING -i $INTIF -p tcp -s $INTNET -dport 80 -j DNAT --to $SQUID_BOX:8080
thì có đúng không ?
|
|
|
EXAMPLE.COM+u2 cũng báo Login incorrect
Mà bây giờ mình dùng LDAP + Kerberos thì đâu cần dùng winbind phải không ? Mình stop winbind rồi, nhưng trước đó mình đã dùng winbind chứng thực thành công, wbinfo -u cho thấy tất cả domain user và cũng cấu hình PAM dùng winbind, login bằng domain user được rồi.
Máy Ubuntu chỉ là client không cài samba server, ldapserver, kerberos server, mấy cài này AD 2003 làm, như vậy đúng không ?
|
|
|
Cho mình hỏi là quanta đã cấu hình thành công để domain user trên AD 2k3 login trên máy Linux được chưa ? Nếu rồi quanta có thể hướng dẫn cho mình không, mình làm hoài mà chưa được, winbind thì mình làm được rồi. Mình làm theo 2 link này :
http://www.interopsystems.com/LearningCenter/Native_LDAP_native_Kerberos_and_AD_services.htm
http://www.aput.net/~jheiss/krbldap/howto.html#kerbclient
Các file cấu hình :
Code:
/etc/ldap.conf
host 192.168.17.30
base dc=example,dc=com
ldap_version 3
binddn <a href="mailto:ldap@example.com">ldap@example.com</a>
bindpw P@ssw0rd
rootbinddn cn=manager,dc=example,dc=com
scope sub
timelimit 120
bind_timelimit 120
idle_timelimit 3600
# RFC 2307 (AD) mappings
nss_map_objectclass posixAccount user
nss_map_objectclass shadowAccount user
nss_map_attribute uid sAMAccountName
nss_map_attribute homeDirectory unixHomeDirectory
nss_map_attribute gecos cn
nss_map_attribute shadowLastChange pwdLastSet
nss_map_objectclass posixGroup group
nss_map_attribute uniqueMember member
pam_login_attribute sAMAccountName
pam_filter objectclass=User
pam_password ad
Code:
/etc/krb5.conf
[libdefaults]
default_realm = EXAMPLE.COM
# The following krb5.conf variables are only for MIT Kerberos.
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
dns_lookup_realm = true
dns_lookup_kdc = true
proxiable = true
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true
[realms]
EXAMPLE.COM = {
kdc = chuong-2k3.example.com:88
admin_server = chuong-2k3.example.com
kpasswd_server = chuong-2k3.example.com:464
kpasswd_protocol = SET_CHANGE
default_domain = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
[login]
krb4_convert = true
krb4_get_tickets = false
Code:
/etc/nsswitch.conf
passwd: files ldap
group: files ldap
shadow: files ldap
hosts: files dns
networks: files
protocols: files ldap
services: files ldap
ethers: files
rpc: files ldap
netgroup: nis files ldap
Code:
/etc/pam.d/login
auth sufficient /lib/security/pam_unix.so
auth sufficient /lib/security/pam_krb5.so use_first_pass
auth sufficient /lib/security/pam_ldap.so use_first_pass
account sufficient pam_unix.so debug
account sufficient pam_krb5.so debug
account sufficient pam_ldap.so debug
account required pam_permit.so
password sufficient /lib/security/pam_unix.so
password sufficient /lib/security/pam_krb5.so use_first_pass
password sufficient /lib/security/pam_ldap.so use_first_pass
password required pam_deny.so
Đây là log khi login bằng domain account
Code:
login : u2
Password :
Insufficient credentials to access authentication data
/var/log/auth.log
May 18 10:34:39 chuong-ubuntu login[1352]: pam_unix(login:auth): check pass; user unknown
May 18 10:34:39 chuong-ubuntu login[1352]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost=
May 18 10:34:39 chuong-ubuntu login[1352]: pam_unix(login:account): could not identify user (from getpwnam(u2))
May 18 10:34:39 chuong-ubuntu login[1352]: (pam_krb5): u2: pam_sm_acct_mgmt: entry (0x0)
May 18 10:34:39 chuong-ubuntu login[1352]: (pam_krb5): u2: retrieving principal from cache
May 18 10:34:39 chuong-ubuntu login[1352]: (pam_krb5): u2: pam_sm_acct_mgmt: exit (success)
May 18 10:34:39 chuong-ubuntu login[1352]: pam_unix(login:session): session opened for user u2 by LOGIN(uid=0)
May 18 10:34:39 chuong-ubuntu login[1352]: pam_mkhomedir(login:session): User unknown.
May 18 10:34:39 chuong-ubuntu login[1352]: (pam_krb5): u2: pam_sm_setcred: entry (0x2)
May 18 10:34:39 chuong-ubuntu login[1352]: (pam_krb5): u2: getpwnam failed for u2
May 18 10:34:39 chuong-ubuntu login[1352]: (pam_krb5): u2: pam_sm_setcred: exit (failure)
May 18 10:34:39 chuong-ubuntu login[1352]: Insufficient credentials to access authentication data
login : EXAMPLE\u2
Password :
Login incorrect
/var/log/auth.log
May 18 10:44:38 chuong-ubuntu login[1765]: pam_unix(login:auth): check pass; user unknown
May 18 10:44:38 chuong-ubuntu login[1765]: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost=
May 18 10:44:38 chuong-ubuntu login[1765]: pam_ldap: error trying to bind (Invalid credentials)
May 18 10:44:40 chuong-ubuntu login[1765]: FAILED LOGIN (1) on '/dev/tty1' FOR 'UNKNOWN', Permission denied
192.168.17.30 là AD 2003
Máy ubuntu cài các gói libpam-krb5, krb5-config, krb5-user, libpam_ldap, libnss_ldapd. 2 máy ping và phân giải được nhau. Thanks.
|
|
|
Thanks quanta, nhưng mình đọc xong vẫn chưa hiểu hết cách hoạt động của ACL, mấy cái owning group, group class, mask ... nghe thấy lùng bùng luôn , quanta có thể cho 1 VD cụ thể hơn để mình hiểu rõ được không ?
VD mình có 3 user A B C và folder /mydir
Code:
drwxr-xr-x 2 root root 4096 2010-04-27 10:49 /mydir/
Code:
# file: mydir/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
Mình muốn phân quyền:
User A có quyền tạo mới, sửa, xoá file, folder của chính user A trong /mydir
User B có quyền tạo mới, sửa, nhưng không được xoá file, folder của chính user B trong /mydir
User C có toàn quyền nhưng không add C vào group root hay chown /mydir cho C
Mình muốn tìm cách phân quyền 1 cách linh động trong linux, giống như bên Windows làm vậy, ngoài ACL còn có cách nào khác không ?
|
|
|
Soft mà em chọn để thử là mIRC vì em đọc trong sổ tay cracker phần hướng dẫn crack mIRC của anh hacnho có đoạn này Nếu bạn chỉ dừng ở đây thì chưa xong. Tại sao, nếu chúng ta crack ở đây thì chỉ hiện thông báo "Your registration has been entered successfully.". Nhưng khi khởi động lại thì không được chấp nhận serial. Híc híc…Xem nào chúng ta thử suy nghĩ một chút…Khi chúng ta đăng ký rồi nếu đúng thì thằng Mirc sẽ liên kết với một chỗ nào trong file để xoá menu “ Register…” đi…Suy rộng ra chúng ta sẽ tìm tới chỗ đoạn mã của menu “ Register…” để “hiệu chỉnh” nó lại. Tức là nhập vào giá trị nào nó cũng sẽ xoá menu “ Register…” đi
em thấy hay nên muốn làm thử. Em không tìm được ver 603 như trong ebook để thực hành nên em lên website của nó và lấy ver 635 và rắc rối bắt đầu từ đây , dùng RDG Packer Detector 0.5.7 em thấy nó được pack bằng Advanced UPX Scrambler, em không biết đây có phải là nguyên nhân gây ra lỗi khi set message bp như trên không ?
2 ngày nay em ngồi mò cách unpack nó mà không được (em cũng không biết là "được" thì nó sẽ trông như thế nào) . Không giống như khi thực hành với crackme (em dùng upx pack crackme rồi unpack nó theo hướng dẫn trong REA_UnPacking Ebook và unpack được), Entry point bắt đầu tại 005DF5DD > $ 6A 60 PUSH 60
, trong khi pack bằng UPX thì thường tại PUSHAD
??(em thấy crackme là vậy). Và em không tìm được OEP bằng cách này
Dùng OllyDbg mở file. Kéo xuống gần hết file (Đặc trưng bởi một loạt byte 0).
Đặt breakpoint tại 406868 (F2).F9.F8. Chúng ta ở tại OEP. Dùng OllyDump để dump file và Imprec để fix IAT.
Có 1 lệnh JMP như vậy nhưng nó JMP đến 1 đoạn code không có vẻ gì là OEP, em không biêt có nên trace tiếp không hay tìm cách khác.
Hiện em đang bí tại đây không nhúc nhích gì được mong mấy anh cho em 1 gợi ý để tiếp tục .
|
|
|
Chào mấy anh, em mới làm quen với RE, sau khi đọc bộ tut của mod kienmanowar và thực hành với crackme, em thử cố gắng crack 1 soft thât, khi em load target vào Olly, f9 chạy đến cửa sổ Register, em mở cửa sổ Window trong Olly và cố gắng set 1 Message bp ở button OK thì Olly báo lỗi : "Unable to read memory of debugged process. Breakpoint at * is deleted" . Em google thử với từ khóa trên luôn mà có ít kết quả quá và toàn tiếng Hoa với tiếng Nga (em đoán), em xin hỏi là nguyên nhân của lỗi trên là do đâu và cách fix. Cảm ơn các anh.
|
|
|
Thanks, mình hiểu rồi, mình xin tóm gọn lại như sau:
-Để kitty chạy đươc yourscript.sh thì quanta phải chmod g+s cho yourscript.sh nhưng ở đây cũng có thể chmod u+s cho yourscript.sh vì khi set cho file thì 2 lệnh này tác dụng như nhau.
-Khi quanta tạo thư mục abc thì thay vì phải chmod u+s cho từng file để sau này kitty xài được trong abc quanta sẽ chmod g+s cho abc luôn cho tiện, và 1 điểm khác nữa là khi chmod g+s cho abc thì các file được tạo ra trong abc sẽ thuộc group quanta(dù do ai tạo ra). Vậy quyền của group user trên các file này chắc là = quyền other rồi.
Nhưng: ... vẫn đang tìm hiểu về EUID?
là bạn hỏi mình hay tự hỏi vậy ?
|
|
|
Thanks quanta & pearltran, sau khi đọc xong giải thích thì lại văng ra 1 đống câu hỏi khác đây :
Không phải. Chỉ có thư mục abc được set thêm thuộc tính s thôi. Tất cả các file hoặc thư mục có sẵn khác nằm trong thư mục abc đều giữ nguyên permission. Để dễ hiểu, tớ lấy một ví dụ như sau:
+ Trên máy tớ có 2 users: quanta thuộc group quanta, và kitty thuộc group kitty
+ Login bằng user quanta, SGID cho thư mục To do write:
Code:
$ sudo chmod g+s To\ do\ write
Ta được:
drwxrwsr-x 3 quanta quanta 4096 2007-12-19 16:02 To do write
+ Trước và sau khi thực hiện việc này, tất cả các file hoặc thư mục có sẵn trong thư mục abc này đều giữ nguyên permission
+ Bây giờ nếu user kitty vào thư mục To do write đó và tạo 1 file thì file đó sẽ có group là quanta và được thi hành với quyền của group quanta này:
-rw-rw-r-- 1 kitty quanta 2494 2007-12-19 15:09 new file
-Phần in đậm là quyền của kitty, kitty là chủ của file này nhưng lại không có quyền x(thực thi) mình đoán là do đây là file văn bản giống dạng file log mà bạn tạo ra trong vd dưới phải không ?
-Phần gạch dưới là quyền của group nào vậy ? quanta hay user ?
Nếu user kitty tạo 1 thư mục trong To do write, thư mục đó cũng có group là quanta và thuộc tính "s" được gán cho group permission:
drwxrwsr-x 2 kitty quanta 4096 2007-12-19 14:56 untitled folder
-Phần gạch dưới ở đây mình cũng hỏi giống như trên. Nếu là quyền của group quanta thì việc $ sudo chmod g+s To\ do\ write là dư nhỉ vì quyền dành cho other của To do write đã là r-x rồi hay là vì $ sudo chmod g+s To\ do\ write nên quyền dành cho other mới là r-x ? Cái này thì phải xem quyền lúc đầu của To do write mới biết được
Về vd ở dưới, theo mình hiểu vì:
File yourscript.sh này có permission là:
-rwxrwxr-x 1 quanta quanta
Nên đáng lẽ kitty có thể thực thi file này nhưng vì yourscript.sh có đụng tới yourlog.log nên quanta mới phải $ sudo chmod +x yourscript.sh để kitty xài được yourscript.sh (mà ở đây sao lại dùng sudo nhỉ, user quanta là chủ yourscript.sh rồi mà ?). Ở đây yourscript.sh viết thêm vào yourlog.log nên kitty ngoài quyền x (đã là file văn bản sao phải cân quyền x nhỉ ?) phải có quyền write vào yourlog.log, vậy $ sudo chmod g+s yourscript.sh giúp kitty có thể write phải không ? Nếu không thì cần gì $ sudo chmod g+s yourscript.sh mà chỉ cần $ sudo chmod +x yourscript.sh ở trên là đủ rồi.
Mình cứ cảm thấy SUID bao hàm SGID , vì như vậy giống như quanta nói ở trên " SGID cho một file cũng tương tự như SUID cho một file".
|
|
|
Chào BigballVN, mình có đọc ebook về Linux và sau khi đọc bài viết của bạn vẫn còn vài chỗ chưa hiểu mong bạn đáp dùm:
SUID - Set User ID on execution là gì? Tôi giải thích rõ cho bạn qua ví dụ sau: user huy có một file chương trình có tên là lamviec. Để có thể chạy được, lamviec phải truy cập đến vài thứ trong file dulieu. File dulieu thuộc quyền sở hữu của huy. Như vậy thì huy có thể chạy được lamviec mà không gặp phải vấn đề gì. Tuy nhiên, bây giờ nếu có một người bạn của huy là anh không ở cùng nhóm với huy cần chạy file lamviec! anh sẽ không thể nào chạy được file lamviec bởi vì nó cần truy cập đến file dulieu của huy, mà file này lại không thuộc quyền sở hữu của anh. huy sẽ chmod o+wr cho file dulieu! Làm như vậy thì người khác sẽ đọc và ghi được file này răng! Hihi, huy sẽ SUID cho file lamviec bằng lệnh chmod +s lamviec. Bây giờ thì lamviec sẽ chạy với userid là huy, anh có thể chạy được file lamviec mà không gặp phải vấn đề gì. Tuy nhiên anh chỉ có thể đọc hoặc viết vào file dulieu thông qua lamviec. anh không thể nào có thể đọc hoặc ghi lên file dulieu trực tiếp trừ phi anh có quyền root!
SGID - Set User ID on execution là gì? Nghĩa là đặt thuộc tính thừa kế groupid cho một thư mục nào đó. Ví dụ, khi tôi đã sgid cho thư mục abc bằng lệnh chmod 2766 abc thì sau đó, bất kì một người này dù cùng group-id hoặc khác group-id với tôi nếu tạo file nào đó trong thư mục abc của tôi thì file đó sẽ có group-id của tôi, không phải là group-id của người đó!
-Vậy thì làm được gì ? Ý mình là mình không thấy được lợi ích của SGID, vì mình thấy vd như user Huy thuộc group SINHVIEN tạo file dulieu, thì có nghĩa là dulieu thuộc sở hữu của Huy và group SINHVIEN, nếu Anh thuộc group SINHVIEN luôn thì dulieu có thuộc sở hữu của Anh không ? Theo mình đoán là không trừ khi root chgrp SINHVIEN abc, vậy trong vd của bạn nếu Huy set thuộc tính cho dulieu là rwx------ thì dù Anh có cùng group với Huy hay không cũng đâu có xi nhê gì phải không ? Vẫn phải chmod +s lamviec để cho Anh xài thôi ?
-Nếu mình chmod 2766 abc thì có phải tất cả các file được tạo ra trong abc (mặc định) đều có thuộc tính là ?????s???(nếu là file thực thi được) hay ?????S??? (nếu không thực thi được) phải không ?
-Theo như vd của bạn thì set SGID chỉ thấy tác dụng đối với thư mục thôi còn nếu ta chmod 2766 cho file dulieu thì có tác dụng gì ? Xin bạn cho 1 vd cụ thể để mình hiểu về SGID hơn vì trong ebook nói về phần này cũng rất sơ sài.
|
|
|
Yeah, thanks quanta, hôm nay mình cũng hỏi thử 1 người cài mạng LAN và người ta cũng nói như bạn, nhưng mà nếu ta cố ý đánh IP của 1 trong các máy đó trùng với IP của Switch hay Hub thì sao nhỉ ? Người mình hỏi cũng chưa thử làm vậy, mà chắc cũng không ai ở không đi thử , nhưng mình cũng muốn hỏi xem có ai biết không. (hơi bị rảnh ha)
|
|
|
@KZM: Mình đã lên search thử và có chút kết quả. Bây giờ mình biết là private IP được chia như sau :
Lớp A: 10.0.0.0 đến 10.255.255.255
Lớp B: 172.16.0.0 đến 172.31.255.255
Lớp C: 192.168.0.0 đến 192.168.255.255
Vậy có nghĩa là khi ta thấy địa chỉ IP có mở đầu là 10.xxx. hay 172.x (16 <= x <= 31) hay 192.168.x (0 <= x <=255) thì có nghĩa đây là private IP của 1 máy nào đó trong LAN, hoặc là IP của 1 thiết bị như máy in, modem, router,... còn lại đều là WAN IP . Nhưng mình vẫn không biết được IP của mỗi máy trong LAN làm sao mà có ? Dù bây giờ đã biết là không phải do card mạng vì address của card mạng là dạng MAC address 48 bit chứ không phải 32 bit như IP address. Ai có thể giải đáp cho mình thắc mắc này không ?
@quanta: mình đã vào link bạn đưa nhưng topic đó người ta không chỉ cách thay đổi private IP của modem mà chỉ liệt kê user và pass mặc định của các loại modem.Chắc phải log on vào modem để sửa phải không ? Bạn đã làm thử chưa ? Vì mình thì đã quên mất user và pass đã đăng kí với ISP rồi (nói thiệt áh ) nên chẳng biết nhìn cái giao diện sau khi log vào nó ra sao.
|
|
|
Mình đã đọc hết cả 4 trang, thu được nhiều kiến thức bổ ích, nhưng mình vẫn còn 2 thắc mắc sau, mong PXM hay bạn nào đó biết giải thích dùm mình :
1. Về real private IP của PC trong LAN :
Một mạng LAN, thiết lâp sau một ADSL modem, thừong có nhiều máy PC, thí dụ có 15 PC. Mỗi một PC trong LAN sẽ có một IP riêng , thí dụ nó là 192.168.1.10 hay 192.168.1.13. Đây chính là IP riêng thực của máy bạn
(real private IP). "Thực" ở đây không phải là từ phản nghĩa của từ " giả". Nó có nghĩa đia chỉ trên là địa chỉ riêng của chính máy bạn vả lả địa chỉ IP riêng duy nhất trong LAN. Trong LAN không thể có môt PC khác có đia chỉ đúng hệt như v
Lúc đầu đọc xong cứ nghĩ IP này là của cái card mạng trong máy mình hoặc là của cái PC luôn (nghi là cái card mạng nhiều hơn) do khi được sản xuất ra đặt luôn. Và do vậy mỗi IP này là duy 1 của card mạng đó thôi. Nhưng khỉ đọc đến page 3 :
- Trong môt mạng LAN, nó có tính unique( duy nhất). Nghĩa là không thể có hai IP riêng giống hệt nhau trong môt LAN. Mặc dù có hàng triệu IP riêng giống hệt nhau trên hàng triệu mang LAN trên toàn thế giới. Trong khi tại một thời điểm thì trên mạng Internet toàn thế giới, môt WAN IP address luôn là một đia chỉ WAN duy nhất.
- Các Private IP không hợp lệ trên mạng Internet(WAN), như đã nói ở trên.
Nhân nói về WAN IP và Private IP tôi sẽ xin trình bầy ý kiến của mình trong post tới, về câu hỏi 1 của tôi đã đặt ra. Nó cũng có liên quan đến WAN IP và Private IP address
Mạng trong trường mà bạn Fal đang học thực tế không phải là một mạng LAN đơn giản, như ta vẫn thường thấy chúng ở nhà, hay tại các cửa hàng dịch vụ internet. Nó là một LAN phức tạp, có thể gọi là LAN trong LAN hay nhiều LAN trong một LAN. Các PC có IP riêng là 192.168.100.xxx tạo thành 1 LAN và chúng có gateway là 192.168.100.1.
192.168.100.1 cũng được gọi là IP riêng mặc định của toàn bộ LAN này. Tai các LAN đơn giản, thì gateway IP nói trên, cũng là IP riêng mặc định của một ADSL modem. Nhưng trong trừong hợp tại mạng trừong của Fal thì mạng LAN 192.168.100.xxx ( tạm gọi là mạng LAN A) lại nối với một switch hay một modem ( tạm gọi là modem nhỏ) và rồi switch hay modem nhỏ này lại nối một modem khác ( tạm gọi là modem lớn) có một IP riêng mặc định là 192.168.2.149. Modem có IP riêng là 192.168.2.149 này kết nối trực tiếp với mạng Internet bên ngoài , thông qua một DSLAM. Vì vậy nó có một WAN Dynamic IP tại thời điểm Fal khảo sát, là 82.117.66.149 .
Rõ ràng là từ modem lớn có IP riêng mặc định là 192.168.2.149 này, ta có thể thiết lập một mạng LAN khác, tạm gọi nó là mạng LAN B và các máy trong mạng LAN B này cụng có thể có các đia chỉ IP riêng là môt IP trong dãy IP 192.168.100.xxx. Cũng như vậy có thể thiết lập các LAN khác: LAN C,LAN D.... Nếu 192.168.2.149 là IP riêng mặc định của modem lớn, thì các máy PC trong mạng LAN A sẽ củng có một gateway là 192.168.100.1 . 192.168.100.1 cũng là IP riêng mặc định của cả mạng LAN A, hay của modem nhỏ ( dủng cho LAN A). Nhưng modem nhỏ này lại có một IP riêng khác, về phía giao tiếp với modem lớn, thí dụ nó là 192.168.2.147 chẳng hạn. Còn LAN B thí dụ là 192.168.2.146.
Các LAN A, B, C, D tạo nên một LAN lớn sau ADSL modem ( modem lớn). Vì vậy có thể gọi là LAN trong LAN.
Đến đây thì đúng là tẩu hỏa nhập ma , vậy là real private IP này không liên quan gì đến card mạng(hố nặng rùi ) ? Khi thiết lập 1 LAN Admin sẽ dùng 1 cơ chế nào đó cấp phát IP cho từng máy trong LAN đó ? Nếu vậy thì trong vd của FAL ở trên trong LAN A có 1 máy có real private IP là 192.168.100.13 và trong LAN B cũng có thể có 1 máy có real private IP là 192.168.100.13 ?
2. Về private IP của modem : mình đang xài modem Zyxel, khi nhập IP 192.168.1.1 vào trình duyệt thì nó sẽ bắt nhập user và pass mà mình đã đăng kí với ISP để chỉnh sửa thông số trong modem, có phải tất cả các modem Zyxel đều có IP này ? Tương tự như modem Speedtouch của phstiger có IP 192.168.1.254 ?
Bài post dài dòng lủng củng mong các bạn thông cảm .
|
|
|
Những link trên hiện nay nếu không die thì cũng hết bandwidth, có bạn nào down rồi làm ơn post lên 1 host khác dùm mình được không ?
|
|
|
Thanks bạn rất nhiều, cuốn 1.0 mình đã rất thích, giờ cuốn này lại có Perl và Pythoon mà mình cần, đọc tài liệu tiếng Anh 2 ngôn ngữ này hơi khó, giờ có tiếng Việt sẽ giúp mình rất nhiều.
|
|
|
|
|
|
|