顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - sclin2k

頁: [1] 2 3
1
感謝 twu2 的幫忙!

依照你第一點的方式修改已經可以執行了。


非常感謝!!! ;D ;D ;D

2
我有找到一篇寫到,當傳入變數且是用 cursor.execute 執行時,所傳入的變數會被當成是字串,
所以才會造成無法達到 select 所應得到的資料。

不知照我上面貼的程式碼可有解法?

 ;D ;D ;D 我也承認我也不懂,所以亂搞卡著頭痛 ;D ;D ;D

有試著改變成傳兩個變數進去:
def DB_return2(exec_cmd,Gname):
    connection = mysqldb.connect('localhost', 'ocs', 'passwd', 'ocsdb',charset='utf8');
    with connection:
        cursor = connection.cursor()
        cursor.execute(exec_cmd,Gname)

        rows_info = cursor.fetchall()
        return rows_info
.........................................
.........................................
省略



connection = mysqldb.connect('localhost', 'ocs', 'passwd', 'ocsdb',charset='utf8');
with connection:
    cursor = connection.cursor()
    cursor.execute("SELECT * FROM accountinfo")
    numrows = int(cursor.rowcount)

    for i in range(numrows):
        row = cursor.fetchone()
        GsheetName = row[1]    ////抓出使用者 TAG 名稱指定給 GsheetName 使用者變數

        rows_accest = DB_return2("SELECT DISTINCT \
A.HARDWARE_ID,A.TAG,H.NAME,H.PROCESSORT,H.MEMORY,S.DISKSIZE,M.CAPTION,SF.NAME \
from accountinfo as A \
join hardware as H \
join monitors as M \
join storages as S \
join softwares as SF \
where \
A.HARDWARE_ID=H.ID \
and A.HARDWARE_ID=S.HARDWARE_ID \
and S.TYPE='Fixed hard disk media' \
and A.HARDWARE_ID=M.HARDWARE_ID \
and A.HARDWARE_ID=SF.HARDWARE_ID \
and A.HARDWARE_ID=H.ID \
and SF.NAME not like '%Hotfix%' \
and SF.NAME not like '%Update%' \
and A.TAG like", GsheetName)

結果變成下列的錯誤訊息:
[root@ocs ~]# python OcsAssetUpGoogleExcel2.py
Traceback (most recent call last):
  File "OcsAssetUpGoogleExcel2.py", line 149, in <module>
    and A.TAG like",GsheetName)
  File "OcsAssetUpGoogleExcel2.py", line 21, in DB_return2
    cursor.execute(exec_cmd, Gname)
  File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line 187, in execute
    query = query % tuple([db.literal(item) for item in args])
ValueError: unsupported format character 'H' (0x48) at index 397



3
先聲明;下列程式是從網路上抄來的

原先的程式是將所有人的電腦設備資料寫入同一 Google 試算表分頁,但我想將它改寫成依使用者寫入不同的分頁。

目前遇到的問題是在 MySQL select 語法時無法將GsheetName變數代入

但將 GsheetName 換成固定的字串是可以執行的,會產生每個使用者的試算表分頁,但因為 select 是同一使用者名稱,
當然 select 出來、填入的資料也是同一人的資料。


def DB_return(exec_cmd):
    connection = mysqldb.connect('localhost', 'ocs', 'passwd', 'ocsdb',charset='utf8');
    with connection:
        cursor = connection.cursor()
        cursor.execute(exec_cmd)

        rows_info = cursor.fetchall()
        return rows_info
.........................................
.........................................
省略



