ossfs: could not determine how to establish security credentials

在低版本的CentOS安装ossfs才有这情况,高版本不会。 # ossfs ace-files /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com ossfs: could not determine how to establish security credentials. ace-files是bucket名字,如果这个bucket不是自己的,换为自己的。 另外,后面的OSS域名是不用带bucket名,如果想用内网传输的话,得用OSS内网域名,而不是外网域名。
阅读全文

unzip: Command Not Found 需安装unzip

新装的linux系统可能没有自带的压缩解压工具的程序,所以如果直接运行zip命令,会返回Command Not Found的结果 unzip zip的安装 如果是用yum安装的话用下面的命令安装 yum install -y unzip zip 如果是Ubuntu的的系统可以用下面的命令安装 sudo apt-get install zip 已经安装的话,会升级
阅读全文

重启系统后,wdcp后台和网站全部打不开

登录ssh,命令行 service nginxd restart service httpd restart 有时重启系统倒是正常。 不过今天阿里云快照滚回后自动重启系统发先wdcp后台和网站都打不开。 用以上命令重启服务就正常了。
阅读全文

Linux命令行文本处理工具

文件浏览 cat 查看文件内容 more 以翻页形式查看文件内容(只能向下翻页) less 以翻页形式查看文件内容(可上下翻页) head 查看文件的开始10行(或指定行数) tail 查看文件的结束10行(或指定行数) 基于关键字搜索 命令grep用以基于关键字搜索文本 grep 'linuxcast' /etc/passwd 查找passwd文件中linuxcast的关键字,passwd必须是纯文本 find / -user linuxcast | grep Video 查找linuxcast用户所有文件中含linux关键字的文件(文件名) find / -user linuxcast 2> /dev/null | grep Video 通过重定向把搜索结果中的标准错误输出到null设备当中,这样就不会显示报错信息 参数 -i 在搜索的时候忽略大小写 -n 显示结果所在行数 grep -n linuxcast /etc/passwd -v输出不带关键字的行 -Ax在输出的时候包含结果所在行之后的指定行数 grep -A3 linuxcast /etc/passwd -Bx在输出的时候包含结果所在行之前的指定行数 grep -B3 linuxcast /etc/passwd 基于列处理文本 命令cut用以基于列处理文本内容 cut -d: -f1 /etc/passwd grep linuxcast /etc/passwd | cut -d: -f3 -d指定分割字符(默认是TAB) -f指定输出的符号 -c基于字符进行切割 cut -2c-6 /etc/passwd 文本统计 命令wc用以统计文本信息 wc linuxcast -l 只统计行数 wc -l linuxcast -w 只统计单词 wc -w linuxcast -c 只统计字节数 wc -c linuxcast -m 只统计字符数 wc -m linuxcast 文本排序 命令sort用以对文本内容进行排序...
阅读全文

Linux Bash严重漏洞最终修复方案

