审计需求只读用户的建立

审计的要求: 线上环境研发只能有只读权限 那只能曲线救国了,两个用户,supdev是运维用来管理的,logview是研发用来只读日志的 一、首先确定系统有supdev用户存在 id supdev 通常supdev的id是511 二、增加新用户logview 我们确定logview的id是512,group是和supdev同组 useradd -u 512 -g supdev logview 三、程序的app以及数据目录不是在supdev的home目录下,而是在/data/servers下 所以我们把/data/servers下的目录都改成750,文件都改成640 #!/bin/sh find /export/servers/ -type d ! -perm 0750 -exec chmod 0750 {} find /export/servers/ -type f ! -perm 0640 -exec chmod 0640 {} # ansible 模块 - name: make dirs 0755 command: find {{ your_path }} -type d ! -perm 0750 -exec chmod 0750 {} \; - name: make files 0644 command: find {{ your_path }} -type f ! -perm 0640 -exec chmod 0640 {} \; 这样就可以了。logview可以去到/data/servers目录,可以看文件,但无法执行。 ...

2023年12月27日 · 1 分钟 · 84 字 · 八戒

H3C服务的BIOS主板设置中如何正确设置NTP服务器

H3C服务器主板时间不准确也很讨厌,看主板日志时间都是错的,没办法,修改一下。 H3C服务器BIOS的NTP设置方法: 修改主服务器: ipmitool -I lanplus -H 10.18.$1 -U admin -P Password@_ raw 0x32 0xA8 0x01 服务器名的HEX字符串 修改辅服务器: ipmitool -I lanplus -H 10.18.$1 -U admin -P Password@_ raw 0x32 0xA8 0x02 服务器名的HEX字符串 修改第三个服务器: ipmitool -I lanplus -H 10.18.$1 -U admin -P Password@_ raw 0x32 0xA8 0x05 服务器名的HEX字符串 方法很简单,但是服务器名的HEX字符串如何得到? echo -n "172.18.30.1" | od -A n -t x1 | sed "s/ / 0x/g" 0x31 0x37 0x32 0x2e 0x31 0x38 0x2e 0x33 0x30 0x2e 0x31 修改NTP服务器1为172.18.30.1 ...

2023年12月26日 · 1 分钟 · 98 字 · 八戒

traefik配置digicert家得泛域名证书

traefik使用digicert付费的证书和使用letencrypt免费证书的方法不一样,下面说一下怎么配置: traefik.yml里面就没有任何配置 log: level: DEBUG api: insecure: false dashboard: true entryPoints: http: address: ":80" #http: # redirections: # entryPoint: # to: https # scheme: https https: address: ":443" providers: file: directory: /export/servers/traefik/dynamic watch: true 所有的配置都放到到/export/servers/traefik/dynamic目录下了,动态更新: certs.yml来定义证书选项 tls: certificates: - certFile: "/export/servers/traefik/ddky.crt" keyFile: "/export/servers/traefik/ddky.key" options: default: sniStrict: true minVersion: VersionTLS12 cipherSuites: - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 test7-01.yml单独test7.ddky.com的配置 ...

2023年12月21日 · 1 分钟 · 117 字 · 八戒

vm.sh创建虚机失败

在172.18.30.1和172.16.60.10上 使用vm.sh创建虚机时,会报错 - Resizing the disk to 80G ... ERR: Could not resize disk. 去 /export/kvm/虚机目录下查看log Could not open '/var/tmp/.guestfs-101448/appliance.d/root': No such file or directory 解决方法很简单,清除掉Cache即可: rm -rf /var/tmp/.guestfs-0/ 附上CentOS7安装 kvm 的命令: yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install

2023年12月21日 · 1 分钟 · 39 字 · 八戒

Xfs文件系统下增加inode

