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月30日 星期三
2017年8月23日 星期三
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 定義的所有用戶端確定每個使用者的身分。
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;
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
/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 或權限不符
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 名稱
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
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
訂閱:
文章 (Atom)