connection = mysqldb.connect('localhost', 'ocs', 'passwd', 'ocsdb',charset='utf8');
with connection:
    cursor = connection.cursor()
    cursor.execute("SELECT * FROM accountinfo")
    numrows = int(cursor.rowcount)

    for i in range(numrows):
        row = cursor.fetchone()
        GsheetName = row[1]    ////抓出使用者 TAG 名稱指定給 GsheetName 使用者變數

        rows_accest = DB_return("SELECT DISTINCT \
A.HARDWARE_ID,A.TAG,H.NAME,H.PROCESSORT,H.MEMORY,S.DISKSIZE,M.CAPTION,SF.NAME \
from accountinfo as A \
join hardware as H \
join monitors as M \
join storages as S \
join softwares as SF \
where \
A.HARDWARE_ID=H.ID \
and A.HARDWARE_ID=S.HARDWARE_ID \
and S.TYPE='Fixed hard disk media' \
and A.HARDWARE_ID=M.HARDWARE_ID \
and A.HARDWARE_ID=SF.HARDWARE_ID \
and A.HARDWARE_ID=H.ID \
and SF.NAME not like '%Hotfix%' \
and SF.NAME not like '%Update%' \
and A.TAG like GsheetName")     ////select 時無法將變數代入,換成固定的字串是可以的

        GSheet_write(GSpreadSheet,GDriveJSON,rows_account_desc,rows_accest,GsheetName)    ////這裡的 GsheetName 是可以代入變數,產生不同的使用者分頁


出現的錯誤訊息:
Traceback (most recent call last):
  File "OcsAssetUpGoogleExcel2.py", line 137, in <module>
    and A.TAG like GsheetName")
  File "OcsAssetUpGoogleExcel2.py", line 12, in DB_return
    cursor.execute(exec_cmd)
  File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1054, "Unknown column 'GsheetName' in 'where clause'")


請大家幫忙,要如何修改才能在 select 時,代入使用者變數?




4
所以那行指令也是下在NAT(Ubuntu)那台嗎 ???

iptables 及路由我有點弱,不好意思 ;D


另外,我下那行指令會出現。—dport multi ......的錯誤

所以把 —dport 拿掉了,變成:
/sbin/iptables -t nat -A POSTROUTING -d 222.222.222.222 -j SNAT --to-source NAT_Server_IP(這裡是換成我伺服器的IP ??? 再詳細的回覆又好像是要填外部Client ip ???)

那我再試試,可能是我把 —dport 拿掉的問題,所以 routing 還是有問題。

我再多試幾次!

非常感謝 netman 的回覆,幫助了廣大的 Linux 使用者。


那個跟 windows 無關啊,純 IP protocol 的事情...

5
唉啊!!! 我之前沒說清楚!

我 NAT 過去的伺服器(222.222.222.222)是 Windows 系統,下列那條指令不能下了。


DNAT 過去的 server 在回應的時候, 封包要回到 NAT 身上, 而不是直接回給 client ...
所以, 你最好再多加一行規則:
/sbin/iptables -t nat -A POSTROUTING -d 222.222.222.222--dport 389 -j SNAT --to-source YOUR.NAT.IP.ADDRESS
(請將YOUR.NAT.IP.ADDRESS改成您 NAT 的 IP)

6
會這樣做只是要臨時讓外部 Client 輸入帳密後暫時打開通往另一台軟體驗證主機做驗證的權限。

完成後就會關閉該 Client IP 的 Policy。

7
感謝您的回覆,
我在把那條routing加上。
謝謝你!

8
大家好,

目前遇到一個情況;
系統環境: Ubuntu 16.04 ,配置一個 PUBLIC IP

當使用者輸入帳密驗證後,利用 iptables 寫一筆 NAT policy 將來源 IP、封包轉到 Internat 上另一台主機(有限制連線主機)。

一張網卡可以做嗎?

這樣下 nat policy OK嗎?
/sbin/iptables -t nat -A PREROUTING -s 111.111.111.111 -p tcp --dport 3389 -j DNAT --to-destination 222.222.222.222:389


9
自己回一下;
在 Samba 官網有一篇 2003 年的一篇文件: https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/passdb.html

ldapsam
There are a few points to stress that the ldapsam does not provide. The LDAP support referred to in this documentation does not include:
A means of retrieving user account information from a Windows 200x Active Directory server.
A means of replacing /etc/passwd.

所以是沒辦法利用 ldapsam 從 Windows 200x Active Directory 讀取名單的意思吧?
但現在是 2017 年了,不知是不是己經可以讀取了???

10
  failed to bind to server ldap://192.168.60.253:389 with dn="cn=vmail,dc=tw,dc=example" Error: Invalid credentials

先確定能夠通過驗證再往後面走...