终于遇到了inode不够了,细碎文件爆棚了,导致inode不够了。 XFS 文件系统本质上是没有 inode 的限制的 只有一个缺省的限制,使用现有文件系统的 25% 来存储 inode 信息。 这个缺省的配置在大多数情况下都是够用的。 某些情况下不够用,可以删除一些文件来缓解。 终极办法是增大这个 25% 的阈值来解决: root@zombie:~# xfs_info /srv/backup/ metadane=/dev/mapper/slow-backup isize=256 agcount=17, agsize=2621440 blks = sectsz=512 attr=2 data = bsize=4096 blocks=44564480, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=20480, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime=brak extsz=4096 blocks=0, rtextents=0 上面,我们看到 imaxpct=25 ,就是这个配置了。 增大的方法: xfs_growfs -m 30 这样就增大到 30% 了

2023年12月21日 · 1 分钟 · 64 字 · 八戒

查看SWAP交换空间被哪个进程给用掉了

在机器上执行命令free -g 和 free -k 看看有多少空闲 8G的Swap交换空间都被用光了!!! 再用kb的单位看看,一共8388604,基本用光掉了 查看是哪些进程使用了交换空间: find /proc -maxdepth 2 -path "/proc/[0-9]*/status" -readable -exec awk -v FS=":" '{process[$1]=$2;sub(/^[ \t]+/,"",process[$1]);} END {if(process["VmSwap"] && process["VmSwap"] != "0 kB") printf "%10s %-30s %20s\n",process["Pid"],process["Name"],process["VmSwap"]}' '{}' \; | awk '{print $(NF-1),$0}' | sort -h | cut -d " " -f2- 6504的qemu-kvm用掉了4.8G,看起来不太直观。 find /proc -maxdepth 2 -path "/proc/[0-9]*/status" -readable -exec awk -v FS=":" -v TOTSWP="$(cat /proc/swaps | sed 1d | awk 'BEGIN{sum=0} {sum=sum+$(NF-2)} END{print sum}')" '{process[$1]=$2;sub(/^[ \t]+/,"",process[$1]);} END {if(process["VmSwap"] && process["VmSwap"] != "0 kB") {used_swap=process["VmSwap"];sub(/[ a-zA-Z]+/,"",used_swap);percent=(used_swap/TOTSWP*100); printf "%10s %-30s %20s %6.2f%\n",process["Pid"],process["Name"],process["VmSwap"],percent} }' '{}' \; | awk '{print $(NF-2),$0}' | sort -hr | head | cut -d " " -f2- ...

2023年12月15日 · 1 分钟 · 107 字 · 八戒

Linux支持断点续传、多线程下载的软件

Linux下多线程下载工具,且支持断点续传,机房传文件必备: axel -s 9000000 -a -n 5 -o ord_his.dmp http://172.16.24.2:8080/ord_his.dmp -s 限速,9000000是70M带宽,不加s就是100M榨干 -n 线程,缺省是4 -o 目的文件 -a 进度条压缩展示,必须加,否则会进度满天飞 注意:axel 是可以自动断点续传的

2023年12月15日 · 1 分钟 · 20 字 · 八戒

suricata加上elk分析机房入口全流量

suricata 是跟snort差不多的一个入侵检测工具,加上elk的图形界面,非常的好看。 原理是suricata的log发到elk里,这样就能通过kibana进行分析了 环境: 1、物理机需要开16G内存,16CPU,都不太够 2、物理机172.18.30.2的br3是交换机的Mirror口,进入的全部流量都被镜像了一份 3、suricata-18-31-31是虚机,需要将30.2的br3挂进来 virsh attach-interface --domain suricata-18-31-31 --type bridge --source br3 --model e1000 --config --live 同时在31.31里,ifconfig up eth1把网卡起起来 tcpdump -i eth1有数据即可 4、首先安装java rpm -ivh jdk-8u201-linux-x64.rpm 安装: 一、编译安装suricata yum -y install epel-release yum -y install jq cargo openssl-devel PyYAML lz4-devel gcc libpcap-devel pcre-devel libyaml-devel file-devel zlib-devel jansson-devel nss-devel libcap-ng-devel libnet-devel tar make libnetfilter_queue-devel lua-devel GeoIP-devel wget https://www.openinfosecfoundation.org/download/suricata-4.1.8.tar.gz tar zxvf suricata-4.1.8.tar.gz cd suricata ./configure --libdir=/usr/lib64 --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nfqueue --enable-lua --enable-geoip --enable-profiling make make install-full 验证一下 suricata -V This is Suricata version 4.1.8 RELEASE 查看build参数 suricata --build-info suricata就装好了,还需要配一下suricata-update,规则才是最主要的,装好后最好每天更新一下规则 ...

