Skip to content

linux

samba服务器搭建

1 配置

在配置文件/etc/samba/smb.conf中

#共享文件设置参数
[share]      #自定义共享名称,共享路径对应显示的实际名称,常用项
comment =  This is share software         #共享描述,做一个说明
path  =  /home/testfile    #共享目录路径
browseable  =  yes/no      #设置共享是否可浏览,如果no就表示隐藏,需要通过IP+共享名称进行访问
writable  =  yes/no        #设置共享是否具有可写权限
read only  =  yes/no     #设置共享是否具有只读权限
admin users  =  root     #设置共享的管理员,如果security =share 时,引项无效,多用户中间使用逗                            号隔开,例如admin users = root,user1,user2
# 设置允许访问共享的用户,例如valid users = user1,user2,@group1,@group2(多用户或组使用逗号隔
# 开,@group表示group用户组)
valid users  =  username 
invalid users  =  username    #设置不允许访问共享的用户

# 设置在共享具有写入权限的用户,例如例如write list  = user1,user2,@group1,@group2(多用户或组使
# 用逗号隔开,@group表示group用户组)
write list  =  username     
public  =  yes/no       #设置共享是否允许guest账户访问

guest  ok  =  yes/no    #功能同public 一样
create mask = 0700       #创建的文件权限为700
directory mode = 0700    #创建的文件目录为 700
force user = ubuntu      #客户端默认创建所属用户,设置后防止windows访问成为nobody, 常用项

2 添加用户

smbpasswd -a ubuntu  // 将ubuntu添加到samba用户组

3 重启服务

配置操作后需重启服务

ubuntu

sudo /etc/init.d/smbd restart

centos

常见问题

windows无法访问问题

graph TD
    A["cmd:gpedit.msc"]
    --> B["管理模板"]
    B --> C["网络"]
    C --> D["lanman工作站"]
    D --> E["启用不安全的来宾登陆:已启用"]

centos 服务器 windows无访问权限

确保setlinux关闭,可以用setenforce 0命令执行。 默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。       /usr/bin/setenforce 修改SELinux的实时运行模式  

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式  

如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数

  /usr/bin/setstatus -v  

?? 不关闭防火墙方法

setsebool -P samba_enable_home_dirs on
setsebool -P samba_domain_controller on
#/usr/sbin/setsebool -P allow_smbd_anon_write=1 
#chcon -t public_content_rw_t <共享文件路径>

备份还原

导出现有仓库

svnadmin dump /data/app/svn > /data/app/backup/full.svn.bak

导入备份库

未创建仓库先创建

svnadmin create /data/app/svn

svnadmin load /data/app/svn > /data/app/backup/full.svn.bak

切换仓库地址

查看仓库地址

svn info

切换地址

svn switch --relocate https://127.0.0.1:8443/svn/items https://123.34.56.78:8443/svn/items

同步

  1. 创建仓库
svnadmin create <仓库地址>
  1. 更改hooks 内容

cp pre-revprop-change.tmpl pre-revprop-change
pre-revprop-change 末尾修改
exit 0

  1. 同步初始化
svnsync init file://<仓库地址> <源svn地址>
  1. 同步
svnsync sync file://<仓库地址>

UUID

查看uuid

svnlook uuid /data/svn

修改UUID

svnadmin setuuid /opt/svn/colleage a8ace837-8dc3-416d-a764-d1b9f94a0735

重启

svnserve -d -r /home/svn/document/

说明:资源库在“/home/svn/document/”下

或者:

#使用9999端口启动svn服务

 svnserve --listen-port 9999 -d -r /home/svndata
 #-d 表示后台运行  #-r 表示数据仓库目录

linux 正则

前言

由于历史原因,正则表达式分为了两个流派,分别是 POSIX 流派和 PCRE 流派。其中,POSIX 流派有两个标准,分别是 BRE 标准和 ERE 标准 目前,Linux 和 Mac 在原生集成 GUN 套件(例如 grep 命令)时,遵循了 POSIX 标准,并弱化了 GNU BRE 和 GNU ERE 之间的区别。

GNU BRE 和 GNU ERE 的差别主要体现在一些语法字符是否需要转义上

各种标准区别

BRE

echo "addf" | grep 'd\{1,3\}'

ERE

echo "addf" | grep -E 'd{1,3}'
echo  "11d23a" | grep -E '[[:digit:]]+'

PCRE

echo  "11d23a" | grep -P '\d+'

当代程序基本使用此标准, eg

  • vim
  • golang 默认正则

swap使用

linux 有 交换分区交换文件 两种方式扩展内存 一般建议交换内存为物理内存的 1~2倍

交换分区

一般是系统安装时配置

交换文件

交换文件添加

eg: 可以按照以下步骤在 /data/swaps/ 路径下创建一个 2GB 的交换文件:

  1. 使用 fallocatedd 命令创建一个 2GB 的交换文件。例如:
sudo fallocate -l 2G /data/swaps/swapfile

sudo dd if=/dev/zero of=/data/swaps/swapfile bs=1M count=2048

这将在 /data/swaps/ 目录下创建一个名为 swapfile 的 2GB 交换文件。

  1. 设置文件权限,确保只有 root 用户可以读写:
sudo chmod 600 /data/swaps/swapfile
  1. 将文件转换为交换空间:
sudo mkswap /data/swaps/swapfile
  1. 启用新的交换文件:
sudo swapon /data/swaps/swapfile
  1. 如果你希望系统在重新启动后仍然使用这个交换文件,需要将它添加到 /etc/fstab 文件中。编辑 /etc/fstab 并添加以下行:
/data/swaps/swapfile none swap sw 0 0

这会告诉系统在启动时启用这个新的交换文件。

最后,你可以使用 swapon --show 命令来确保新的交换文件已启用并提供额外的 2GB 交换空间。这将增加系统的交换空间,帮助处理内存不足的情况。

交换文件删除

要安全地删除一个交换文件,你可以按照以下步骤进行操作:

  1. 禁用交换文件:在删除交换文件之前,首先要禁用它。使用以下命令禁用交换文件:
sudo swapoff /path/to/swapfile

替换 /path/to/swapfile 为你的交换文件的完整路径。

  1. 删除交换文件:一旦交换文件被禁用,你可以安全地删除它。使用 rm 命令进行删除:
sudo rm /path/to/swapfile

请小心,确保你删除的是正确的文件,因为这个操作是不可恢复的。

  1. 更新 /etc/fstab(可选):如果你在 /etc/fstab 文件中为交换文件添加了条目,确保在删除文件后也将该条目从文件中删除。

  2. 重新启用交换分区或文件:如果你需要仍然需要交换空间,你可以使用已存在的交换分区或文件,或者创建一个新的。如果你删除了一个交换文件,你可以创建一个新的交换文件并启用它,如之前的步骤所示。

在进行这些操作之前,请确保你的系统没有任何活动的进程或任务依赖于交换文件,以避免不必要的问题。并且请小心确保你删除的是正确的文件,因为删除后无法恢复。