在主機上,直接使用下列方式是可以讀取名單:
ldapsearch -x -H ldap://192.168.60.253 -D 'tw\vmail' -W -b 'dc=tw,dc=example'

也有將 smb.conf 設定檔裡的 vmail 密碼,利用 smbpasswd -W 設定密碼。(vmail 是 AD 網域裡的帳號)
但 samba 啟動出現<無效的認證>,難道是不能用 smbpasswd 來設定 domain 帳號的密碼?????


額外補充:
mail server roundcube 裡的通訊錄也是從 AD 裡取得人員名單,
但搞不定 samba smb.conf 設定檔要怎麼設定,才能從 AD 驗證帳號密碼???

11
先貼上 smb.conf 設定檔內容:
[global]
        passdb backend = ldapsam:ldap://192.168.60.253:389
        encrypt passwords = yes
        ldap admin dn = cn=vmail,dc=tw,dc=example
        ldap ssl = no
        ldap suffix = dc=tw,dc=example

        log level = 3
        log file = /var/log/samba/smb.log
        max log size = 50
        template shell = /bin/bash

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

依上面的設定連線 Windows AD 驗證時,samba.log 訊息出現:
[2017/05/03 17:29:45.129863,  2] ../source3/lib/smbldap.c:794(smbldap_open_connection)
  smbldap_open_connection: connection opened
[2017/05/03 17:29:45.133564,  2] ../source3/lib/smbldap.c:998(smbldap_connect_system)
  failed to bind to server ldap://192.168.60.253:389 with dn="cn=vmail,dc=tw,dc=example" Error: Invalid credentials
     80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1
以及:
[2017/05/03 17:49:10.309081,  2] ../source3/passdb/pdb_ldap_util.c:287(smbldap_search_domain_info)
  smbldap_search_domain_info: Problem during LDAPsearch: Timed out
[2017/05/03 17:49:10.309132,  2] ../source3/passdb/pdb_ldap_util.c:288(smbldap_search_domain_info)
  smbldap_search_domain_info: Query was: dc=tw,dc=example, (&(objectClass=sambaDomain)(sambaDomainName=CENTOS7))
[2017/05/03 17:49:10.309147,  0] ../source3/passdb/pdb_ldap.c:6540(pdb_ldapsam_init_common)
  pdb_init_ldapsam: WARNING: Could not get domain info, nor add one to the domain. We cannot work reliably without it.
[2017/05/03 17:49:10.309182,  0] ../source3/passdb/pdb_interface.c:180(make_pdb_method_name)
  pdb backend ldapsam:ldap://192.168.60.253:389 did not correctly init (error was NT_STATUS_CANT_ACCESS_DOMAIN_INFO)

Samba 版本是 4.6.3(samba-4.6.3.tar.gz)

這台 CentOS 7 沒有 join domain,純粹想直接連到 AD 做帳號驗證。
一直無法成功,也不知問題出在哪???
請版上各位協助!!!
感謝。


12
大家好,

環境:VMware Workstation 11 安裝 CentOS 7,執行 cacti,DNS
在網路上google了很多,都沒找到答案
我的 messages log 檔裡一直出現 net_ratelimit: xx callbacks suppressed
沒有其他錯誤訊息,不知道這代表什麼意思呢?
如果照字面看,好像跟《網路》有關,不知要如何調整系統設定?

13
放到最前面也擋不了,這次我還從另一台Linux用 ldapsearch -h 192.168.1.254 -x -b "ou=people,ou=test,dc=xxxxx,dc=com,dc=tw" sn=*
整個名單都抓到了 ???

把 anonymous 放前面呢?

14
slapd.conf 的存取權限如下,這樣的設定無法阻擋未認證的使用者存取 LDAP 名單嗎?

access to attrs=userPassword
       by self write
       by anonymous auth
       by dn.base="cn=root,dc=ldap,dc=xxxx,dc=com,dc=tw" write
       by * none

access to *
       by self write
       by users read
       by anonymous none
       by dn.base="cn=root,dc=ldap,dc=xxxx,dc=com,dc=tw" write
       by * none

