【CyberSecurityLearning 38】网络安全常用linux操作系统的软件安装、YUM源配置、用户和组、文件及目录权限

一、linux操作系统的软件安装

http-2.2.15.tar.gz  
源码包特点:
1、源码包一般都是压缩包
2、源码包可以跨平台安装(可以装在centos/kali等)
3、更新速度快
4、安装过于繁琐
5、可以指定安装哪些功能(enable/disabled)

封装后的软件包特点:
1、经过压缩处理
2、安装便捷1条命令即可安装
3、更新速度慢
4、不能指定安装路径和安装功能
5、不支持跨平台安装  (deb--> debian  | rpm --> redhat package manager)用centos就是红帽的,用ubantu、kali就是德班的

安装封装软件包的前提:
1.确认是否已经安装过该软件包
rpm  -qa              (-q表示required,-a表示all,列出已经装的所有包)
rpm -qa | wc -l        可以显示有多少个
rpm -qa | grep lftp  不显示内容表示没安装lftp软件
2.确认软件的作用
 rpm -qpi lftp-4.0.9-14.el6.x86_64.rpm
p表示package  i表示info  查看该软件包作用

3、确认软件的安装位置
rpm -qpl lftp-4.0.9-14.el6.x86_64.rpm
4、安装软件
rpm -ivh  lftp-4.0.9-14.el6.x86_64.rpm(i表示install,v显示详细的安装过程,h是安装的时候进度条用井号显示)
5、通过man帮助查看lftp    man lftp
lftp  ip地址
> user   用户名  密码
> 登录
> set ftp:charset gb2312  修改字体为中文字体
> get 下载
> lcd  本地目录   切换本地目录
> put 上传
> quit
6、卸载软件
rpm  -e  lftp

二、YUM源安装配置

vim卸载过程
rpm -e vim-common 提示有依赖关系

* 解决依赖关系问题

1、软件依赖关系列表保存在光盘中
2、使用yum源工具 指定光盘所在路径
3、通过yum源工具安装卸载带有依赖关系的软件

cd  /etc/yum.repos.d   所有yum源的默认存放目录
所有yum源文件的特点都是.repo结尾
mkdir  bak
mv  C*  bak   移除所有yum源文件 避免干扰
vim  1901class.repo  建立自己的yum源文件
[1901source]   #标签
name=1901    #描述
baseurl=baseurl=file:/media/CentOS_6.6_Final #定义依赖关系文件所在位置  光盘所在路径
gpgcheck=0   #不做密钥对验证

yum remove  vim-common  卸载软件
yum  install  vim-enhanced  安装软件
yum  clean  all  清除以前的yum源缓存
yum install  wireshark-gnome  安装抓包软件

打开后点击interface list,能看到网卡





dst就是destination

ip dst==10.0.105.99 && ssh

科来也是很好的抓包软件

三、权限的学习

参考以前写的博客:https://blog.csdn.net/Waffle666/article/details/114061103
如何查看权限
ls -l
drwxr-xr-x.  root(文件的所属者) root(文件的所属组)  目录
-rw-r--r--.  root root 文件

必会文件
/etc/passwd   保存了系统中所有用户的信息
uid 用户的身份标识0为超级管理员   500-60000普通用户  1-499 程序用户(不能登录系统)
root:x:0:0:root:/root:/bin/bash
字段1:用户名
字段2:密码占位符
字段3:uid号
字段4:用户的基本组id号
字段5:用户信息记录位置(废弃)
字段6:用户的家目录
字段7:用户登录系统后用什么命令解释器

/etc/shadow  影子 记录系统中用户的密码信息
root:$6$A2$A5p:18129:0:99999:7:::
字段1:用户名
字段2:通过sha-512以及salt值加密后的密文
字段3:距离1970年1月1日密码最近一次的修改时间
字段4:密码的最短有效期
字段5:密码的最长有效期 90
字段6:密码过期前7天警告
字段7:密码的不活跃期
字段8:密码距离1970年1月1日的失效时间

