linux服务器

Linux下限制用户通过SFTP访问指定目录

风流意气都作罢 提交于 2020-03-04 19:02:22
1、需求说明: 在一些生产环境中,有部分运营人员需要批量下载并上传专题,配置FTP服务进行权限控制相对比较复杂,也存在安全隐患,为了不让用户浏览除指定目录外得内容,我们可以通过SFTP限制允许访问得目录 2、创建系统用户 # useradd admin && echo 'admin123' | passwd --stdin admin 3、配置sftp的账户权限 修改文件/etc/ssh/sshd_config之前先备份文件cp sshd_config{,.bak} Subsystem sftp internal-sftp Match User admin # 需要限制得用户admin ChrootDirectory /data/www/Appcode # 允许admin用户访问得指定目录 X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 效果如图所示: 4、设置允许用户访问目录的权限 Sftp用户访问目录需要设置所有者和所属组的权限均为root,并设置目录的权限为755 # chown -R root:root /data/www/Appcode/ # chmod 755 /data/www/Appcode/ # /etc/init.d/sshd restart 5

Linux磁盘IO调度算法

让人想犯罪 __ 提交于 2020-03-04 19:02:19
A、CFQ(完全公平排队I/O调度程序) 最新的内核版本和发行版中,都选择CFQ做为默认的I/O调度器,对于通用的服务器是最好的选择。 CFQ对于多媒体应用(video,audio)和桌面系统是最好的选择。 CFQ赋予I/O请求一个优先级,而I/O优先级请求独立于进程优先级,高优先级的进程的读写不能自动地继承高的I/O优先级。 对于很多IO压力较大的场景就并不是很适应,尤其是IO压力集中在某些进程上的场景。因为这种场景我们需要更多的满足某个或者某几个进程的IO响应速度,而不是让所有的进程公平的使用IO,比如数据库应用。 CFQ试图均匀地分布对I/O带宽的访问,避免进程被饿死并实现较低的延迟,是deadline和as调度器的折中。 CFQ工作原理: CFQ为每个进程/线程,单独创建一个队列来管理该进程所产生的请求,也就是说每个进程一个队列,每个队列按照上述规则进行merge和sort。 各队列之间的调度使用时间片来调度,以此来保证每个进程都能被很好的分配到I/O带宽,I/O调度器每次执行一个进程的4次请求。可以调queued和quantum来优化。 B、NOOP(电梯式调度程序) 在Linux 2.4或更早的版本的调度程序,那时只有这一种I/O调度算法,I/O请求被分配到队列,调度由硬件进行,只有当CPU时钟频率比较有限时进行。 Noop对所有的I/O请求都用FIFO队列形式处理

Linux Nginx服务器 rewrite

爷,独闯天下 提交于 2020-03-04 18:39:32
1.Rewite规则 Rewrite规则可以实现对urI的重写。以及重定向 2.重定向 什么是重定向? 就是地址A跳转到地址B。 百度百科的解释:重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向) 为什么要进行重定向?什么时候需要重定向? 网站调整 (如改变网页目录结构) 网页被移到一个新地址 网页扩展名改变 (如应用需要把 .php 改成 .html ) 这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点等 3. 301和302 curl -I www.taobao.com curl -I taobao.com 1 2 301 redirect: 301代表永久性转移(PermanentlyMoved) 302 redirect: 302代表暂时性转移(TemporarilyMoved ) 共同点: 301和302状态码都表示重定向,就是说浏览器在到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B) 不同点:

嵌入式开发的必备知识点