我的測試方式是利用 outlook 裡面的通訊錄,在裡設定好 LDAP 連結,但未勾選設定<此伺服器需要我登入>,另在<其他設定、搜尋、自訂>輸入 dc=xxxx,dc=com,dc=tw。

這樣還是可以搜尋 LDAP 名單,是我的測試方式錯誤嗎?

15
唉!我也覺得奇怪丫
但前人留的字條確實這樣寫 ???

就算不熟,遇到任何事情先看 log 不是最基本的嗎?
怎麼會是清 log?

16
大家好,
我對MySQL資料庫完全不熟及之前的人員有建置了內部使用的WEB EIP系統。剛到目前就職的公司時,完全沒有資訊人員交接工作事項(之前的都走了),且我負責的是網管部份。
最近公司MySQL在查詢時會LAG的很嚴重(某些查詢動作),有時都覺得它掛了。之前的人留下的小字條說LAG時要清資料庫LOG :'(

1.想請問資料庫有各自的LOG嗎?我查了又查,看了又看,找不到有其他的LOG ???
2.如標題,ibdata1 這個檔案有12GB的大小,這樣正常嗎?有辦法用最簡單的方法縮小嗎?

請大家幫我出個主意和方向,感謝!

17
謝謝netman給我個方向,如果問題解決了再上來回報。

18
我又發現一個問題,如果我用一般的USER登入SERVER,利用 su - xxx 會一直出現 su: incorrect password,
 :'( 天啊! 現在才發現之前的人裝起來時,就有這個問題了。而我一直用root登入也沒切換到其他使用者,所以一直沒發現這個問題! :'(
到底是修改了什麼權限啊!!!!!

這一篇和我遇到的問題是一樣的:
http://www.linuxquestions.org/questions/linux-newbie-8/unabel-to-switch-user-shell-869157/

19
謝謝netman

我不是nslcd設定,

最先的 shadow權限我己經裝一台Centos 6 來對照,原先的權限沒問題。重新產生shadow也無法解決 :'(

我把設定貼上來(我也不確定到底是不是LDAP引起的),我是用SSH連線進去幫USER改密碼,順便每日查看secure log發現改完後的訊息。這是錯誤訊息是出現在用SSH進去 <passwd xxxxx> 幫USER改密碼,如果USER透過WEB改密碼是不會有錯誤訊息。上網查好像跟pam_gnome_keyring.so模組有關,有用到的模組:pam.d裡的 login,gdm-password,passwd都看過,但不知問題在哪 :'(

slapd.conf:
database config
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
        by * none

database monitor
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
        by dn.exact="cn=root,dc=AAA,dc=BBB,dc=com,dc=tw" read
        by * none

access to attrs=userPassword
       by self write
       by anonymous auth
       by dn.base="cn=root,dc=AAA,dc=BBB,dc=com,dc=tw" write
       by * none

access to *
       by self write
       by users read
       by dn.base="cn=root,dc=AAA,dc=BBB,dc=com,dc=tw" write
       by * none

database        bdb
suffix          "dc=BBB,dc=com,dc=tw"
checkpoint      1024 15
rootdn          "cn=manage,dc=BBB,dc=com,dc=tw"
rootpw          {SSHA}
其他預設。

ldap.conf:
BASE    dc=BBB,dc=com,dc=tw
URI     ldap://127.0.0.1

補充:我有把 LDAP service 停用測試,還是有上面的錯誤訊息 :-\

20
大家好,
我剛到新公司接手一台別人建置的 Centos 6 的系統,幫USER變更密碼可以變更,但secure log 檔裡會出現如下訊息:
passwd: gkr-pam: couldn't update the 'login' keyring password: no old password was entered

查看/etc/shadow的權限是沒有任何權限,擁有者是root。不知道正不正常?我另一台是 Centos 5權限是644,剛到新公司還沒時間裝測試機對照 :-\

我也試著變更shadow的權限無效!上網查了說可以用pwconv重新產生一個新的shadow檔案,但沒自己試過所以先上來問問。也有另一個解法是說 sudo 的限制,也查看了沒變動過。

請有經驗的前輩先幫忙解答,感謝!

補充:我又找到一篇是說與LDAP有關,我的SERVER有架LDAP給MAIL使用,但還是不知要如何解決 ???

21
有沒有可能 SWITCH 的 PORT 要指定成全雙工,不要用預設 AUTO
純粹猜測 ;D

22
謝謝 hikohan,終於透過 cpan 解決了。

rpm 建議用官方釋出的,不然如果有善心人士幫你整組打好的。

perl 可以直接利用 cpan install ,或者手動 perl MAKEFILE.PL 打造 。

23
您好,
會安裝這個套件是因為安裝MailScanner時它會一併安裝
但不知為什麼這個套件裝不起來
所以想另外想辦法試著安裝它
謝謝您

補充一下:我有先在測試機安裝是可以正常安裝,結果在正常服務的主機裝不起來,還好MailScanner還是可以正常啟動及掃瞄,不然就......

24
我的系統是 CentOS 6,rebuild "perl-Compress-Raw-Zlib-2.027-1.noarch"出現的錯誤訊息,看起來像是缺了套件,但不知從何查起,請大家幫幫忙,謝謝!!!

補充:rpm-lib 版本是 rpm-libs-4.8.0-27.el6.i686

Processing files: perl-Compress-Raw-Zlib-2.027-1.noarch
Provides: Zlib.so perl(Compress::Raw::Zlib) = 2.027
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1
Requires: libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) rtld(GNU_HASH)
錯誤:Arch dependent binaries in noarch package


