PostgreSQL 在 Fedora 安裝後的設定:

1. 初始化
$ sudo postgresql-setup initdb

2. 啟用並開始
$ sudo systemctl enable postgresql
$ sudo systemctl start postgresql

3. 修改密碼
sudo -u postgres psql postgres
# \password postgres
Enter new password:

4. 修改認證方式
$ sudo vi /var/lib/pgsql/data/pg_hba.conf  搜尋以下段落修改IP及驗證方式改為trust
# “local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 0.0.0.0/0 trust
# IPv6 local connections:
host all all ::1/128 trust

5. 驗證密碼
psql -U postgres -W

6. 打開監聽讓遠端存取
看config檔位置:
(在psql中)SHOW config_file; (預設在: /var/lib/pgsql/data/postgresql.conf)
$ sudo vi /var/lib/pgsql/data/postgresql.conf  修改成 listen_addresses = ‘*’

===
PS: phpPgAdmin 須改的設定
vi /var/www/html/phpPgAdmin/config.inc.php 修改成 $conf[‘extra_login_security’] = false

[Linux] 解決 mysql 無法寫出檔案問題

在red hat系列的linux中selinux對哪些daemon可以進行怎麼樣的操作是有限制的,mysql的select into outfile的命令是mysql的daemon來負責寫文件操作的。寫檔之前當然要具有寫檔的許可權。而selinux對這個許可權做了限制。如果selinux是關閉的吧,這個命令執行是沒有問題的
mysql> select user from user into outfile ‘/home/test.txt’;
Query OK, 2 rows affected (0.02 sec)
當時selinux開啟時
selinux對mysql的守護進程mysqld進行了限制。
mysql> select user from user into outfile ‘/home/test.txt’;
ERROR 1 (HY000): Can’t create/write to file ‘/home/test.txt’ (Errcode: 13)
出現了沒有許可權寫的error。
解決方法,可以關閉selinux。
可以在/etc/selinux中找到config
root用戶,
shell>vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – SELinux is fully disabled.
SELINUX=enforcing

修改SELINUX=disabled關閉selinux就可以了,這個問題就可以解決了。
不過全部關閉SELINUX有帶來一些安全問題。
當然也可以,單獨給mysql的守護進程許可權,
shell>getsebool -a可以查看當前的對系統一系列守護進程的許可權情況。

lpd_disable_trans –> off
mail_read_content –> off
mailman_mail_disable_trans –> off
mdadm_disable_trans –> off
mozilla_read_content –> off
mysqld_disable_trans –> off
nagios_disable_trans –> off
named_disable_trans –> off
named_write_master_zones –> off
nfs_export_all_ro –> on
nfs_export_all_rw –> on
nfsd_disable_trans –> off
nmbd_disable_trans –> off
nrpe_disable_trans –> off

shell>setsebool -P mysqld_disable_trans=1
開啟對mysql守護進程的許可權,這樣
mysql> select user from user into outfile ‘/home/test.txt’;
寫入到自訂的目錄就沒有問題了。
-P表示 是永久性設置,否則重啟之後又恢復預設值。
getsebool setsebool命令在root用戶下有許可權。

除了對selinux的許可權,當然首先要保證該目錄擁有讀寫許可權。
在ubuntu下 ,可以對AppArmor(/etc/apparmor.d/usr.sbin.mysqld) 修改,類似selinux。
添加/etc/squid/lists/eighties.txt w,類似。

延伸閱讀:http://www.fromdual.com/mysql-and-secure-linux-selinux

Fedora上的網路設定

基本查詢指令

查詢網路卡資訊:ifconfig -a
查詢防火牆資訊:iptables -L -n
查詢路由:route -n


無線網路

搜尋無線網路:
iwlist ethx scan
ethx 就是網路卡代號
假設我的無限網路是使用eth1:iwlist eth1 scan

開始編寫我的設定檔
vi /etc/sysconfig/network-scripts/ifcfg-eth1

如果是使用dhcp
那ifcfg-eth1裡面就需要有
TYPE=Wireless
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=no <–是否一開機就連線
ESSID=xxxx <–無線網路的名稱

如果是使用static
那ifcfg-eth1裡面的選項就變成
TYPE=Wireless
DEVICE=eth1
BOOTPROTO=static
NETMASK=255.255.255.0 <–子網路遮罩
IPADDR=192.168.1.13 <–ip位址
NETWORK=192.168.1.0 <–網域
BROADCAST=192.168.1.255 <–廣播位址
GATEWAY=192.168.22.10 <–預設路由
ONBOOT=no
ESSID=xxxx
KEY=xxxxxxxx<–密碼


有線網路

編寫設定檔
vi /etc/sysconfig/network-scripts/ifcfg-eth0

如果是使用dhcp
ifcfg-eth0裡面的選項就會有
TYPE=Ethernet
DEVICE=eth0
HWADDR=00:40:D0:13:c5:d8 <–網路卡位址
BOOTPROTO=dhcp
NBOOT=no
USERCTL=no <–是否允許使用者(非管理者)控制

如果是使用static
TYPE=Ethernet
DEVICE=eth0
BOOTPROTO=static
NETMASK=255.255.255.0 <–子網路遮罩
IPADDR=192.168.1.13 <—ip位址
NETWORK=192.168.1.0 <–網域
BROADCAST=192.168.1.255 <–廣播位址
GATEWAY=192.168.22.10 <–使用撥接上網的就不要設定gateway
ONBOOT=no
ESSID=xxxx
KEY=xxxxxxxx <–密碼
其實有線和無線網路差不多
只要TYPE寫清楚是wireless或是Ethernet就ok了
另外設定好後

啟動網路
ifup ethx <–看要啟動哪一種網路

關閉網路
ifdown ethx

[Linux] 查詢群組的使用者

查詢:grep <user> /etc/group
新增:sudo usermod -a -G <group> <user>
刪除:sudo gpasswd -d <user> <group>

排除403 Forbidden問題 (because SELinux preventing access outside of it’s defined default scope for Apache)
鍵入:chcon -R -h -t httpd_sys_content_t <path>

[Linux] Systemctl & Samba

Fedora下管理設定工具: systemctl
範例:
查看防火牆: systemctrl status firewalld.service
關閉防火牆: systemctrl stop firewalld.service
再看iptables -L

把 Windows 分享的網路磁碟 mount 起來:
mount -t cifs <來源URL> <本機Path> -o username=<name>,password=<pw>
範例: mount -t cifs //10.10.x.x/resources /mnt/resources -o username=John,password=xxx

如果要 mount Unix 機器所開的網路磁碟:
mount nfs 資料夾: mount -t nfs <來源IP>:<來源Path> <本機Path>
範例: mount -t nfs 10.10.x.x:/resources  /mnt/resources

Samba連線: smbclient -L <URL> -W <Workgroup> -U <Username>
範例: smbclient -L //10.10.x.x/resources -W mmb -U John
再輸入密碼就可以連進去了

參考來源: http://download.ithome.com.tw/article/index/id/1310

備註: NFS 僅能讓 Unix 機器溝通,CIFS 只能讓Windows 機器溝通,Samba 伺服器就可以同時讓 Unix 機器與 Windows 機器溝通 (鳥哥介紹)