/etc/group  保存了组信息

python 进入python命令解释器
>>>import crypt
>>>crypt.crypt("密码","$6$xxxxx")
>>>出现使用salt和sha512加密后的密文,比对密文和你的密码密文是否相同
>>>quit()  退出python

$6$C3kgOgP2$/3VFNPVypJa/ODEV/3dYBQ5fdJDNCHHd1VBKonfFtrZ7.vwC77BWtIgt18RAWPPsjUyOsYIOCAS6x/2Zz2yWs/
尝试破解我的密码,密码为纯数字,长度在5位以内

组和用户的关系:
1、用户必须有一个基本组,如果该组中有基本成员,该组不允许被删除。
2、一个用户可以有多个附加组,如果附加组没有基本成员,该组可以被删除。

练习:
1、建立一个名为1901class的组,组id为1000
groupadd -g 1000 1901class
2、建立一个名为自己名字的用户该用户的uid为600 基本组为1901class组
useradd -u 600 -g 1901class  用户名
3、为该用户设定密码为123456
passwd   allen
4、删除该用户及其家目录
userdel  -r  allen

useradd  
 -u  指定 uid号
 -g  指定 基本组
 -G  指定 附加组
 -s  指定用户登录的命令解释器   -s  /sbin/nologin 不允许登录  -s  /bin/bash 允许登录

usermod  选项同上

userdel
-r  删除用户的家目录

groupadd  
 -g  指定gid号
groupmod  选项同上
groupdel   删除组

passwd   用户名
-S  查看用户密码状态
-l  锁定用户
-u  解锁用户密码
-d  删除用户密码

chage -M 90  用户名   修改用户密码的最长有效期

visudo  为普通用户设定管理员执行的命令

用户名  登录的主机=允许执行的命令          NOPASSWD:ALL
allen   ALL=(root)   NOPASSWD:ALL

allen用户登录
sudo  init 6 提权使用root用户命令

练习:

1、在光盘的rpm包中找到一个名为tree的rpm包了解其信息后将其安装后使用该软件观察其作用。
2、配置本地yum源要求通过yum源安装一个,名为vsftpd的软件,后将该软件删除
3、在系统中建立两个组1901class、1902class,其中第一个组的gid为600,第二个为700
4、建立一个用户tom基本组为1901class、附加组为1902class。建立jerry用户基本组1903class、附加组1902class。为tom和jerry用户设定密码,后将jerry用户密码锁定
5、设定tom用户密码的最长有效期为90天,并设定该用户登录后必须修改密码。(提示-d选项)

复习

1、解释以下命令的作用
rpm -ivh  rpm -e  rpm -qa  rpm -qpl  rpm -qpi
2、解释以下内容字段3 字段6 和字段7
root :x :0 :0 :root :/root :/bin/bash
tom :x :32 :32::/bin:/sbin/nologin
3、解释以下内容字段2 字段3 字段5
root :$6$sdjlfjlJL$alkdsjfj$: 18790: 0:90:7:::
4、在系统中建立一个用户jerry要求用户的基本组为root组,附加组为1901class组,jerry的uid号为1000。
useradd  -g root -G 1901class -u 1000 jerry
5、在/etc/sudousers文件中发现内容如下 visudo
jerry  ALL=(root)    NOPASS:/sbin/init
请问jerry用户有什么特殊权限
sudo  init 0
6、默写以下yum源文件中的4行内容。
[1901]
name=1901
baseurl=file:/misc/cd
gpgcheck=0


rpm -qpi  --scripts  包名    显示详细信息后同时显示包中封装的 脚本
yum源中 gpgcheck=1  启用公钥验证
gpgkey=file:/etc/gki/rpm-gpg/RPM-GPG-KEY-CentOS-6  指定公钥位置

练习:安装两个rpm素材包之前通过scripts选项观察脚本中默认封装的脚本信息

