2018年7月19日 星期四

aws EC1 設定 samba 備忘

最近又在搬家了,從自建機房->Azure->Jcloud到現在的AWS,貌似GCP, alibabacloud評估中~這~ =.= 工程師是無敵的吧? 每個環境都有些小眉角,放在這邊貌似比存在硬碟來的方便,所以就備忘一下。

安裝服務
yum install samba samba-client
chkconfig smb
service smb start/restart/stop

得在AWS的儀表版Security Group 設定Inbound PORT
open TCP 139 如果有windows設備要連線,則加開445
open UDP 137-138

設定分享資料夾位置
vim /etc/samba/smb.conf
---------------------------------------------------------------
security = user             #使用者驗證

[smb_folder]
valid users = @smbgrp       #群組授權
...

---------------------------------------------------------------

測試設定檔
testparm

新增使用者,將該使用者群組設定到smbgrp
useradd smb_account -G smbgrp
passwd smb_account
smbpasswd -a smb_account

測試連線
本地: smbclient //localhost/smb_folder -U smb_account
遠端: smbclient //smb-server-ip/smb_folder -U smb_account


2018年7月17日 星期二

json_decode 將json轉成陣列或object


再配合WebAPI時,常使用JSON來作為交換的格式,不過在多維陣列下的JSON組合就多了些眉角,把從資料庫取回的JSON紀錄轉換成ARRAY若成object再進行encode,此時JSON的地方將會有array("\"", "''", ":',", "\ufeff")這類的DATA跑出來造成還原解析上的異常,所以加個true成array在轉換就單純多了,做個備忘。
$json '{"a":1,"b":2,"c":3,"d":4}';
var_dump(json_decode($json));var_dump(json_decode($jsontrue));
Output:
object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
}