10月底領到 iPhone 5S 以後,把舊的手機拿給老爸用,結果他說字太小了。摸索一番後發現,其實 iOS 系統本身就有內建把字體放大的功能,但很多用 iPhone 好幾年的人都不知道!
包括我自己也是,可能因為已經不是 18 歲了,把字體調大以後的確有比較舒服的感覺。
以下分別介紹 iOS6 & iOS7 的設定方式。
iOS 6.1.3:
首先進入「設定」->「一般」,選擇「輔助使用」:
接下來設定「放大字體」:
這樣就ok啦!
iOS 7.x:
首先進入「設定」->「一般」,選擇「文字大小」:
在這裡利用拖移滑桿的方式設定想要的字體大小:
另一個設定的地方在「輔助使用」的「較大文字」:
選擇啟用「較大動態字級」的功能:
設定完畢以後,只要支援「動態字級」的 App (主要包括訊息、聯絡人、郵件等)就會根據設定值自動放大字體囉!
2013年11月17日
2013年10月24日
LG Smart TV: 42LN5700 無線網路設定注意事項(預設netmask錯誤)
上週末收到新玩具:LG Smart TV: 42LN5700,開箱以後迫不及待要設定無線網路,卻怎麼都連不上。折騰一番後先連上 iPhone 分享出來的 Wi-Fi 網路,先把系統軟體更新到最新版,再試著重新設定,但還是不行@$&@!... 最後用手動設定,才發現是預設的 netmask 錯誤,一般要用「255.255.255.0」,但內建的設定是「255.255.0.0」,難怪試了半天都連不上!(但連 iPhone 分享出來的網路就很順,怪哉。)
以下記錄設定畫面:
2013年10月7日
如何靠網頁原始碼找回 Site Meter 統計分析工具的網站ID,以便連到流量報表
前陣子在整理 browser 的 bookmark ,不小心把用來分析 blog 流量的 Site Meter 流量報表網址刪掉了 (格式:https://www.sitemeter.com/?a=stats&s=網站ID),但 Site Meter 的帳號是砍尼申請的,我根本不知道帳密,那有沒有辦法找回網站 ID,然後在不登入 Site Meter 的狀況下直接連到流量報表呢?
答案是有的,直接看網站上有埋 Site Meter 統計js的網頁原始碼就可以了!打開網頁原始碼檢視畫面以後,搜尋「sitemeter」,範例如下:
找到s開頭的ID以後(s1840019724785),套入「https://www.sitemeter.com/?a=stats&s=網站ID」這個格式就可以連到 SiteMeter 的流量報表啦!
答案是有的,直接看網站上有埋 Site Meter 統計js的網頁原始碼就可以了!打開網頁原始碼檢視畫面以後,搜尋「sitemeter」,範例如下:
找到s開頭的ID以後(s1840019724785),套入「https://www.sitemeter.com/?a=stats&s=網站ID」這個格式就可以連到 SiteMeter 的流量報表啦!
2013年9月28日
Solaris (10) 安裝注意事項及資安規範實作
這篇是 Solaris (10) 的注意事項。
l 系統環境設定
n 設定主機使用規範提示訊息
u /etc/motd
n 安裝額外套件
u sunfreeware已經轉為營利性質,Solaris
packages可找舊的mirror site,可試試 http://solaris-freeware.saix.net。(下載連結均為FTP)
u 安裝sudo相關套件:libgcc, libiconv,
libintl, sudo
u 安裝lsof套件:lsof
n 關閉非必要的service (port)
u dtlogin (for X Window)
/usr/dt/bin/dtconfig -kill; /usr/dt/bin/dtconfig -d; lsof -I -nP|grep dtlogin; ps -ef|grep dtlogin;
※Reference: http://www.cyberciti.biz/tips/solaris-starting-and-stopping-dtlogin-cde.html
/usr/dt/bin/dtconfig -kill; /usr/dt/bin/dtconfig -d; lsof -I -nP|grep dtlogin; ps -ef|grep dtlogin;
※Reference: http://www.cyberciti.biz/tips/solaris-starting-and-stopping-dtlogin-cde.html
u (以root身分執行) 可用lsof -i -nP來檢查 (lsof工具Solaris需額外安裝),若有port找不到process,可能是被RPC mapping的port,可用rpcinfo -p來查。查到後若是不需要的 daemon 就可關掉了。
u RPC (rpcbind, portmapper) 控制很多服務 (例如 NFS),建議不確定時不要關。
u 其他通常可關閉的service:
svcadm disable svc:/network/rpc/gss:default
svcadm disable svc:/network/rpc/meta:default
svcadm disable svc:/network/rpc/rstat:default
svcadm disable svc:/network/rpc/mdcomm:default
svcadm disable svc:/network/rpc/metamed:default
svcadm disable svc:/network/rpc/metamh:default
svcadm disable svc:/network/rpc/cde-calendar-manager:default
svcadm disable svc:/network/rpc/cde-ttdbserver:tcp
svcadm disable svc:/network/rpc/smserver:default
svcadm disable svc:/network/rpc/rusers:default
svcadm disable svc:/network/rpc-100235_1/rpc_ticotsord:default
svcadm disable svc:/network/routing/ndp:default
n SSH 設定:vi /etc/ssh/sshd_config
u Disable root ssh:
PermitRootLogin no
PermitRootLogin no
u 閒置X秒斷線:
ClientAliveInterval X
ClientAliveCountMax 0
※vi /etc/profile
TMOUT X; export TMOUT
ClientAliveInterval X
ClientAliveCountMax 0
※vi /etc/profile
TMOUT X; export TMOUT
u 登入失敗三次即斷線:
MaxAuthTries 3
MaxAuthTries 3
u 以上設定完畢後需重起 ssh service:svcadm restart ssh
n
啟用系統內建防火牆:ipfilter
確認pfil以及ipfilter服務皆已啟用:
svcs pfil ipfilter
若STATE沒有顯示online,則以svcadm enable [service_name] 來啟動指定的服務 (pfil預設為啟用,ipfilter預設為disabled)
確認pfil以及ipfilter服務皆已啟用:
svcs pfil ipfilter
若STATE沒有顯示online,則以svcadm enable [service_name] 來啟動指定的服務 (pfil預設為啟用,ipfilter預設為disabled)
n
檢查ipfilter rules:
ipfstat -io
n cronjob:
u 執行後需將stderr與stdout一併紀錄於log,如:
30 1 * * * /home/backup/XXX.sh >> /var/log/XXX.log 2>&1
30 1 * * * /home/backup/XXX.sh >> /var/log/XXX.log 2>&1
n SFTP設定 (以內建的FTP Daemon為例):
u 確認關閉FTP service,僅允許以SFTP方式連線(ssh會通,sftp就會通):
svcadm disable ftp; svcs –a | grep ftp;
svcadm disable ftp; svcs –a | grep ftp;
u 若因特殊業務需求要開放ftp連線,則禁止該ftp使用者/群組以ssh方式登入,僅允許登入ftp (參考資料):
edit /etc/ssh/sshd_config
DenyUsers ftpuser1 ftpuser2
DenyGroups ftpgroup
edit /etc/ssh/sshd_config
DenyUsers ftpuser1 ftpuser2
DenyGroups ftpgroup
u 若要限制多個帳號,每個帳號需單獨寫一行,如:
guestuser user1
guestuser user2
guestuser user1
guestuser user2
n 設定允許使用ssh登入主機的網域白名單(防止維護廠商透過80
port以ssh/telnet over HTTP的方式遠端登入有開放到公網的設備,並以該設備作為跳板進行維護/異動)
u vi /etc/ssh/sshd_config
AllowUsers *@XX.XX.XX.XX
AllowUsers *@XX.XX.XX.XX
n [Optional] 啟用TCP_Wrappers來控管可存取此主機的hosts:
l 帳號設定
n shell預設為bash
u 新增帳號範例:useradd -d
/export/home/account -s /usr/bin/bash -m account; passwd account
(一次新增多筆帳號:echo “account1\naccount2” | xargs –I useradd –d /export/home/{} –s /usr/bin/bash -m {}; passwd {} )
(一次新增多筆帳號:echo “account1\naccount2” | xargs –I useradd –d /export/home/{} –s /usr/bin/bash -m {}; passwd {} )
u 可直接編輯 /etc/passwd 以修改現有帳號的 default
shell
n 通行碼管理
u 帳號使用之密碼滿90天需強迫變更,到期前30天提醒:
passwd -x 90 -w 30 account
(一次設定多筆帳號:echo “account1\naccount2” | xargs -i passwd -x 90 -w 30 {})
設定完成後,再修改 /etc/shadow,將最後變更密碼日期改成今天。(可先變更某一帳號的密碼,以得知今天是自1970/01/01開始累積的第幾天)
passwd -x 90 -w 30 account
(一次設定多筆帳號:echo “account1\naccount2” | xargs -i passwd -x 90 -w 30 {})
設定完成後,再修改 /etc/shadow,將最後變更密碼日期改成今天。(可先變更某一帳號的密碼,以得知今天是自1970/01/01開始累積的第幾天)
u 密碼重設不可使用3代以內的密碼、密碼長度至少為12碼、密碼需符合複雜度限制、帳戶密碼最大使用期限不可超過90天、帳戶密碼最小使用期限不可超過60天:
vi /etc/default/passwd:
HISTORY=3
MAXWEEKS=12
MINWEEKS=8
vi /etc/default/passwd:
HISTORY=3
MAXWEEKS=12
MINWEEKS=8
PASSLENGTH=12
MINUPPER=1
MINLOWER=1
MAXREPEATS=1
MIINSPECIAL=1
MINDIGIT=1
MINUPPER=1
MINLOWER=1
MAXREPEATS=1
MIINSPECIAL=1
MINDIGIT=1
u 密碼輸入錯誤三次鎖定 (不支援自動解鎖):
l vi /etc/default/login:
RETRIES=3
RETRIES=3
l vi /etc/security/policy.conf:
#can be overridden by /etc/user_attr
LOCK_AFTER_RETRIES=YES
CRYPT_DEFAULT=1
#can be overridden by /etc/user_attr
LOCK_AFTER_RETRIES=YES
CRYPT_DEFAULT=1
l check fail count: grep [account] /etc/shadow , 最後一個欄位是錯誤次數,被鎖住的帳號開頭顯示為
*LK*
l unlock account: passwd –u [account]
u 密碼不得與帳號相同:
此為OS本來就有的限制,不需要調整設定
此為OS本來就有的限制,不需要調整設定
l NTP設定
n 設定root排程定期執行ntpdate指令
l SNMP設定
n 編輯
/etc/snmp/conf/snmpd.conf,設定「read-community XXX」
n 重起 SNMP Service:svcadm restart
svc:/application/management/sma:default
(可先用 svcs -a | grep sma 來確認 SNMP 服務的完整名稱)
(可先用 svcs -a | grep sma 來確認 SNMP 服務的完整名稱)
2013年9月24日
RHEL/CentOS 安裝注意事項及資安規範實作
終於整理到一個段落了,趁有空po上來。
確認主機啟動時使用runlevel
3
設定主機使用規範提示訊息
- /etc/motd
關閉非必要的service
(port)
- Disable SELinux:
- vi /etc/sysconfig/selinux:
SELINUX=disabled
- Disable ip6tables:
- service ip6tables stop; service ip6tables status;
- chkconfig ip6tables off; chkconfig--list ip6tables
- Disable vsftpd (FTP):
- service vsftpd stop; service vsftpd status;
- chkconfig vsftpd off; chkconfig --list vsftpd;
- 關閉常見的service (RHEL 4/5: sendmail, RHEL 6: postfix):
- service stap-server stop; service cups stop; service qpidd stop; service avahi-daemon stop; service tog-pegasus stop; service ntpd stop; service postfix stop; service sendmail stop; service ntpd stop;
- service stap-server status; service cups status; service qpidd status; service avahi-daemon status; service tog-pegasus status; service ntpd status; service postfix status; service sendmail status; service ntpd status;
- chkconfig stap-server off; chkconfig cups off; chkconfig qpidd off; chkconfig avahi-daemon off; chkconfig tog-pegasus off; chkconfig ntpd off; chkconfig postfix off; chkconfig sendmail off; chkconfig ntpd off;
- chkconfig --list stap-server; chkconfig --list cups; chkconfig --list qpidd; chkconfig --list avahi-daemon; chkconfig --list tog-pegasus; chkconfig --list ntpd; chkconfig --list postfix; chkconfig --list sendmail; chkconfig --list ntpd;
SSH 設定:vi
/etc/ssh/sshd_config
- Disable root ssh:
PermitRootLogin no - 閒置X秒斷線:
ClientAliveInterval X
ClientAliveCountMax 0
※vi /etc/profile
TMOUT 2700; export TMOUT - 登入失敗三次即斷線:
MaxAuthTries 3 - 以上設定完畢後需重起sshd service:service sshd restart
網路設定
(NIC Bonding)-for RHEL 4.x/5.x
- 設定primary網卡為eth0,在failover至eth1之後,若eth0回復就會切回eth0:
vi /etc/modprobe.conf
alias bond0 bonding
options bond0 miimon=100 mode=1 primary=eth0
設定完成後需reboot才會生效。 - 查看bonding狀態:cat /proc/net/bonding/bond0,應顯示「Primary Slave:eth0」,並應手動插拔網路線,或者執行ifconfig eth0 down/up指令來確認是否有正確failover/failback。
網路設定
(NIC Bonding)-for RHEL 6.x
- 設定開機時啟動bond0 interface:
vi /etc/modprobe.d/bonding.conf
alias bond0 bonding - 設定primary網卡為eth0,在failover至eth1之後,若eth0回復就會切回eth0:
vi /etc/sysconfig/network-scripts/ifcfg-bond0
BONDING_OPTS=”miimon=100 mode=active-backup primary=eth0”
設定完成後需reboot才會生效。 - 查看bonding狀態:cat /proc/net/bonding/bond0,應顯示「Primary Slave:eth0」,並應手動插拔網路線,或者執行ifconfig eth0 down/up指令來確認是否有正確failover/failback。
啟用系統內建防火牆
(iptables for IPv4)
- 預設系統會自動啟用iptables & ip6tables,保留iptables,關閉ip6tables
- service iptables start; service iptables status;
- chkconfig iptables on; chkconfig --list iptables;
- check iptables status: service iptables status,若內容太多,再依序執行以下指令:
iptables -F; iptables -X; iptables -Z; iptables-save; service iptables restart; - 檢查iptables rules: iptables -L -n -v
設定檔:/etc/sysconfig/iptables,reboot 後可自動載入rules。
- cronjob:
- 執行後需將stderr與stdout一併紀錄於log,如:
30 1 * * * /backup/XXX.sh >> /var/log/XXX.log 2>&1
- 設定允許使用ssh登入主機的網域白名單(防止維護廠商透過80 port以ssh/telnet over HTTP的方式遠端登入有開放到公網的設備,並以該設備作為跳板進行維護/異動)
- 確認系統內建的sshd是否支援TCP Wrapper: 執行ldd /usr/sbin/sshd | grep libwrap, 若出現以下 output 代表有支援(sshd可使用libwrap函式庫):
libwrap.so.0 => /usr/lib/libwrap.so.0 (0x00b22000) - 編輯/etc/hosts.allow (不可使用 10.1.0.0/16 表示法):
sshd:XX.XX.XX.XX - 編輯/etc/hosts.deny (不可使用 10.1.0.0/16 表示法):
sshd:ALL - 設定完畢後不需重起sshd,會立刻生效
- 查看是否有違法連線的紀錄,log 位置在 /var/log/secure,範例如下:
[root@XXX ~]# grep refused /var/log/secure
Feb 17 17:26:53 XXX sshd[3034]: refused connect from ::ffff:XX.XX.XX.XX (::ffff:XX.XX.XX.XX)
- [Optional] 評估是否採用 Logical Volume Manager (LVM) 來管理磁碟空間,以減少需要處理磁碟空間不足的狀況
- 帳號設定
- shell預設為bash
- 新增帳號範例:useradd -d /home/account -s /usr/bin/bash -m account; passwd account(一次新增多筆帳號:echo “account1\naccount2” | xargs -i useradd -d /home/{} –s /usr/bin/bash -m {}; passwd {} )
- 可直接編輯 /etc/passwd 以修改現有帳號的 default shell
- 通行碼管理
- 帳戶密碼最大使用期限不可超過90天、最小使用期限不可超過60天、密碼最小長度12、密碼到期30天前提醒:
vi /etc/login.defs #設定完畢後,新增帳號會自用套用相關規則
PASS_MAX_DAYS 90
PASS_MIN_DAYS 60
PASS_MIN_LEN 12
PASS_WARN_AGE 30 - 帳號使用之密碼滿90天需強迫變更,到期前30天提醒:
chage -M 90 -W 30 account
(一次設定多筆帳號:echo “account1\naccount2” | xargs -i chage -M 90 -W 30 {})
設定完成後,再將各帳號的最後變更密碼日期改成今天:
chage -d yyyy-mm-dd account
(一次設定多筆帳號:echo “account1\naccount2” | xargs -i chage -d yyyy-mm-dd {}) - 密碼重設不可使用3代以內的密碼、密碼長度至少為12碼、需符合密碼複雜度:
/etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 dcredit=1 ucredit=1 ocredit=1 lcredit=1 minlen=12
password requisite pam_cracklib.so try_first_pass retry=3 dcredit=1 ucredit=1 ocredit=1 lcredit=1 minlen=12
password sufficient
pam_unix.so md5 shadow nullok try_first_pass use_authok remember=3
password required
pam_deny.so
- 密碼輸入錯誤三次鎖定 for RHEL 4.x (不支援自動解鎖):
vi /etc/pam.d/system-auth
auth required /lib/security/$ISA/pam_env.so
auth required /lib/security/$ISA/pam_env.so
auth
required /lib/security/$ISA/pam_tally.so
no_magic_root # add this line here
account
required /lib/security/$ISA/pam_permit.so
account
required /lib/security/$ISA/pam_tally.so
deny=3
no_magic_root # add this line here
check
fail count of particular account:
faillog
-u [account]
unlock
account:
faillog
-u [account] -r
- 密碼輸入錯誤三次鎖定 for RHEL 5.x (不可設定自動解鎖: unlock_time):
vi /etc/pam.d/system-auth
auth required pam_env.so
auth required pam_env.so
auth
required pam_tally.so onerr=fail deny=3
# add this line here
check
fail count of particular account:
faillog
-u [account]
unlock
account:
faillog
-u [account] -r
- 密碼輸入錯誤三次鎖定 for RHEL 6.x (不可設定自動解鎖: unlock_time):
vi /etc/pam.d/sshd
auth required pam_sepermit.so
auth required pam_sepermit.so
auth
required pam_tally2 onerr=fail deny=3
# add this line here
account
required pam_nologin.so
account
required pam_tally2.so per_user #
add this line here
check
fail count of particular account:
pam_tally2
-u [account]
unlock
account:
pam_tally2
-u [account] -r
- 密碼不得與帳號相同:
此為OS本來就有的限制,不需要調整設定 - NTP設定
- 設定root排程定期執行ntpdate指令
- SNMP設定
- 編輯 /etc/snmp/snmpd.conf,將「community」設定為「XXX」
- 重起 SNMP Service:chkconfig snmpd on; service snmpd start;
- For Cacti monitoring: 編輯 /etc/snmp/snmpd.conf,在「Make at least snmpwalk -v 1 localhost -c public system fast again.」下有兩行「view systemview included .1.3.6…」,保留第二行,把第一行改為「view systemview included .1.3.6」。
訂閱:
文章 (Atom)
Google Spreadsheet 裡用規則運算式
最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D
-
今天坎尼去上課老師講了一題很有趣的題目 所以回到家坎尼就順手試驗了一下 I. XOR (exclusive OR) XOR 是邏輯運算子之一,定義為: 當兩數的值不同才為 true,相同則為 false 其他相關說明可以參考 維基百科:XOR II. 程式 以往的做法會宣...
-
好久沒開 Chart Control 議題了 剛好前陣子 Codeplex 出現可以輕鬆建立 Excel 檔案的 Library- NPOI 於是坎尼想說研究一下,看能不能把 Chart Control 匯出圖片到 Excel 中 沒想到只花了不到1小時就研究...
-
上個週末打開一個影片檔,發現字幕檔是中英文混合的,造成字幕吃掉畫面很大的空間, 打開字幕檔一看,果然每一段時間都有先英文後中文的字幕: 因此我想要自己作成「只有中文」&「只有英文」兩個字幕檔,但這個檔案有6418 行,如果要手動一行一行的刪除...