权限
allen    rm -fr /*  ?

d  rwx   r-x   r-x  .  root(文件的所属者) root(文件的所属组)  目录
-   rw-   r--  r--  .  root(文件的所属者) root(文件的所属组) 文件

字段1:表示文件的类型 d 目录  - 文件  l 符号链接  c 字符型设备  b block块设备
字段2:文件所属者的权限
            r                         w                                             x
目录  列出目录内容    添加删除目录中的文件     进入该目录
文件   读                        写                                             执行

字段3:文件所属组的权限
字段4:其他用户的权限(既不是文件的所属者,也不在文件的所属组中)

chmod  a=--- 目录
chmod  g=rwx 目录
chmod  o=rx 目录
修改文件属性
chmod   对象 运算符号  权限   文件或者目录
对象:u(user所属者)   g(goup所属组)   o(other其他)  a(all所有)
运算符号: + 赋权  - 撤权 = 指定权限

练习:
1、root用户在/tmp目录中建立一个rootdir目录,设定root组成员对该目录中文件有添加删除的权限rwx,其他用户对该目录没有任何权限。定义tom用户的附加组为root组并在该目录中建立文件tom.txt
mkdir /tmp/rootdir
chmod g+w,o=--- /tmp/rootdir

2、现在有一个用户jerry不是root组成员,调整rootdir目录权限使得jerry用户可以进入目录并列出目录内容 
chmod o=rx /tmp/rootdir
3、root用户在rootdir中建立一个root.txt文件,在上面两题基础上,要求该文件只有root用户和jerry用户查看,tom无法查看该文件,应该如何设置权限。
chmod  g-r  /tmp/rootdir/root.txt

普通用户 rm -fr /*   会删除家目录的内容
切换成用户Allen  删除自己家中的内容  rm -fr  .*  删除隐藏文件
使用root用户进行恢复
rm -rf /home/allen      使用root 用户先删除原来的家目录
cp  -r  /etc/skel  /home/allen   拷贝用户家目录的模板文件到home中
chown  -R  allen:allen   /home/allen  修改家目录的所属者和所属组
chown  修改文件所属者和所属组
-R  递归修改


文件的acl 设定某个用户有不同权限
man  setfacl   为文件设定访问控制列表
-m  修改   u:用户名:权限  文件或者目录

八进制赋权法
r=4  w=2  x=1
rwxr-xr-x
755
rw-r--r--
644

0    000   ---
1    001   --x
2    010   -w-
3    011   -wx
4    100   r--
5    101   r-x
6    110   rw-
7    111   rwx

三个特殊权限
t 粘滞位  (只对目录有效)
在目录中建立的文件只有文件的所属者可以删除。
chmod  777 /tmp/test(777其实是0777,第一位写1表示粘滞位,这里可以写1/4/7)
chmod o+t /tmp/test
方法2
chmod  1777  /tmp/test

sgid (只对目录有效)
在目录中建立的文件或者目录属组会继承父目录的属组
chmod 777 /tmp/test
chmod g+s /tmp/test
方法2
chmod 2777 /tmp/test

suid (只对可执行文件有效)
当一个可执行文件具有suid权限,无论谁运行该文件,谁就具有该文件所属者的权限。

which   vim
chmod u+s /usr/bin/vim
chmod 4755 /usr/bin/vim

which  find
chmod u+s /bin/find
普通用户
find  /opt  -name rh -exec "/bin/dash" \;
# 获得root权限

find  /  -perm  4755  针对权限进行查询系统中所有具有suid权限的命令
find / -perm +4000  忽视后面权限只要带suid的都查

练习:
1、在/tmp目录中建立一个test目录并对其设定粘滞位以及sgid权限观察效果
2、为vim编辑器以及find命令设定suid,并尝试用find命令提权成为root用户

visudo

jerry  ALL=(root)    NOPASSWD: /usr/bin/man
切换为jerry
sudo  man  ls
输入! 命令表示以root用户在运行命令

猜你喜欢

转载自blog.csdn.net/Waffle666/article/details/114660955
今日推荐