root

linux 实时同步inotify

十年热恋 提交于 2020-01-20 03:58:05
#实时同步inotify 1、inotify简介 inotify是一种强大的,细腻度的,异步的文件系统事件监控机制,linux内核从2.6.13起,加入了inotify支持,通过INOTIFY可以监控文件系统中添加、删除、修改、移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tloos就是实施这样监控的软件。 2、inotify实施 检查rsync daemon服务是否服务正常,可以推送数据实施同步 ps -ef |grep rsync|grep -v grep root 5959 1 0 18:52 ? 00:00:00 rsync --daemon 1)坚持当前系统是否支持inotify uname -r 版本在2.6.13以上才支持 2.6.32-504.el6.x86_64 # ls -l /proc/sys/fs/inotify -rw-r--r-- 1 root root 0 Apr 4 20:23 max_queued_events -rw-r--r-- 1 root root 0 Apr 4 20:23 max_user_instances -rw-r--r-- 1 root root 0 Apr 4 20:23 max_user_watches #显示这三个文件则证明支持INOTIFY proc/sys/fs

BST

≯℡__Kan透↙ 提交于 2020-01-20 03:47:28
纸不短,情不长 /** * @Classname BST * @Description * @Date 2020/1/19 10:27 * @Author SonnSei */ public class BST < E extends Comparable < E > > { private Node root ; private int size ; public BST ( ) { root = null ; size = 0 ; } public int getSize ( ) { return size ; } public boolean isEmpty ( ) { return size == 0 ; } public void add ( E e ) { root = add ( root , e ) ; } private Node add ( Node node , E e ) { if ( node == null ) { size ++ ; return new Node ( e ) ; } if ( e . compareTo ( node . value ) < 0 ) node . left = add ( node . left , e ) ; else if ( e . compareTo ( node . value ) > 0 ) node .

SSH 登录时出现如下错误:Permission denied, please try again

白昼怎懂夜的黑 提交于 2020-01-20 01:26:15
问题描述 当使用 SSH 登录 Linux 服务器时,如果是 root 用户,即便正确输入了密码,也会出现类似如下错误信息。 Permission denied, please try again. SSH 服务器拒绝了密码,请再试一次。 但非root用户可以正常登录,而且root用户通过 管理终端 登录也正常。 问题原因 服务端SSH 服务配置了禁止root用户登录策略。 处理办法 说明:相关策略可以提高服务器的安全性。请用户基于安全性和易用性权衡后,再确定是否需要修改相关配置。 要解决此问题,请进行如下配置检查和修改: 通过 管理终端 进入系统。 通过 cat 等指令查看 /etc/ssh/sshd_config 中是否包含类似如下配置:PermitRootLogin no 参数说明: 未配置该参数,或者将参数值配置为 yes (默认情况),都允许 root 用户登录。只有显示的设置为 no 时,才会阻断root 用户登录。 该参数只会影响用户的 SSH 登录,不影响用户通过 管理终端 等其它方式登录系统。 如果需要修改相关策略配置,在继续之前建议进行文件备份。 使用 vi 等编辑器,将参数值设置为 yes,或者整个删除或注释(在最开头添加 # 号)整行配置。比如:# PermitRootLogin yes 使用如下指令重启 SSH 服务:service sshd

三、删除给定值的叶子节点(Weekly Contest 172)

空扰寡人 提交于 2020-01-20 00:18:14
题目描述: 给你一棵以 root 为根的二叉树和一个整数 target ,请你删除所有值为 target 的 叶子节点 。 注意,一旦删除值为 target 的叶子节点,它的父节点就可能变成叶子节点;如果新叶子节点的值恰好也是 target ,那么这个节点也应该被删除。 也就是说,你需要重复此过程直到不能继续删除。 示例 1: 输入:root = [1,2,3,2,null,2,4], target = 2 输出:[1,null,3,null,4] 解释: 上面左边的图中,绿色节点为叶子节点,且它们的值与 target 相同(同为 2 ),它们会被删除,得到中间的图。 有一个新的节点变成了叶子节点且它的值与 target 相同,所以将再次进行删除,从而得到最右边的图。 示例 2: 输入:root = [1,3,3,3,2], target = 3 输出:[1,3,null,null,2] 示例 3: 输入:root = [1,2,null,2,null,2], target = 2 输出:[1] 解释:每一步都删除一个绿色的叶子节点(值为 2)。 示例 4: 输入:root = [1,1,1], target = 1 输出:[] 示例 5: 输入:root = [1,2,3], target = 1 输出:[1,2,3] 提示: 1 <= target <= 1000

洛谷 P2458 [SDOI2006]保安站岗

扶醉桌前 提交于 2020-01-19 23:11:35
题目传送门 解题思路: 树形DP 可知一个点被控制有且仅有一下三种情况: 1、被父亲节点上的保安控制 2、被儿子节点上的保安控制 3、被当前节点上的保安控制 我们设dp[0/1/2][u]表示u节点所在子树中全部被控制的最小代价,0表示只有u节点尚未被控制(等待被其父亲节点控制); 1表示u节点已经被控制,但u节点上没有保安,所以不能去控制其父亲节点;2表示u节点上有保安 (机房的神犇说多维数组要把小的那一维写在前面,因为可以优化常数,原理请自行翻阅一本通) 转移:(以下设v是u的儿子节点) dp[0][u]=∑min(dp[1][v],dp[2][v]) i节点上反正没有保安,那么儿子节点只要保证全部控制即可,显然1,2状态都是满足的 dp[1][u]=∑min(dp[1][v],dp[2][v]) + 某一个dp[2][v] 也就是说对于其中一个儿子取dp[2][v]而其他儿子取min(dp[1][v],dp[2][v])意为i号点必须要找一个儿子来覆盖它,其余随意。这个地方涉及到了算法复杂度的问题,楼下有些题解在这里写的是O(n^2)的转移,但实际上完全可以做到O(n)。具体在代码中细讲。 dp[2][u]=∑min(dp[0][v],dp[1][v],dp[2][v])+val[u] 这个就简单了,i号点上反正有保安了,所有儿子节点都无所谓了,全部可以转移。 AC代码: 1

Linux中特殊权限

久未见 提交于 2020-01-19 16:58:32
什么是特殊权限 SUID 只针对二进制可执行文件,使用拥有SUID权限的文件其中记录的程序时以文件拥有者的身份去执行 SGID 针对二进制可执行文件:该命令发起的程序是以该命令所有组的身份去执行 针对目录:目录i新建文件的所属组与该目录的所有组保持一致 STIKYID 对于文件:表示文件即使没有被程序调用也会被加载到交换空间中, 对于目录:表示当目录上有STICKYID的权限时,所有用户在该目录下均可创建文件,但只有文件拥有者和root用户可以删除该目录下的文件 如何设定特殊权限? 1 .采用监控的形式 发现在westos用户下既可以删除掉自己的文件,又可以删除掉student 用户的东西 2.chmod o+t /mnt/po 当目录有了STICKYID的权限时,westos用户和student用户在该目录下均可创建文件,但只有文件拥有者和root用户可以删除该目录下的文件(westos用户不能删除student用户的文件) 3.chmod g+s /mnt/ni 让student用户在/mnt/ni/下建立文件时以目录的所有组身份进行 {目录i新建文件的所属组与该目录的所有组保持一致 } 4 监控命令,文件usr/bin/cat所有组,用户 5 在root下执行文件,文件的用户和所有组身份都为root 在student下执行文件,文件的用户和所有组身份都为student 6

kubernetes-二进制部署

走远了吗. 提交于 2020-01-19 11:40:12
systemctl restart kube-proxy systemctl restart kubelet 💗、单点安装文档: https://k8s.abcdocker.com/kubernetes_install.html#toc_1 💗、服务器互信,免密钥登陆: for i in 192.168.2.9;do ssh-keygen -t rsa -P "" -f /root/.ssh/id_rsa expect -c " spawn ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.2.9 expect { " yes/no " {send "yes\r"; exp_continue} " password " {send "666666\r"; exp_continue} " Password " {send "666666\r";} } " done 💗、关闭分区: swapoff -a 💗、关闭防火墙: systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config 💗、测试etcd是否可用: export ETCDCTL_API=3

Python tkinter编程之Button_2# -*-coding:utf-8 -*- ''' Button的外观效果 flat groove raised ridge solid sunken

蹲街弑〆低调 提交于 2020-01-19 09:18:03
# -*-coding:utf-8 -*- ''' Button的外观效果 flat groove raised ridge solid sunken ''' from tkinter import * root = Tk() def hellowButton(): print('hello Button') Button(root, text = 'hello button',relief = FLAT).pack() Button(root, text = 'hello button', relief = GROOVE).pack() Button(root, text = 'hello button', relief = RAISED).pack() Button(root, text = 'hello button', relief = RIDGE).pack() Button(root, text = 'hello button', relief = SOLID).pack() Button(root, text = 'hello button', command = hellowButton, relief = SUNKEN).pack() root.mainloop() 来源: CSDN 作者: qiukapi 链接: https://blog.csdn.net

114. Flatten Binary Tree to Linked List(Medium)

邮差的信 提交于 2020-01-19 09:16:33
这题需要找到规律:前序遍历 第一想法是新建一个TreeNode t,在前序遍历root的同时,不断在t的右节点新建。此方法确实可行,但是原题返回是void空,说明只能在原结构上操作。 正确解法: 既然iterative的方法不行,那么就试试recursive。 因为recursive是反的,所以遍历顺序为right, left, root,从最右边开始建,运用临时变量TreeNode pre指向之前的节点,然后root.right = pre,递归直到原始root class Solution { TreeNode pre = null; public void flatten(TreeNode root) { if(root == null) return; flatten(root.right); flatten(root.left); root.right = pre; root.left = null; pre = root; } } 来源: https://www.cnblogs.com/zzb666/p/12210916.html

dubbo-admin安装和使用

让人想犯罪 __ 提交于 2020-01-19 05:55:33
按照常理,直接去 https://github.com/alibaba/dubbo 下载,然后进入下面的dubbo-admin目录,进行mvn打包即可,但是不知道为何,却找不到dubbo-admin这个目录。 那就直接去下载他们打包好的源代码吧:https://github.com/alibaba/dubbo/releases 1、解压后,根目录里存在dubbo-admin,进入 mvn package -Dmaven.test.skip=true 安装完后,生成target目录,进入这个目录,找到dubbo-admin-2.6.0这个目录,把这个目录全部copy到tomcat的目录webapps下的ROOT下面(删除tomcat webapps目录下ROOT原有内容) 2、解压后,根目录里存在dubbo-admin,进入 mvn install -Dmaven.test.skip=true 安装完后,生成target目录,进入这个目录,找到dubbo-admin-2.6.0.war,把这个war包copy到tomcat的目录webapps下的ROOT下面(删除tomcat webapps目录下ROOT原有内容),然后使用jar xvf dubbo-admin-2.6.0.war解压war包,把解压后的内容全部放到ROOT目录下 启动tomcat,就可以看到dubbo