RPM 組建錯誤:
    Arch dependent binaries in noarch package

25
可以,我自己有這樣做過,可以正常使用,但要注意各目錄的權限,如果有 service 在跑要先暫停
系統版本:CentOS 5

把原來的 /home 目錄更名,再新建一個新的 /home(要注意目錄權限),將新硬碟格式化、mount 到新的 /home,再將各使用者的目錄搬到新掛載的 /home 目錄內(要再檢查一下各使用者目錄的權限)

26
本人公司使用Kaspersky的感覺:我們公司現在就是用Kaspersky,USER現在每次更新病毒碼都要花半個小時以上(公司內有架一台Kaspersky Administrator kit,也有可能是我們公司的伺服器太弱了),使用者反應電腦都卡卡的,都快跑不動了。

Anti Vir 我只用過個人免費版,感覺不太耗資源,更新的速度也還可接受。企業版還沒用過,可以請有用過企業版的大大提供一下使用感覺,因為我也要評估一下要換哪一家的防毒軟體比較好。

27
您可以 Google 一下 fail2ban postfix,網路上有很多資料可參考。

28
看來似乎是做不到了。
想這麼做是因為不想弄數個登入設定檔,重點是想學點批次檔的寫法及用法
之前我是利用使用者名稱在登入網域時,建立不同的網路磁碟或者匯入不同的登入檔.............
但這個用在小公司可以,但如果想在二、三百人的公司就不適用了。
我想在大公司可能分數個設定檔才是最好的維護方式吧。
感謝各位的回應!!!

29
想在使用者登入 Windows AD 網域時,利用批次檔取得使用者所屬群組,進而執行特定的功能。
但現在我只能取得使用者名字,不知如何才能用批次檔指令取得所屬群組???

30
Linux 討論版 / 回覆: DNS設定問題請教
« 於: 2010-09-28 11:01 »
目前有個狀況
假設XXX.com.tw為敝公司網域
授權YYY部門自行管理其子網域(即YYY.XXX.com.tw)
想請教各位
YYY.XXX.com.tw 此 A 記錄正確應該設定在何處
是在XXX.com.tw的zone File內,除了加NS記錄外,再指定A記錄
{
   YYY           IN    A    192.168.100.2
   YYY           IN    NS   dns.YYY
   dns.YYY      IN    A    192.168.100.5
}
還是由YYY部門於自行的Zone File內指定 A記錄呢?
{
                    IN    NS  dns
                    IN    A   192.168.100.2
   dns             IN   A   192.168.100.5
}
謝謝


我的作法是在主網域下加入子網域的 NS 及 A 記錄;而子網域的管理者再自行設定自已管理的主機對映在子網域的 DNS 內。

頁: [1] 2 3