2023年12月15日 · 2 分钟 · 249 字 · 八戒

ipxe使用sanboot远程启动iscsi硬盘

如果一台宿主机上面cpu和memory都有富裕,但是磁盘不富裕,那就会面临资源浪费 所以干脆用ipxe的sanboot来启动远程的iscsi磁盘来启动虚机好了 首先用《iscsi卷的远程挂载》这篇文章中所说的方法,在172.18.30.18的20T的loopback vg group上,划出一块80G的硬盘 #划个lvc,用的是vg-targetd的20T中的80G lvcreate -L 80G -n pvc-vis-18-31-48 vg-targetd #建立block块设备 targetcli /backstores/block create vg-targetd:pvc-vis-18-31-48 /dev/vg-targetd/pvc-vis-18-31-48 #建立30.18上的iscsi服务端,似乎用renhe-18-30-18比较好,但是不好区分多个卷,还是用下面的精准 targetcli /iscsi create iqn.2020-10.com.ddky:vis-18-31-48 #建立luns,会自动建立portal targetcli /iscsi/iqn.2020-10.com.ddky:vis-18-31-48/tpg1/luns create /backstores/block/vg-targetd:pvc-vis-18-31-48 #建立客户端的iscsi,不加任何认证 targetcli /iscsi/iqn.2020-10.com.ddky:vis-18-31-48/tpg1/acls create iqn.2020-10.com.ddky:vis-18-31-48 记下来这个: iqn.2020-10.com.ddky:vis-18-31-48 然后修改pxe,位于172.18.31.2 /export/html/pxeboot/boot2.php,本质是发送ipxe的命令 sanhook是加载远程硬盘,并设置为/dev/sda function sansetup() { global $hostname; echo ":sansetup\n"; echo "set initiator-iqn iqn.2020-10.com.ddky:vis-18-31-48\n"; echo "set keep-san 1\n"; echo "sanhook iscsi:172.18.30.18::::iqn.2020-10.com.ddky:vis-18-31-48\n"; echo "kernel $hostname/repos/centos/7/os/x86_64/images/pxeboot/vmlinuz\n"; echo "initrd $hostname/repos/centos/7/os/x86_64/images/pxeboot/initrd.img\n"; echo "imgargs vmlinuz load_ramdisk=1 ks=$hostname/pxeboot/install/centos/centos7_last.php ksdevice=eth0 net.ifnames=0 biosdevname=0\n"; echo "boot\n"; } 发动一个无盘的虚机从pxe启动(172.18.30.3 /export/kvm/48.sh): ...

2023年12月15日 · 1 分钟 · 123 字 · 八戒

Prometheus集成进mysql_exporter

mysql_exporter 其实是一个mysql客户端,定时收集本机mysql的数据,并暴露出一个web端口展现数据。 例如:http://172.18.20.9:50001/metrics ,这里我们暴露的端口是50001。 prometheus 每隔5分钟会访问这个web页面,把上面的数据抓下来入库。(时间间隔可以调整) 我们点进Prometheus的页面: 注意右下角的时间戳是不对的,差8小时,我们点右上角的React UI 这个UI时间是对的,跟当地时间一致: 想看 mysql 的指标,就需要编辑公式,输入mysql会显示所有mysql的公式: 注意:我们 mysql_exporter 的端口是50001 , 写 promsql 选择instance的时候是这样的instance=“172.18.20.9:50001” 给一些报警例子: rate(mysql_global_status_threads_connected[5m]) > 200 mysql_global_variables_max_connections - mysql_global_status_threads_connected < 500 mysql_global_status_innodb_num_open_files > (mysql_global_variables_open_files_limit) * 0.75

2023年12月15日 · 1 分钟 · 34 字 · 八戒