倾然丶 夕夏残阳落幕 提交于 2020-03-04 18:00:13
嵌入式操作系统简介 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。 为什么要学嵌入式软件开发?好处是什么? (1)目前国内外这方面的人都很稀缺。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少,根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。 (2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。搞企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都得按客户要求改变,往往疲于奔命,重复劳动。相比而言,搞嵌入式系统的公司,都有自己的产品计划,按自己的节奏行事。 (3)哪天若想创业,搞自已的产品,那么嵌入式是一个不错的主意,这可不像应用软件那样容易被盗版。 嵌入式八大入门的知识点 1、C语言 嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。 2、Linux基础

linux服务器安装node

狂风中的少年 提交于 2020-03-04 17:59:19
连接服务器 //ssh 用户名@IP地址 ssh root@123.45.6.789 //然后输入密码即可 node.js中文网 http://nodejs.cn/download/ 拷贝安装包链接,在服务器下进行安装 wget http://..... //将拷贝的下载链接复制到这里 将下载的xz或者gz文件转换为tar文件 //文件名以自己下载的为准 xz -d node-v8.9.3-linux-x64.tar.xz 或者 tar -xzvf node-v8.9.3-linux-x64.tar.gz 解压文件 tar -xvf node-v8.9.3-linux-x64.tar 此时已安装完成,还需要进行配置才能在全局使用 全局配置 //node ln -s /node-v8.9.3-linux-x64/bin/node /usr/local/bin/node //npm ln -s /node-v8.9.3-linux-x64/bin/npm /usr/local/bin/npm //ln -s 后边的第一部分是你的node文件夹在服务器中的位置 //第二部分为在/usr/local/bin/下建立软连接 //做完这一步就可以全局使用了 验证安装成功与否 node -v npm -v 来源: oschina 链接: https://my.oschina.net/u

跟高手学习LINUX笔记-14

为君一笑 提交于 2020-03-04 17:31:37
第14节RAID磁盘阵列的原理与搭建 14.1 RAID概念与企业级常用RAID 0, 1,5,10的工作原理 14.1.1RAID概念 RAID:廉价可冗余磁盘阵列,用多块普通硬盘组合来提升可靠性、提升读写速度等一种方式 一般企业用得最多的就是 RAID 0, 1,5,10 RAID 0: 带区卷,加快读写速度,不容错,最少两块硬盘组成 磁盘利用率为100% RAID 1: 镜像卷,读写速度跟一块硬盘相同,容错,最少两块硬盘组成,磁盘利用率为50% RAID 5: 奇偶校验的条带卷,读写速度快,容错,最少三块硬盘构成,允许坏一块盘磁盘利用率: (n-1)/n RAID 10:RAID1的安全+RAID0的高速,读写速度快,容错最少四块硬盘构成 14.1.2 RAID硬盘失效处理 一般两种处理方法:热备和热插拔 1)热备:HotSpare 情形:当冗余的RAID组中某个硬盘失效时,在不干扰当前RAID系统的正常使用的情况下,用RAID系统中另外一个正常的备用硬盘自动顶替失效硬盘,保证RAID系统正常运行 A:全局式:备用硬盘为系统中所有的冗余RAID组共享 B:专用式:备用硬盘为系统中某一组冗余RAID组专用 2)热插拔:HotSwap 情形:在不影响系统正常运转的情况下,用正常的物理硬盘替换RAID系统中失效硬盘。 一般品牌服务器上用的SAS硬盘都支持热插拔替换功能 14.1.3

跟高手学习LINUX笔记-15

