2017年8月30日 星期三

bash中()及{}差別

1. {}中設定的變數會影響全域變數
2. { 必須有空白字元,}前必須有;字元

測試
c=a;echo c=$c;
{ echo "{} $c set {}"; c="set {}";};
(echo "() $c set ()"; c="set ()");
echo c=$c;

c=a;echo c=$c;
(echo "() $c set ()"; c="set ()");
{ echo "{} $c set {}"; c="set {}";};
echo c=$c;

2017年8月23日 星期三

INEO I-NA312N1 NAS 開啟 telnet 服務

INEO  I-NA312N1
http://<ip address>/cgi/telnet/telnet.cgi

2017年8月8日 星期二

Squid 存取控制設定摘要

1.Squid 使用存取控制清單 (ACL)依順序處理存取規則。
2.在使用 ACL 前必須先進行定義。
3.預設的 ACL all 與 localhost 。
4.定義 ACL 並不代表會套用,當存在對應的 http_access 規則時才會套用。


squid.conf存取控制選項
acl 的語法
acl ACL_NAME TYPE DATA
    ACL_NAME 可以隨意選擇。
    TYPE,/etc/squid/squid.conf 檔案的 ACCESS CONTROLS 區段中提供不同選項。
    DATA 視個別的 ACL 類型而定,例如主機名稱、IP 位址或 URL。 也可從檔案讀取。

http_access allow ACL 名稱
定義哪些人可使用代理,以及哪些人可存取網際網路的哪些內容。

url_rewrite_program 路徑
指定 URL 重寫器。

auth_param basic program 路徑
設定在代理上對使用者進行驗證的對應的程式

ident_lookup_access allow ACL 名稱
設定可以執行 ident 要求,為類型為 src 的 ACL 定義的所有用戶端確定每個使用者的身分。

2017年8月3日 星期四

LEAF Bering-uClibc 6.0.4 設定 squid 摘要

建立檔案系統
mkfs.vfat -F 32 -I /dev/sda1

編輯 leaf.cfg 設定載入以下 LRP
root license local dnsmasq dropbear mhttpd webconf squid ntpd

執行
syslinux /dev/sda1
dd if=/usr/share/syslinux/mbr.bin of=/dev/sda bds=440 count=1
echo "CST-8" > /etc/TZ
echo  "/root/squid.sh" >> /etc/default/local.start

編輯 /root/squid.sh 內容如下
#!/bin/sh
while read i j;
do mkdir -p -m 777 $i&&mount tmpfs -t tmpfs $i -o size=$j,mode=1777;
done<<REM
/dev/shm 128m
/var/cache/squid 256m
REM
squid=/etc/init.d/squid&&$squid restart||$squid start;

2017年7月25日 星期二

/squid-cf__metadata.shm): (13) Permission denied 錯誤訊息

Squid Cache: Version 3.5.26 錯誤訊息
ATAL: Ipc::Mem::Segment::create failed to shm_open(/squid-cf__metadata.shm): (13) Permission denied

原因:
缺少 /dev/shm

解決方法:
建立  /dev/shm mode=1777
mkdir -p /dev/shm && mount tmpfs -t tmpfs /dev/shm-o size=128,,mode=1777

其他相關錯誤
缺少 /var/cache/squid 或權限不符


Squid 一般組態選項摘要

http_port 連接埠
    Squid 用的連接埠,預設 3128

cache_peer 主機名稱 類型 代理連接埠 ICP 連接埠
     設定建立協同工作的快取網路。

cache_mem 大小
    設定常用回覆的記憶體容量。預設值 8 MB。

cache_dir 儲存類型 快取目錄 快取大小 層級 1 目錄 層級 2 目錄
    定義磁碟快取的目錄。

  cache_access_log 記錄檔案 , cache_log 記錄檔案 , cache_store_log 記錄檔案
    設定記錄檔

client_netmask 網路遮罩
    透過套用子網路遮罩在記錄檔案中遮罩用戶端的 IP 位址。

ftp_user 電子郵件
    設定 Squid 用於匿名 FTP 登入的密碼。

cache_mgr 電子郵件
    Squid 當機時傳送郵件地址。

logfile_rotate 值
    設定 Squid 輪替記錄檔案。預設值為 10,表示輪替編號為 0 到 9 的記錄檔案。

append_domain 網域
    指定當未指定網域時自動附加的網域。

forwarded_for 狀態
    選項設定為 on/off

negative_ttl 時間 , negative_dns_ttl 時間

never_direct allow ACL 名稱

Linux capabilities

1.kernel 2.2 以後支援
2.使用 extended attributes 中的 security方式支援
3.支援的檔案系統 Ext2, Ext3, Ext4, Btrfs, JFS, XFS, Reiserfs
4.常用指令 getcap,setcap

Capabilities list
CAP_AUDIT_CONTROL (since Linux 2.6.11)
CAP_AUDIT_WRITE (since Linux 2.6.11)
CAP_BLOCK_SUSPEND (since Linux 3.5)
CAP_CHOWN
CAP_DAC_OVERRIDE
CAP_DAC_READ_SEARCH
CAP_FOWNER
CAP_DAC_OVERRIDE
CAP_DAC_READ_SEARCH
CAP_FSETID
CAP_IPC_LOCK
CAP_IPC_OWNER
CAP_KILL
CAP_LEASE (since Linux 2.4)
CAP_LINUX_IMMUTABLE
CAP_MAC_ADMIN (since Linux 2.6.25)
CAP_MAC_OVERRIDE (since Linux 2.6.25)
CAP_MKNOD (since Linux 2.4)
CAP_NET_ADMIN
CAP_NET_BIND_SERVICE
CAP_NET_BROADCAST
CAP_NET_RAW
CAP_SETGID
CAP_SETFCAP (since Linux 2.6.24)
CAP_SETPCAP
CAP_SETUID
CAP_SYS_ADMIN
CAP_SYS_BOOT
CAP_SYS_CHROOT
CAP_SYS_MODULE
CAP_SYS_NICE
CAP_SYS_PACCT
CAP_SYS_PTRACE
CAP_SYS_RAWIO
CAP_SYS_RESOURCE
CAP_SYS_TIME
CAP_SYS_TTY_CONFIG
CAP_SYSLOG (since Linux 2.6.37)
CAP_WAKE_ALARM (since Linux 3.0)    

modes:
    e: Effective  This means the capability is “activated”.
    p: Permitted  This means the capability can be used/is allowed.
    i: Inherited  The capability is kept by child/subprocesses upon execve() for example.

使用範例
getfattr -d -m "security\\." /bin/ping
getcap /bin/ping
setcap -r /bin/ping
setcap 'cap_net_admin,cap_net_raw+ep' /bin/ping

複製 capabilities 參數
cp -a $src $dst
rsync -X $src $dst
tar -s, --preserve-order, --same-order
                             sort names to extract to match archive
      --selinux              Save the SELinux context to the archive
      --xattrs