Sunday, June 23, 2019
rsync
=====
rsync -av --delete /path1/ /path2/
จะทำการ sync ข้อมูลให้ตรงกันเนื้อหาของ /path1/
ไปยัง /path2/
และถ้ามีการเปลี่ยนแปลง สร้างหรือลบ ใน /path1/
ข้อมูลใน /path2/ จะเปลี่ยนแปลงเหมือนกันกับข้อมูลต้นฉบับ
-a คือ archive ทำให้ ไฟล์ตันฉบับกับไฟล์ปลายทางเหมือนกันทุกอย่าง
-v คือ verbose ให้แสดงรายละเอียดระหว่างทำงานขึ้นมาบนหน้าจอ
--exclude คือไม่รวมไฟล์ สามารถให้ รูปแบบ ได้เช่น ตามตัวอย่างหมายความว่า ไม่เอา ไฟล์ทุกไฟล์ที่ .gz ที่อยู่ใน home/admin/admin_backups/ *
--delete ให้ลบไฟล์ปลายทางถ้าไฟล์ต้นทางถูกลบไป
Backup จาก Server ไปไว้อีก Server
===============================
rsync -av --delete -e 'ssh -p 12345' root@192.168.0.1:/Directory2/ /Directory1/
"sync ข้อมูลจาก 192.168.0.1 ใน Folder Directory2
มาไว้ในเครื่อง Directory1 ใน server ต้นทาง"
Ref:
https://arit.rmutsv.ac.th/th/blogs/82-วิธีการใช้-rsync-เพื่อสำรองข้อมูล-บน-linux-1052
Wednesday, February 27, 2019
Samba share different user privilegeds
install samba
=========
sudo apt install samba
add user
=======
Samba has its own user management system.
However, any user existing on the samba user list must also exist within /etc/passwd file.
sudo adduser --no-create-home --disabled-password --shell /usr/sbin/nologin --ingroup sambashare a_user_name
--in-group sambashare :
This adds the user to the sambashare group,
giving them read and write access to their own shares and to the common share.
Samba keeps its own database of users and passwords,
which it uses to authenticate logins.
In order to log in, all users must be added to the Samba server and enabled.
-a : This adds the user to the Samba server without enabling them.
-e : enables the user.
smbpasswd -a user_name
smbpasswd -e user_name
configuration
==========
sudo vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Server %v
disable netbios = Yes
security = user
map to guest = bad user
name resolve order = bcast host
dns proxy = no
bind interfaces only = yes
log file = /var/log/samba/smb.log
max log size = 10000
[ShareSpace]
path = /ShareSpace
guest ok = yes
write list = samba_user_1 samba_user_2
force directory mode = 2770
force create mode = 0660
force user = unix_username
[HiddenShare]
path = /HiddenShare
browseable = no
read list = samba_user_1
write list = samba_user_2
force directory mode = 2770
force create mode = 0660
force user = unix_username
testparm
sudo systemctl restart smbd.service
NetBIOS functions are not needed in a standalone server.
======================================
sudo systemctl stop nmbd.service
sudo systemctl disable nmbd.service
File permission
===========
Samba doesn't override the Linux file permissions.
If the user doesn't have permission to write to the directory from a shell account,
they can't do it through Samba regardless of the configuration.
Windows
=======
The network folder specified is currently mapped using a different user name and password.
To connect using a different user name and password,
first disconnect any existing mappings to this network share.
Thanks:
=======
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-samba-share-for-a-small-organization-on-ubuntu-16-04
https://www.linuxquestions.org/questions/linux-general-1/why-can-i-not-write-to-a-samba-share-when-read-write-is-enabled-475630/
https://linuxconfig.org/how-to-configure-samba-server-share-on-debian-9-stretch-linux
https://spalinux.com/2015/08/install-and-configure-file-sharing-server-using-samba-on-centos-7
Note
The useradd, userdel and usermod commands are lowlevel utilities which are there for historical reasons. (Debian)
Ref: https://askubuntu.com/questions/345974/what-is-the-difference-between-adduser-and-useradd