怎甘沉沦 提交于 2020-03-04 17:12:57
第十五章 LVM管理和LVM分区系统损坏如何挂载导数据实战 本节所讲内容: 15.1 LVM的工作原理 15.1.1 LVM的实用性 实战运用场景:对生产用服务器磁盘空间利用率是运维重点关注的问题之一,如果存储数据的分区磁盘空间不够了对生产用服务器影响很大。 处理方式常用有以下两种 没有引入LVM: 1、发布服务器停机通知-->停用服务-->关机增加硬盘-->分区格式化挂载-->将数据拷到新的位置-->修改相关的配置文件-->启动服务恢复业务-->发布业务恢复通知 引入LVM: 2、发布服务器停机通知-->停用服务-->关机增加硬盘-->分区LVM在线动态扩容->启动服务恢复业务-->发布业务恢复通知 从上面的可以看到不同的影响如下: 1)最大也是浪费时间最多的是拷贝数据及修改配置文件,在现阶段动辄T级别的数据,这个时间会很长的 2)对于大型软件配置文件关联性很强,一个地方修改不好也是个很麻烦的事情 15.1.2 LVM的工作原理 LVM是在物理工作层与系统工作层中间加入了一个逻辑管理层,所以再对物理磁盘操作的时候不再单纯使用操作系统的分区格式化,而是引入了叫逻辑卷的管理 15.1.3 LVM的相关定义 物理存储介质:也就是我们常用的物理磁盘,但分区时设置让LVM能识别的格式--选择t-->8e 物理卷PV:物理卷就是LVM的基本存储逻辑块,可以想像成一袋袋面粉 卷组VG:

SSH配置Linux免密登录

偶尔善良 提交于 2020-03-04 16:26:20
有一台Linux服务器,当我在本地的电脑上通过git上传代码到这台Linux服务器时,希望实现免密登录,就需要用到SSH秘钥, 首先,你需要确认自己是否已经拥有密钥。 默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下,打开git,输入命令: $ cd ~/.ssh $ ls id_dsa id_dsa.pub known_hosts 其中 id_dsa 是私钥, id_dsa .pub 是你的公钥,如果找不到这样的文件(或者根本没有 .ssh 目录),你可以通过运行 ssh-keygen 程序来创建它们: $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/schacon/.ssh/id_rsa): Created directory '/home/schacon/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/schacon/.ssh/id_rsa. Your public key has been saved in /home

Azure Oracle Linux VNC 配置

£可爱£侵袭症+ 提交于 2020-03-04 16:22:15
5.2更改VNC服务器配置 编辑文件/ etc / sysconfig / vncservers并修改参数: VNCSERVERS =“ 1:toor 2:oracle” VNCSERVERARGS [1] =“-geometry 1024x768 –depth 24 -nolisten tcp -localhost” VNCSERVERARGS [2] =“ -geometry 800x600 –depth 16 -nolisten tcp -localhost” 具体位置: “ -localhost ”选项可防止远程VNC客户端连接,除非通过安全隧道进行连接 “ -depth 16 ”选项可指定VNC会话中的颜色深度 获取新配置重新启动VNC服务: sudo service vncserver restart Shutting down VNC server: 1:aroot 2:oracle [ OK ] Starting VNC server: 1:aroot New 'fftest5:1 (aroot)' desktop is fftest5:1 启动/home/aroot/.vnc/xstartup中指定的应用程序 日志文件是/home/aroot/.vnc/fftest5:1.log 2:oracle 创建桌面文件 'fftest5:2(oracle)' 启动应用程序

RedHat Linux常见命令

孤人 提交于 2020-03-04 15:30:09
1 常用命令 命令 说明 man rm ( rm --help ) 查看帮助 cd 进入目录 ps -ef|grep java 查看进程 pstree |grep java 查看进程树 kill somePid 杀掉某进程 kill -9 $(ps -ef|grep udpserver | grep java|awk '{print $2}' ) 删除 udpserver 进程 rpm -aq|grep php 查看安装介质 pwd 查看当前目录 ls -l -t -l 显示详情, -t 按时间排序 ll 相当于 ls -l find / -name libNativeMethod.so 等同 ll |grep someFile grep someText * 在当前目录所有文本中查找 ifconfig IP 地址配置,可以使用 setup 命令启动字符界面来配置 chmod a+x somefile 所有用户都可以执行 chmod u+x somefile 当前用户可以执行 env 环境配置,相当 window 下 set env |grep PATH 查看环境变量 export 相当于 set classpath echo 输出变量名 netstat -npl 查看端口 lsof -i :22 查看端口进程 cp from to 拷贝文件 cp -fr ./j2sdk1.4.2