2015/10/21

關於SElinux的檢查


From:
http://www.thedumbterminal.co.uk/posts/2010/07/how_to_troubleshoot_selinux_problems.html

PS:用tail或者cat都可以

cat /var/log/audit/audit.log /var/log/messages | audit2allow
semodule -i mysemanage.pp
 
SELinux errors are logged to syslog by default in Cenntos they are logged to the following file locations:
  • /var/log/audit/audit.log
  • /var/log/messages
其中audit2allow在setroubleshoot套件中

 chcon
 傳統的 chmod 指令是用來設定檔案或目錄的權限的,而同樣的 chcon 指令則是用來設定 SELinux 對檔案或目錄的 content 標籤的

From:http://dywang.csie.cyut.edu.tw/moodle23/dywang/rhcsaNote/node77.html

  • 產生 SELinux 允許的政策模組。
    [root@ip180 ~]# audit2allow -a -M mycertwatch
    ******************** IMPORTANT ***********************
    To make this policy package active, execute:
    
    semodule -i mycertwatch.pp
    
  • 查看產生的模組。
    [root@ip180 ~]# ll mycertwatch*
    -rw-r--r--. 1 root root 885 Jul  1 09:39 mycertwatch.pp
    -rw-r--r--. 1 root root 211 Jul  1 09:39 mycertwatch.te
    
  • 加入新產生的 SELinux 政策模組。
    [root@ip180 ~]# semodule -i mycertwatch.pp
    
  • 查詢 SELinux 模組
    [root@ip180 ~]# semodule -l | grep mycert
    mycertwatch 1.0
    
  • 上述的政策允許某一拒絕,執行時可能還會出現新的拒絕。依同樣的方式再做一次,直到可以為止。
    [root@ip180 ~]# audit2allow -a -M mycertwatch2
    ******************** IMPORTANT ***********************
    To make this policy package active, execute:
    
    semodule -i mycertwatch2.pp
    
    [root@ip180 ~]# semodule -i mycertwatch2.pp
    
     





  •  
     

    MySQL各類引擎對比



    FROM:
    http://blog.roga.tw/2008/11/mysql-%E8%B3%87%E6%96%99%E5%BA%AB%E5%84%B2%E5%AD%98%E5%BC%95%E6%93%8E%E7%9A%84%E9%81%B8%E7%94%A8/
    http://ssorc.tw/663
    http://twpug.net/docs/mysql-5.1/pluggable-storage.html
    簡而言之:
    項目 MyISAM InnoDB Memory
    空間限制 64TB 記憶體
    transaction x x
    大量 Insert 速度
    設置外來鍵 x x
    鎖定層級 資料表 資料列 資料表
    二元樹索引 不知
    雜湊索引 x
    全文搜尋索引 x x
    資料壓縮 x x
    資料快取 x
    索引快取
    記憶體佔用
    磁碟佔用 x

    MyISAM 來說,最大的好處是成本低,而且可以 create views
    InnoDB 也是有缺點像是不支援 FULLTEXT 的索引,且記憶體佔用多、磁碟空間耗用大
    下述儲存引擎是最常用的:
    · MyISAM:預設的MySQL插件式儲存引擎,它是在Web、數據倉儲和其他應用環境下最常使用的儲存引擎之一。注意,通過更改STORAGE_ENGINE配置變數,能夠方便地更改MySQL伺服器的預設儲存引擎。
    · InnoDB:用於事務處理應用程式,具有眾多特性,包括ACID事務支援。
    · BDB:可替代InnoDB的事務引擎,支援COMMIT、ROLLBACK和其他事務特性。
    · Memory:將所有數據保存在RAM中,在需要快速搜尋引用和其他類似數據的環境下,可提供極快的訪問。
    · Merge:允許MySQL DBA或開發人員將一系列等同的MyISAM資料表以邏輯方式組合在一起,並作為1個對象引用它們。對於諸如數據倉儲等VLDB環境十分適合。
    · Archive:為大量很少引用的歷史、歸檔、或安全審計訊息的儲存和檢索提供了完美的解決方案。
    · Federated:能夠將多個分離的MySQL伺服器連結起來,從多個物理伺服器建立一個邏輯資料庫。十分適合於分佈式環境或數據集市環境。
    · Cluster/NDB:MySQL的叢集式資料庫引擎,尤其適合於具有高性能搜尋要求的應用程式,這類搜尋需求還要求具有最高的正常工作時間和可用性。
    · Other:其他儲存引擎包括CSV(引用由逗號隔開的用作資料庫資料表的檔案),Blackhole(用於臨時禁止對資料庫的應用程式輸入),以及Example引擎(可為快速建立定製的插件式儲存引擎提供幫助)。
    請記住,對於整個伺服器或方案,您並不一定要使用相同的儲存引擎,您可以為方案中的每個資料表使用不同的儲存引擎,這點很重要。

    2015/10/16

    BootStrap 的重點


    TALBE、datepick

    注意:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    這個千萬不要宣告4.01只要保留
    <!DOCTYPE HTML>就好
    不然版面都會一堆亂七八糟的問題
     
    必要宣告:
     <link rel="stylesheet" href="css/bootstrap.min.css" media="screen">
    <link rel="stylesheet" href="data:text/css;charset=utf-8," data-href="css/bootstrap-theme.min.css"
     id="bs-theme-stylesheet">
    
    <link rel="stylesheet" href="css/font-awesome.min.css">
    <link rel="stylesheet" href="css/prettify.css">
    <link rel="stylesheet" href="css/base.css">
    <link rel="stylesheet" href="css/bootstrap-datetimepicker.min.css">
    <link rel="stylesheet" href="css/bootstrap-table.min.css">
    <link rel="stylesheet" href="css/bootstrap-editable.css">
    
    
    
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
    
    <script type="text/javascript" src="js/bootstrap-table.js"></script>
    <script type="text/javascript" src="js/locale/bootstrap-table-zh-TW.min.js"></script>
    <script src="js/extensions/export/bootstrap-table-export.js"></script>
    <script src="js/extensions/editable/bootstrap-table-editable.js"></script>
    
    <script type="text/javascript" src="js/bootstrap-datetimepicker.js" charset="UTF-8"></script>
    <script type="text/javascript" src="js/locales/bootstrap-datetimepicker.zh-TW.js" charset="UTF-8"></script>
     
     

    2015/9/1

    ISO 的四階文件定義


    From:

    http://lobogaw.pixnet.net/blog/trackback/32dd61d3ef/90548780

     在ISO 9000文件中, 
    一階文件 : 品質手冊 -- QM (Quality Manual), 
    二階文件 : 品質程序書 -- QP (Quality Procedure), 
    三階文件 : 作業說明書 -- WI (Work Instruction), 
    四階文件 : 品質記錄/表單 -- QR/FM (Quality Records/Form).

    規模較小的公司(如 10人~30人), 文件可簡化為三階文件, 將二階文件與三階文件合併. 
    甚至規模更小之公司(如10人以下)可省略二~三階文件, 以便減少維護ISO系統之人力.


    *補充 : 品質系統文件架構, 可以下圖表示之,

    2015/8/5

    task java:26503 blocked for more than 120 seconds


    案發原因:
    JAVA process一直活著,但莫名其妙無法服務,檢查/var/log/messages,發現有下面訊息:
    Jul 31 06:25:19 localhost kernel: INFO: task java:6498 blocked for more than 120 seconds.
    Jul 31 06:25:19 localhost kernel:      Not tainted 2.6.32-504.el6.x86_64 #1
    Jul 31 06:25:19 localhost kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    Jul 31 06:25:19 localhost kernel: java          D 0000000000000000     0  6498  26501 0x00000080
    Jul 31 06:25:19 localhost kernel: ffff88003cd6be08 0000000000000082 ffff88003cd6bdc8 ffff88003cd6bdc8
    Jul 31 06:25:19 localhost kernel: ffff88003cd6bdc8 ffff88000000070d 0000000000000001 00000009ffffffff
    Jul 31 06:25:19 localhost kernel: ffff880000000000 ffffffffa0121e08 ffff88007c99d058 ffff88003cd6bfd8
    Jul 31 06:25:19 localhost kernel: Call Trace:
    Jul 31 06:25:19 localhost kernel: [<ffffffffa0121e08>] ? ext4_file_write+0x58/0x190 [ext4]
    Jul 31 06:25:19 localhost kernel: [<ffffffff81236ba1>] ? file_has_perm+0xd1/0xe0
    Jul 31 06:25:19 localhost kernel: [<ffffffff8152cae5>] rwsem_down_failed_common+0x95/0x1d0
    Jul 31 06:25:19 localhost kernel: [<ffffffff8152cc43>] rwsem_down_write_failed+0x23/0x30
    Jul 31 06:25:19 localhost kernel: [<ffffffff812989f3>] call_rwsem_down_write_failed+0x13/0x20
    Jul 31 06:25:19 localhost kernel: [<ffffffff8152c142>] ? down_write+0x32/0x40
    Jul 31 06:25:19 localhost kernel: [<ffffffff8114545c>] sys_mmap_pgoff+0x5c/0x2d0
    Jul 31 06:25:19 localhost kernel: [<ffffffff81012499>] sys_mmap+0x29/0x30
    Jul 31 06:25:19 localhost kernel: [<ffffffff8100b072>] system_call_fastpath+0x16/0x1b
    google大神告訴我:
    http://www.blackmoreops.com/2014/09/22/linux-kernel-panic-issue-fix-hung_task_timeout_secs-blocked-120-seconds-problem/

    Make it permanent

    When the server seemed more stable and no Kernel/Swap/Memory Panic for a week, I edited /etc/sysctl.conf file to make these permanent after reboot.
    someuser@servercore [/home/someuser]$ sudo vi /etc/sysctl.conf

    vm.dirty_background_ratio = 5
    vm.dirty_ratio = 10
     reboot,繼續觀察是否解決

    補充:
    另外搜尋到關鍵字:hung_task_timeout_secs
    查詢到相關資訊:

    http://blog.uouo123.com/post/700.html

    解決辦法:
    按照告警裡的提示將該提醒disable
    echo 0 > /proc/sys/kernel/hung_task_timeout_secs

    意思就是:
    告知是linux會設置40%的可用內存用來做系統cache,當flush數據時這40%內存中的數據由於和IO同步問題導致超時(120s),所將40%減小到10%,避免超時。






    2015/7/20

    Controller is Missing in Visual Studio 2013

    X的,新裝好的vs 2013馬上就給我下狀況.....
    解決方式如來源
    from:
    ASP.NET MVC - menus missing Add Controller and Scaffolded Item?
    http://awesomebitsnbytes.blogspot.com/2015/01/aspnet-mvc-menus-missing-add-controller.html?spref=bl

    Reinstall Microsoft Visual Studio Asp.net MVC 5 Scaffolding extension

    http://stackoverflow.com/questions/19835385/reinstall-microsoft-visual-studio-asp-net-mvc-5-scaffolding-extension

    解釋如下:
    A.刪掉 HKEY_USERS\<SID>\Software\Microsoft\VisualStudio\12.0\ExtensionManager
    B.刪掉C:\Users\mylogin\AppData\Local\Microsoft\VisualStudio\12.0
    C.刪掉C:\Users\mylogin\AppData\Roaming\Microsoft\VisualStudio\12.0
    D.從原始安裝光碟當中,uninstall然後install下面這兩個msi
    AspNetWebFrameworksTools_VS12_ENU.msi
    webtoolsextensionsvs2013.msi

    至於那些要修改專案的guid的,可以忽略了
    <ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

    手機QQ禁用NFC

    一圖解千言萬語 應用程式權限:透過NFC起動