發表文章

Linux FAQ : 其他用戶沒法查看 crontab 和 無法切換到另一個用戶

圖片
  權限 root 以外用戶使用 su 切換用戶被擋住 參考 : https://cloud.tencent.com/developer/article/1020334 https://unix.stackexchange.com/questions/61876/su-permission-denied-despite-correct-password https://blog.csdn.net/master336/article/details/121972302 http://iamnotpg.blogspot.com/2015/11/crontab-e.html https://support.oneidentity.com/safeguard-authentication-services/kb/4271211/user-unable-to-run-crontab-command-due-to-error-you-username-are-not-allowed-to-access-to-crontab-because-of-pam-configuration 檢查是不是沒有 setuid chmod u+s /bin/su 測試用戶可以切換 如還是被擋住 檢查 /etc/pam.d/su 預設 wheel 群組是管理用 可以把該段註解 用戶查看排程 也需要給權限 chmod u+s /bin/crontab 如缺少 /etc/cron.deny 也會不能執行 可以給一個空檔案

Linux FAQ : 如何更改檔案 權限

  Linux FAQ : 如何更改檔案 權限 參考 :  https://superuser.com/questions/648163/recursively-chown-all-files-that-are-owned-by-a-specific-user 更改檔案 # chmod permission_number file # example : chmod 775 abc.txt # change file owner or group # chown owner file # example : chown berry abc.txt # chgrp group file # example : chgrp apple abc.txt # chown owner.group file # example : chown berry.apple abc.txt 大量調整檔案 find . -type d -iname '???' -user old_user -exec chown -R new_user:new_group {} \\; 測試情境 find . -type d -iname 'zh_TW' -user tiptop -exec chown -R tiptop:tiptop {} \\; 簡介 : 找出目錄名稱為 zh_TW 用戶為 tiptop 執行更改此目錄全部檔案 用戶 tiptop 群組 tiptop

Linux FAQ : 系統重啟時間分析

圖片
  系統重啟時間分析 How long is system boot spend  ?  參考 : Time it takes to reboot a Linux server Is there a way to see the execution tree of systemd? systemd-analyze ( 大略需要時間 ) 啟動 systemd 後上次啟動花費了多少時間。 這沒有考慮 BIOS/硬件初始化或 GRUB 超時, 但對於實際的操作系統啟動時間應該是準確的 systemd-analyze blame ( 解析 )

Linux FAQ : create or change user setting

圖片
  建立帳號與修改 參考 : https://www.golinuxcloud.com/check-last-password-change-expiration-linux/ 密碼 換密碼 passwd root : passwd 帳號 查看密碼最後調整日期 chage -l 帳號 密碼複雜度 https://www.2daygeek.com/how-to-set-password-complexity-policy-on-linux/ 批次修改用戶 密碼 chpasswd 參考 : https://www.cnblogs.com/souhaite/p/10585585.html echo 帳號:密碼 | chpasswd

Linux FAQ : 內存 排查 介紹

  內存 參考 : https://www.itread01.com/content/1547590715.html 簡介 : https://binaryterms.com/swapping-in-operating-system.html http://blog.is36.com/tag/linux/ linux在終端環境下可以使用 free 命令看到系統實際使用內存的情況, 一般用free -m方式查看內存佔用情況(兆為單位)。 而系統實際可用內存是不是free部分呢,不是的, 系統實際內存佔用以及可用內存有如下幾個加減法: used=total-free  即  total=used+free 實際內存佔用: used-buffers-cached  即  total-free-buffers-cached 實際可用內存: buffers+cached+free Linux 查看正在吃 swap 的程式 參考 : https://blog.longwin.com.tw/2017/02/linux-find-use-swap-process-2017/ https://www.cyberciti.biz/faq/linux-which-process-is-using-swap/ ps -eo vsz,rss,pid,args | 排序 -n 第一列是虛擬內存使用情況,也稱為交換,具體取決於您選擇的定義... #一行查看方式 for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file ; done | sort -k 2 -n -r | less #pmap pmap -x pid | tail -n 1 |awk '{print $5}'

Linux FAQ : iptables 介紹

  防火牆設定 iptables 參考 : ( https://www.cyberciti.biz/faq/linux-disable-firewall-command/) iptables 指令入門 - Linux 技術手札 Linux的iptables防火牆設定記事 iptables 的安裝與設定 iptables實用知識 ,一文學會配置linux防火牆 CentOS 7 關閉防火牆及 SELinux - Linux 技術手札 What can be the reasons of connection refused errors? https://www.quora.com/How-do-you-open-port-80-on-Linux iptables 可以設定主機 ip 白名單與黑名單 限制來源提升安全性 port 也可以做設定 查看 : iptables -L 規則 先後順序 : 先設定有優先級 範例 : 先開通 10.40.40.20 port 80 , 在封鎖 10.40.40.20 網段 10.40.40.20 port 80 還是可以通 先封鎖 10.40.40.20 網段 , 在開通 port 80 10.40.40.20 port 80 被擋住 設定 : 開啟 22 port : iptables -A INPUT -i ens192 -p tcp -s 10.40.53.191 --dport 22 -j ACCEPT 開通 測試可以直接輸入指令 不用重啟防火牆 process 沒有 pid 參考 : How to identify a process which has no pid? netstat -antlp | grep 45136 ss -apn|grep :111 netstat --program --numeric-hosts --numeric-ports --extend find -inum 152555007

Linux FAQ : crontab 介紹

圖片
  排程 crontab 簡介 參考 :  https://ubuntuqa.com/zh-tw/article/10392.html 設定一個定時啟動程序 簡介 情境 : 寫一支一直檢查 系統狀況程序 然後想設定 何時才檢查 那麼可以用 Linux 提供的設置 crontab 登入 用戶後 輸入 crontab -e ( 預設是 vi 編輯器 ) 開始編輯吧 常用 crontab -l 查看自己的 crontab crontab -u 名稱 -l 顯示特定使用者 crontab crontab -e 編輯 crontab crontab -u 名稱 -e 編輯特定使用者 crontab crontab -r 刪除全部的 crontab 範例 #every 3 minute run abc015 */3 * * * * . /u1/etc/chenv 2; sh abc015 >>/u1/123/app/4xx/abc015_log.log 2>&1 #日期寫log "/u1/123/app/4xx/ $(date +"\%Y\%m\%d") _abc015.log" 2>&1 #每小時執行程式 * */1 * * * . /u1/etc/chenv 2; sh abc022 >> "/u6/123/sync_tmp/abc022_log/ $(date +"\%Y\%m\%d") _abc022.log" 2>&1 注意事項 Linux 排程也不能設定太多 要根據系統負載 評估 主要是因為 Linux 啟動排程是呼叫 watch dog 來帶起程序 如太多 會在同一時間看到 有 一堆 watch dog 系統資源太低 很容易造成 整個 Linux 卡頓 watch dog 其他設定介紹 排程更新 ex - /var/spool/cron/root <<%% a */1 * * * * sh /u3/bin/abc.sh . wq! %% 排程執行目錄 登入 root 查看 /var/log/cron 搜尋想找的程序名稱 , 會看到幾點有運行 除了⼀般使⽤