之前阿里云有放出修复Bash漏洞的方案,不过据说不能彻底解决问题,现在放出一个最终修复方案来了。 特别提醒:Linux 官方已经给出最新解决方案,已经解决被绕过的bug,建议您尽快重新完成漏洞修补。openSUSE 镜像已经给出修复方案了。 【已确认被成功利用的软件及系统】 所有安装GNU bash 版本小于或者等于4.3的Linux操作系统。 【漏洞描述】 该漏洞源于你调用的bash shell之前创建的特殊的环境变量,这些变量可以包含代码,同时会被bash执行。 【漏洞检测方法】 漏洞检测命令: env -i X='() { (a)=>\' bash -c 'echo date'; cat echo 修复前 输出: 当前系统时间 使用修补方案修复后 输出 date (备注:输出结果中见到"date"字样就修复成功了。) 特别提示:该修复不会有任何影响,如果您的脚本使用以上方式定义环境变量,修复后您的脚本执行会报错。 【建议修补方案 】 请您根据Linux版本选择您需要修复的命令, 为了防止意外情况发生,建议您执行命令前先对Linux服务器系统盘打个快照,如果万一出现升级影响您服务器使用情况,可以通过回滚系统盘快照解决。 centos:(最终解决方案) yum clean all yum makecache yum -y update bash ubuntu:(最终解决方案) apt-get update apt-get -y install --only-upgrade bash debian:(最终解决方案) 7.5 64bit && 32bit apt-get update apt-get -y install --only-upgrade bash 6.0.x 64bit wget http://mirrors.aliyun.com/debian/pool/main/b/bash/bash_4.1-3+deb6u2_amd64.deb && dpkg -i bash_4.1-3+deb6u2_amd64.deb 6.0.x 32bit wget http://mirrors.aliyun.com/debian/pool/main/b/bash/bash_4.1-3+deb6u2_i386.deb && dpkg -i bash_4.1-3+deb6u2_i386.deb aliyun linux:(最终解决方案) 5.x 64bit wget http://mirrors.aliyun.com/centos/5/updates/x86_64/RPMS/bash-3.2-33.el5_10.4.x86_64.rpm && rpm -Uvh bash-3.2-33.el5_10.4.x86_64.rpm 5.x 32bit wget http://mirrors.aliyun.com/centos/5/updates/i386/RPMS/bash-3.2-33.el5_10.4.i386.rpm && rpm -Uvh bash-3.2-33.el5_10.4.i386.rpm...
阅读全文

Linux多命令协作:管道及重定向

不要重复发明轮子 开源文化的核心理论之一就是不要重复发明轮子,很多的开源软件都是现有软件、代码、功能的重新组合,就好像通过零件装配机器一样,源代码的开放和共享让这成为了可能,同时也大大的提高效率和生产力。 管道和重定向 在Linux系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现和一个或几个很简单的功能,我们可以通过将不同功能的命令组合在一起使用,以达到完成某个复杂功能的目的。 Linux中,几乎所有命令的返回数据是纯文本的(因为命令都是运行在CLI下),而纯文本形式的数据又是绝大多数命令的输入格式,这就让多命令协助成为可能。 Linux的命令行为我们提供了管道和重定向机制,多命令协作就是通过管道和重定向完成的。 命令行shell的数据流有以下定义: 命令通过STDIN接收参数或数据,通过STDOUT输出结果或通过STDERR输出错误。 名称 说明 编号 默认 STDIN 标准输入 0 键盘 STDOUT 标准输入 1 终端 STEDERR 标准错误 2 终端 通过管道和重定向我们可以控制CLI的数据流 分类 关键字 定义 例子 重定向 > 将STDOUIT重定向到文件(覆盖) echo"linuxcast" > outfilels > outfile >> 将STDOUT重定向到文件(追加) echo"linuxcast" >> outfile date >> outfile 2> 将STDERR重定向文件(覆盖) ls nothere 2> 2>&1 将STDERR与STDOUT结合 ls nothere 2> &|alloutput < 重定向STDIN grep linuxcast < /etc/passwd 管道 | 将一个命令的STDOUT作为另一个命令的STDIN ls -l | grep linux find / -user linuxcast | grep video 管道通常用来组合不同的命令,以实现一个复杂的功能 重定向通常用来保存某命令的输出信息或错误信息,可以用来记录执行结果或保存错误信息到一个指定的文件
阅读全文
Linux网络基础配置,故障排查 电脑控

Linux网络基础配置,故障排查

