❶ linux入门系列——软件包管理
RedHat 系统中使用的是: rpm (redhat package manager) 现在称:RPM is Package Manager
Debian : dpt
Ubuntu : apt
在安装软件的时候,有可能出现软件包的相互依赖关系;所以红帽公司推出了:yum(Yellowdog update modifier)
包的组成部分:
主包:
bind-9.7.1-1..e15.i586.rpm
子包:
bind-libs-9.7.1-1..e15.i586.rpm
bind-utils-9.7.1-1..e15.i586.rpm
包名:
PackageName-Version-Release.Arch.rpm
bind-major-minor-releases-release.arch.rpm
包名-主版本号-次版本号-发行号-rpm包的制作者的发行号.硬件平台.rpm
主版本号:重大改进;
次版本号:某个子功雀或能发生重大变化;
发行号:修改BUG,调整了一点功能;
bind-9.7.1-1.noarch.rpm 这里的noarch表示不区分硬件平台,32和64都可以使用;如果是ppc则是在PowerPc上使用的包;
# rpm -ivh /path/to/Package_Name
-i,--install 表示安装
-v 表示显示安装过程的信息
-h 表示以#显示安装的进程,总数为50个;
-vv 显示更详细的过程;
--nodeps 安装的时候忽略依赖关系;
--force 无论之前是否安装过,都强制安装,可以实现重装、降级;
--replacepkgs 重新安装,替换原有的安装;
--oldpackage 对软件包进行降级;
--test Do not install the package, simply check for and report potential conflicts. 不进行安装,只测试看在安装的时候有没有依赖包要装;
rpm -q soft_name
# rpm -q httpd
rpm -qa 查询当前系统中已经安装的rpm软件包;
# rpm -qa |grep ‘ssh*’
rpm -qi soft_name 查询软件包的安装信息:
[root@ns2 rpm]# rpm -qi zlib-devel
Name : zlib-devel Relocations: /usr
Version : 1.2.3 Vendor: CentOS
Release : 4.el5 Build Date: 2011年05月11日 星期三 18时57分15秒
Install Date: 2013年07月21日 星升岁镇期日 17时02分41秒 Build Host: builder10.centos.org
Group : Development/Libraries Source RPM: zlib-1.2.3-4.el5.src.rpm
Size : 269981 License: BSD
Signature : DSA/SHA1, 2011年09月04日 星期日 03时24分25秒, Key ID a8a447dce8562897
URL : http://www.gzip.org/zlib/
Summary : Zlib 开发的头文件和库。
Description :
zlib-devel 软件包包括开发使用 zlib 压缩和解缩库的程序
所需的头文件和库。
[root@ns2 rpm]#
rpm -ql soft_name 查看该软件包在系统中存放了哪些文件;
rpm -qf /path/to/file_name 查看该文件吵粗是由哪个rpm包生成的。
rpm -qc soft_name 查看指定rpm包安装的配置文件的位置;
rpm -qd soft_name 查看指定rpm包安装的帮助文件的位置;
rpm -q --scripts soft_name 查看指定rpm包在安装、卸载、更新的前后,所要执行的shell脚本;
rpm -qp[i|l|d|c|] 即要加上一个“p”选项;
rpm -Uvh /path/to/package_name
如果安装的指定的软件包已经安装过,则进行升级操作,如果没有安装过,则就使用指定的这个软件包进行安装;
rpm -Fvh /path/to/package_name
如果安装过,则升级,否则不进行任何操作;
rpm -Fvh --oldpackage package_name 通常用这个来降级一个rpm包;
rpm -e package_name
--nodeps 强制卸载
rpm -V package_name 也可以使用--verify
通常用来检查安装后的文件是不是被修改过;
加密算法:
对称加密: 加密和解密使用同一个key
非对称加密:有一对密钥(公钥和私钥),公钥大家都可以知道,私钥只有持有人知道;公钥加密私钥解,私钥加密公钥也可以解。不能由公钥摧出私钥,也不能由私钥摧出公钥;私钥还用来做签名,因为只有私钥持有人自己才有;
单向加密:使用这种加密算法加密后,是不可以再还原的。通常用它来做数据完整性的验证,也就是验证数据在传输的过程中有没有被别人修改过。
在红帽的系统中,/etc/pki/rpm-gpg/目录下面存放了红帽公司的gpg-key(相当于公钥),所以只需要把这个gpgkey导入到系统中就可以验证了。导入方法如下:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
接下来就可以对将要安装的rpm包进行验证了:
# rpm -K /path/to/package_file
dsa,gpg验证来源的合法性,也就是验证签名。但是可以使用--nosignature 来跳过签名验证;
sha1,md5验证软件包的完整性,可以使用--nodigest 来跳过完整性验证;
rpm --rebuilddb 重建数据库
--initdb 初始化数据库
yum install -y pack1 pack2 安装指定的软件包
yum remove pack1 pack2 -y 删除指定的软件包
yum update pack1 pack2 更新指定的软件包
yum list installed 列出所有已经安装的软件包
yum update 更新源
yum search string 搜索包含string的软件包
yum install package_name 获取软件包信息
# tar zxf nginx-1.4.7.tar.gz -C /usr/src
# configure --prefix=/usr/local/nginx --conf-path=/etc
# make
# make install
由于使用的是源码包安装在非正常路径下。所以还要做以下的调整:
修改/etc/profile文件。或是在/etc/profile.d/下创建一个以.sh结尾的文件;再把二进制程序的路径export出来就行了;
在/etc/ld.so.conf.d/中创建一个以.conf文件结尾的文件,而后把要增添的路径直接写入此文件中就行了;
这样系统就会在下次启动的时候,自动加载这些新增加的库;如果想让系统马上可以找到这些新增加的库,就必须执行下面的命令:
# ldconfig 通知系统重新搜索库文件,还可以加上-v选项,表示显示过程;
默认的头文件搜索路径是:/usr/include/
要添加新的头文件搜索路径,可以使用链接的方式:
ln -s /usr/local/nginx/include/* /usr/include/
或
ln -s /usr/local/nginx/include /usr/include/nginx
这时可以修改/etc/man.conf文件,在里面添加以下内容:
MANPATH /usr/local/nginx/man
还有一种方式就是临时使用:
# man -M /usr/local/nginx/man nginx 这样就可以查看nginx的man手册了;
❷ linux如何一机一码加密
使用命令。Linux是一种自由和开放源代码的类UNIX操颤滚作系统,整个系统采用代码命令进行操作,加密可以使用/etc/passwd命令进行加密。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布,在加上用户空间的应用程序之后旅裤,茄镇余成为Linux操作系统。
❸ Linux里面openssl作用是什么
主要是用来安全的。
openssl命令 – 加密算法
openSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。对应的命令就是openssl命令,用于加密算法。《Linux就该这么学》
语法格式:openssl [参数]
举例子:
用SHA1算法计算文件file.txt的哈西值,输出到stdout:
# openssl dgst -sha1 file.txt
❹ linux压缩文件怎么加密
方法一:用tar命令 对文件加密压缩和解压
压缩:
tar-zcf-filename|openssldes3-salt-kpassword|ddof=filename.des3
此命令对filename文件进行加码压缩 生成filename.des3加密压缩文件, password 为加密的密码。
方法二:用zip命令对文件加密压缩和解压
zip-refilename.zipfilename回车,输入2次密码
❺ php 加密:AES & RSA
最近两年一直从事与金融相关项目的开发与维护。但是,关于 PHP 加密解密的最佳实践,网上没有人给出一个完美的总结。恰逢最近看了《图解密码技术》一书,对 PHP 加解密有了更深刻的认识。
为了避免各位看枯燥的文字理论,开篇我就把总结给出:
一、对称加密
对称加密的特点是加解密速度快,加密后的密文强度目前还没有硬解的可能性。但是,在未来随着计算机性能的提升有可能会出现被破解的可能性。
对称加密的缺点也很明显。对称加密的加密过程与解密过程使用的是同一把密钥。一旦泄漏密钥,加密就失去了任何意义。
根据《图解密码技术》一书的推荐,对称加密目前推荐使用 AES。在 PHP 当中要实现 AES 加解密,是使用 openssl 扩展来实现。所以,请确保你的 PHP 已经开启了 openssl 扩展。
可以通过如下方式检测:
或者如下方式检测:
AES 的加密模式属于分组密码模式。所谓分组密码,是加密时把明文按照固定的长度分组,然后再进行加密。当然,细节之处很很多不同。AES 分组模式有多种:ECB、CBC、CFB、OFB、CTR 五种分组模式。目前优先推荐使用 CBC 模式。
如果使用 CBC 模式,那么在加密的时候,就需要一个前置的加密向量 IV。当初博主在使用 AES 来加密的时候,就很奇怪一个对称加密为何要这个向量。因为,在博主寒冰的潜意识里,对称加密只需要一个密钥就 Ok 了。没想到 AES 加密还有多种模式,而这个 CBC 模式恰恰就需要一个这样的向量值。关于这个向量大家可以在网上查阅相关的资料。这个东西非常重要,也非常好理解。
关于 PHP AES 加解密会用到的相关方法:
AES 支持三种强度:128、192、256。128 位的强度最低,但是,加密解密速度较快。256 位强度最高,但是,加密解密速度最低。所以,大家根据自己系统的重要程度选择使用对应强度。通常普通的金融项目使用 192 位完整够用了。顶级的就用 256 位。其他的就用 128 位吧。
二、非对称加密
非对称加密是指公钥加密私钥解密,私钥加密公钥解密的算法。非对称加密的算法有很多。《图解密码技术》一书推荐使用 RSA 算法。它使用起来也非常简单。
要使用 RSA 算法。首先,我们必须生成一对公钥私钥。其实生成公钥私钥很简单。
在 Linux 系统,直接使用如下命令生成:
此命令会生 ~/.ssh/ 目录下生成两个文件:
id_rsa 是私钥, is_rsa.pub 是公钥。
关于 PHP RSA 加解密会用到的相关方法:
以上就是关于在 PHP 项目开发中,我们使用的加密解密算法的一个总结。博主寒冰在总结过程中难免会有不足之处,还请大家指正!谢谢!
❻ linux服务器查看ssh支持的非对称算法
linux服务器查看ssh支持的非碰高数对称算法步骤如下:
1、使念烂用secureCRT工具连接linux服务器。
2、输入manssh可以看到ssh的-Q参数支持的查询方法。
3、输入ssh-Qcipher,可以查看linux服务器上支持的ssh对称秘钥。
4、输入ssh-Qcipher-auth,可以查看支持身份验证加密的对称秘钥。
5、输入ssh-Qmac,可以查看支持的消息完整性秘钥。
6、输入笑首ssh-oCiphers=aes128-ctr服务器IP地址,可以指定秘钥算法进行ssh连接即可。
❼ Linux下使用GPG(GnuPG)加密及解密文件
GNU Privacy Guard(GnuPG或GPG)是一种加密软件,它是PGP加御凯举好密软件的满足GPL的替代物。GnuPG依照由IETF订定的OpenPGP技术标准设计。GnuPG用于加密、数字签名及产生非对称钥匙对的软件。
首先安装GPG
sudo apt install gnupg
gpg --gen-key
Real name: 输入用户名
Email address: 输入邮箱
Change (N)ame, (E)mail, or (O)kay/镇答唤(Q)uit? O
最后查看
gpg --list-keys
❽ 如何在linux使用md5对其进行加密
这里以字符串123456为例子,它的md5密文值为:
这里以1.txt为需要被加密的文件。
一、 用oppnssl md5 加密字符串和文件的方法。
1. oppnssl md5 加密字符串的方法
a.手动输入命令及过程如下:
#openssl //在终端中输入openssl后回车。
OpenSSL> md5 //输入md5后回车
123456 //接着输入123456,不要输入回车。然后按3次ctrl+d。
123456 //123456后面的就是密文了
解释:为何在输入123456后不回车呢?
是因为openssl默认会把回车符当做要加密的字符串中的一个字符,所以得到的结果不同。如果你输入123456后回车,在按2次ctrl+d。得到的结果是:
OpenSSL> md5
123456
//因为openssl不忽略回车符导致的
b.或者直接用管道命令
# echo -n 123456 | openssl md5 //必须要有-n参数,否则就不是这个结果了。
解释:为何要加-n这个参数?
-n就表示不输入回车符,这样才能得到正确的结果。如果你不加-n,那么结果和前面说的一样为:
//因为openssl不忽略回车符导致的
2.用openssl加密文件。
#openssl md 5 -in 1.txt
##################################################3
Openssl其他相关加密的命令参数:引自:实用命令:利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密 收藏
一. 利用openssl命令进行BASE64编码解码(base64 encode/decode)
1. BASE64编码命令
对字符串‘abc’进行base64编码:
# echo abc | openssl base64
YWJjCg== (编码结果)
如果对一个文件进行base64编码(文件名t.txt):
# openssl base64 -in t.txt
2. BASE64解码命令
求base64后的字符串‘YWJjCg==’的原文:
# echo YWJjCg== | openssl base64 -d
abc (解码结果)
如果对一个文件进行base64解码(文件名t.base64):
# openssl base64 -d -in t.base64
二. 利用openssl命令进行md5/sha1摘要(digest)
1. 对字符串‘abc’进行md5摘要计算:echo abc | openssl md5
若对某文件进行md5摘要计算:openssl md5 -in t.txt
2. 对字符串‘abc’进行sha1摘要计算:echo abc | openssl sha1
若对某文件进行sha1摘要计算:openssl sha1 -in t.txt
三. 利用openssl命令进行AES/DES3加密解密(AES/DES3 encrypt/decrypt)
对字符串‘abc’进行aes加密,使用密钥123,输出结果以base64编码格式给出:
# echo abc | openssl aes-128-cbc -k 123 -base64
U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= (结果)
对以上结果进行解密处理:
# echo U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= | openssl aes-128-cbc -d -k 123 -base64
abc (结果)
若要从文件里取原文(密文)进行加密(解密),只要指定 -in 参数指向文件名就可以了。
进行des3加解密,只要把命令中的aes-128-cbc换成des3就可以了。
注:只要利用openssl help就可以看到更多的安全算法了。
###############################################
二、 利用php的md5函数加密字符串
#touch a.php //创建a.php文件
#vi a.php //用vi 编辑a.php文件
将<?php echo md5(123456); ?>输入进去后保存
#php a.php //运行a.php文件
显示:
三、 利用md5sum命令
A.在linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。可以用下面的命令来获取md5sum命令帮助 man md5sum
#md5sum –help
有个提示:“With no FILE, or when FILE is -, read standard input.”翻译过来就是“如果没有输入文件选项或者文件选项为 - ,则从标砖读取输入内容”,即可以直接从键盘读取字符串来加密。
利用md5sum加密字符串的方法
# md5sum //然后回车
123456 //输入123456.然后按两次ctrl+d.
显示:
123456 红色代表加密后的值
还可以用管道命令:
#echo -n '123123' | md5sum
或者写成md5加密脚本,名字叫md5.sh,
将以下内容复制进脚本里:
#!/bin/bash
echo -n $1 | md5sum | awk '{print $1}'
保存后,给脚本执行权限。
#sh md5.sh 123456
显示:
B.其实也可以将文本放入文本文件,然后用md5sum 加密改文本,也可以得到字符串加密的值。过程如下:
#touch a.txt
#echo -n 123456 > a.txt //将123456写进文本文件,不能丢了 –n参数,避免回车符干扰
#md5sum a.txt
显示: a.txt
ctrl+d有两个含义:
一是向程序发送文件输入结束符EOF。
二是向程序发送exit退出指令。程序收到信号后具体动作是结束输入、然后等待,还是直接退出,那就要看该程序捕获信号后是如何操作的了。
md5sum属于第一个含义。两次strl+d了,第一次读取EOF指令,再次捕获就会当成exit指令。而shell一类的程序,会直接把ctrl+d解析为退出指令。
❾ 如何在Linux系统上加密
打开虚拟机,进入安装好的Linux系统,创建一个属于自己的目录,这里我创建的是test
在创建的目录中新建一个文件,名字为test.txt
在文件中输入“北京欢迎你”,然后保存
执行openssl加密命令
openssl enc -des-ede3-cbc -in test.txt -out JMtest.txt -k 12345678
查看生成的文件JMtest.txt,发现是乱码,说明已经加密成功
然后执行openssl的解密命令
openssl enc -des-ede3-cbc -in JMtest.txt -out test_after.txt -d -k 12345678
查看生成的文件test_after.txit,可以清楚的看到“北京欢迎你”,说明解密成功