以太网连接 在Linux中,以太网接口被命令为:eth0、eth1等,0、1代表网卡编号 通过lspci命令可以查看网卡硬件信息(如果是usb网卡,则可能需要使用lsusb命令) 命令ifconfig命令用来查看接口信息 ifconfig -a 查看所有接口 ifconfig -eth0 查看特定接口 命令ifup、ifdown用来启用、禁用一个接口 ifup eth0 ifdown eth0 配置网络信息 使用setup命令可以配置网络信息 配置完成后,使用ifup启用网卡,并使用ifconfig命令查看信息 网络相关配置文件 网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 DNS配置文件 /etc/resolv.conf 主机名配置文件 /etc/sysconfig/network 静态主机名配置文件 /etc/hosts 网络测试命令 ping 192.168.1.1 ping www.kuntesi.com 测试DNS解析 host www.kuntesi.com dig www.kuntesi.com 显示路由表 ip route 追踪到达目标地址的网络路径 traceroute www.kuntesi.com 使用mtr进行网络质量 测试(结合traceroute和ping) mtr www.kuntesi.com 故障排查 网络故障排查遵循从底层到高层、从自身到外部的流程进行 先查看网络配置信息是否正确 -IP地址 -子网掩码 -网关 -DNS 查看DNS解析是否正常 host www.kuntesi.com
阅读全文
网络基础:IP编址,路由,DNS 电脑控

网络基础:IP编址,路由,DNS

IP编址 IP编址是一个双层编址方案,一个IP地址标识一个主机(或一个网卡接口) 现在应用最为广泛的是IPv4编址,已经开始逐渐向IPv6编址切换 IPv4地址为32位长,IPv6地址为128位长。(IPV6可以为世界上每一粒沙子分配一个网络地址) 一个IPv4地址分为两个部分:网络部分和主机部分 网络部分用来识别所属区域、主机部分用来标识该区域中的哪个主机 IP地址 Ipv4地址共32位,通常使用点分十进制方式表示 整个IP地址分为4个部分,每个部分8位 子网掩码 IPv4地址的32bit分为网络部分和主机部分 我们通过子网掩码来确定网络部分的位数 子网掩码与IP地址一样,拥有32bit,每一位与IP地址中的每一位一一对应 IP地址中相对子网掩码中为1的部分为网络部分 证明此IP地址前24位是网络部分,也就是说,与此IP地址处在同一个网络的其他主机的IP地址前24位相同,以证明他们在同一个网络 IP编址 通过比较网络部分是否相同来判断是否处于同一网络 192.168.1.0/24 192.168.1是网络部分,0是用来标识网段中的不同主机,/24是子掩码,表示前24位或者前三部分 10.0.0.0/8 10是网络部分,0.0.0是用来标识网段中的不同主机,/8是子掩码,表示前8位或者第一部分 同一个网络主机之间通信 MAC地址是网卡的地址,同一网络的主机是通过MAC和交换机直连的 不同网络之间通信 不同网络之间通信需要通过路由器转发 路由 在不同网络之间传输数据的功能叫做路由功能(网关),一般有多个接口,连接到不同的网络中,并且通过路由表进行数据转发 网关的功能就是用来跨区域传输 域名 IP地址往往难以记忆,所以我们一般使用域名进行管理 域名分为三个部分,用“.”分割 -类型 标识此域名的类型(com,get,org,edu,gov等) -域名 域名称 -主机名 该域中的某台主机名称 域名大小写不敏感 DNS 每一个域名代表一个IP,而DNS服务就是用来在IP与域名之间进行转换的 DNS服务由DNS服务器提供 有时网络QQ能上,网站却打不开,是因为QQ不用dns,只用ip通信 基本网络参数 要配置一个局域网通信的计算机 -ip地址 -子网掩码 -要配置一个跨网段通信的计算机 -ip地址 -子网掩码 -网关 要配置一个可上网的计算机 -ip地址 -子网掩码 -网关 -DNS
阅读全文

Linux扩展权限(默认权限):umask

默认权限 每一个终端都拥有一个umask属性,来确定新建文件、文件夹的默认权限 umask使用数字权限方式表示,如:0022(第一个数字是特殊权限) 创建目录的默认权限是:777-umask(777减去当前的umask最后三个数字的值) 创建文件的默认权限是:666-umask(666减去当前的umask最后三个数字的值) 一般情况下,普通用户的默认umask是002,root用户的默认umask是022 也就是说,对于普通用户来讲: 新建文件的权限:666-002=664 新建目录的权限:777-002=775 命令umask用以查看设置(修改)umask值 umask 022 一般情况下,我们不去修改默认权限. 特殊权限 权限   对文件的影响 对目录的影响 suid 以文件的所属用户身份执行,而非执行文件的用户 无 sgid 以文件属组身份执行 在该目录创建的任意文件(包括文件夹)的所属组与该目录的所属组相同 sticky 无 对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件 suid: root@a:~# ls -ld /usr/bin/passwd -rwSr-xr-x 1 root root 42824 Apr 9 2012 /usr/bin/passwd suid(S)替换了所属用户User的权限的x位 sgid(S)替换了所属用组Group的权限的x位 sticky(T)替换了所其他用组权限的x位 root@a:~# ls -ld /etc/shadow -rw-r----- 1 root shadow 950 Sep 27 15:40 /etc/shadow root的权限无穷大,passwd功能就是接受用户信息,然后写入shadow当中。 设置特殊权限 设置suid: chmod u+s linuxcast 设置sgid: chmod g+s linuxcast 设置sticky: chmod o+t linuxcast 与普通权限一样,特殊权限也可以使用数字方式表示 -SUID =4 -SGID =2 =Sticky =1 所以,我们可以通过以下命令设置 chmod 4755 linuxcast
阅读全文

14-Linux用户基础:用户,组

用户、组 当我们使用Linux时,需要以一个用户的身份登入,一个进程也需要以一个用户的身份运行,用户限制使用者或进程可以使用、不可以使用哪些资源。 组用来方便组织管理用户 每个用户拥有一个UserId,操作系统实际使用的是用户ID,而非用户名 每个用户属于一个主组,属于一个或多个附属组 每个组拥有一个GroupID 每个进程以一个用户身份运行,并受该用户可访问的资源限制 每个可登录用户拥有一个特定的shell 用户 用户ID为32位,从0开始,但是为了和老式系统兼容,用户ID限制在60000以下。 用户为以下三种: -root用户(ID为0的用户为root用户) -系统用户(1-499) -普通用户(500以上) 系统中的文件都有一个所属用户及所属组 使用id命令可以显示当前用户的信息 使用passwd命令可以修改当前用户密码 相关文件 /etc/passwd -保存用户信息 /etc/shadow -保持用户密码(加密的) /etc/group -保存组信息 查看登录的用户 命令whoami显示当前用户 命令who显示有哪些用户已经登录系统 命令w显示有哪些用户已经登陆并且在干什么 创建一个用户 命令useradd用以创建一个新用户 useradd nash_su 这个命令会执行以下操作: 1./etc/passwd中添加用户信息 2.如果使用passwd命令创建密码,则将密码加密保存在/etc/shadow中 3.为用户建立一个新的家目录/home/nash——su 4.将/etc/skel中的文件复制到用户的家目录中 5.建立一个与用户用户名相同的组,新建用户默认属于这个同名组 .命令useradd支持以下参数 -d 家目录 -s 登陆shell -g 主组 -G 附属组(最多31个,用“,”分割) 也可通过直接修改/etc/passwd的方式表现,但是不建议 修改用户信息 命令usermod用来修改用户信息 usermod 参数 username 命令usermod支持以下参数 -l 新用户名 -u 新userid -d 用户家目录位置 -g 用户所属主组 -G 用户所属附属组 -L 锁定用户使其不能登录 -U 解除锁定 删除用户 命令userdel用以删除指定用户 userdel nash_su (保留用户的家目录) userdel -r nash_su(同时删除用户的家目录) 组 几乎所有操作系统都有组的概念,通过组,我们可以更加方便的归类、管理用户。一般来讲,我们使用部门、职能或地理区域的分类方式来创建用户组。 每个组有一个组ID 组信息保存在/etc/group/中 每个用户拥有一个主组,同时还可以拥有最多31个附属组 创建、修改、删除组 命令groupadd用以创建组: groupadd linuxcast 命令groupmod用以修改组信息 groupmod -n newname oldname 修改组名 groupmod -g newGid oldGid 修改组ID 命令groupdel用以删除组: groupdel linuxcast
阅读全文