软件 yum /etc/yum.repos.d/dvd.repo
[biaoqian]
name=miaoshu
baseurl=file:/misc/cd
gpgcheck=0
yum clean all
yum install 软件
yum remove 软件
- rw- r-- r-- 1 root root 4096 时间 名字
- d l b c
r w x 目录
r--------
chmod u-w,go-r 文件
chmod 400 文件
suid
粘滞位权限:只能对目录设定,在该目录中只有该文件的所属者可以删除自己的文件。
chmod o+t 目录
用户和组
3个必会文件
/etc/passwd --- 保存了操作系统中所有的用户信息
uid 用户的id号 如果该用户的id号是0 该用户及为超级管理员
gid 用户基本组id
普通用户 500 - 60000 uid 可以登录系统 但是不能运行root的命令
超级用户 uid号是0 #号作为命令的开头符号
程序用户 程序运行时候依托的用户权限。该用户不可以登录系统
xp administrator 打开的软件都是依托adm用户的权限启动
root:x:0:0:root:/root:/bin/bash
字段1:用户名
字段2:密码占位符
字段3:用户uid号
字段4:gid号 group组 基本组id
字段5:该功能 废弃 用户的详细信息
字段6:用户的家目录
字段7:用户的登录shell命令解释器
1、建立一个用户名为tom 要求该用户的uid号为600 该用户的基本组gid号为0 该用户定义登陆的shell设立了为/bin/sh
useradd -u 600 -g 0 -s /bin/sh tom
2、修改该用户的uid号为650, 修改该用户的登录shell为/sbin/nologin 尝试切换用户观察是否可以登录
usermod -u 650 -s /sbin/nologin tom
3、修改用户的登录shell为/bin/bash 并切换用户观察该shell与sh的区别
usermod -s /bin/bash tom
4、在/下建立一个tmp1的目录设定该目录具有粘滞位功能,验证是否只有创建者可以删除自己的权限
/etc/shells 该文件中定义了当前系统可以使用的所有命令解释器
bash的功能有一个叫rbash 限制使用bash
cp /bin/bash /bin/rbash 建立受限制的bash
usermod -s /bin/rbash wencoll 设定用户使用受限制的bash
不能切换目录 不能使用以/开头的路径 不能修改PATH变量
vim /home/wencoll/.bash_profile
PATH=/home/wencoll/bin 指定该用户可以使用的命令所在位置
ln -s /bin/ls /home/wencoll/bin/ls 指定该用户可以使用的命令
想要突破该受限的bash
切换为该用户 su - wencoll 登录该用户
BASH_CMDS变量是个数组,里面保存了所有用户运行过的命令,利用数组特点为该变量中的一个值a定命令的位置,即可通过该值a调用该命令。
BASH_CMDS[a]=/bin/sh
a 命令 切换了命令解释器为 /bin/sh 突破了 rbash的限制。
PATH=/bin:/usr/bin:/sbin:/usr/sbin 设定我可以运行的命令
echo $PATH 查看变量中的内容
所有设定路径的命令都可以应用了
useradd
-u 指定uid
-g 指定基本组id
-s 指定用户的登录shell
-M 指定用户不建立家目录
useradd -u 250 -M -s /sbin/nologin 用户名
usermod modify 修改
-u -g -s
userdel 用户
-r 递归
/etc/shadow 保存了操作系统中所有的用户密码信息
root:$6$l.pBm/q0$2O8CMhWo5q0NbkbfLinvPoZzDmx29x3wLgeqverN7k3vDR6kA7ki9PBLuoteqX2p4MXmGLMwt9SViBypongn1.:18183:0:99999:7:::
字段1:用户名
字段2:加密过的密码 md5
man crypt 说明了linux系统密码加密的格式
$sha-512加密的$盐值$加密过的密文
grub-crypt 可以自己对密码进行加密
破解
python 进入
import crypt 调用模块
crypt.crypt("我猜的密码","盐值$6$iVNvCU3y")
exit() 退出python
字段3:距离1970年1月1日密码最近一次的修改日期 unix操作系统诞生的日期
字段4: 密码的最短有效期 5 该用户5天内不可以修改自己的密码 0 表示不限制
字段5:密码的最长有效期 90 为基线要求
字段6:密码过期前警告时间
字段7:密码的不活跃期
字段8:账户的失效时间
练习:1、修改root用户密码为xxxx
2、修改allen用户密码的最长有效期为90天
chage -M 90 allen
3、要求allen用户登录系统后立刻修改自己的密码
chage -d 0 allen 下次登录必须修改密码
4、指定allen用户密码的失效时间为2019-10-30日
chage -E 2019-10-30 allen
passwd 用户名
passwd -S 用户名 查看密码状态
passwd -l 用户 锁定用户
passwd -u 用户 解锁用户
echo "123" | passwd --stdin root &> /dev/null 将用户密码设定为123并且屏幕不输出任何信息。
chage --help
/etc/group --- 系统中组信息
基本组:用户建立的同时必须拥有一个组该组名为基本组,如果基本组中具有成员,该组无法删除
groupadd -g 1000 1903class 建立组并指定gid号
groupmod -g 660 1903class 修改组gid
groupdel 1903class 删除组
附加组:一个用户可以有多个组,除了基本组以外其他组都是附加组
usremod -G 组名 用户名 指定用户附加组
gpasswd -d zhaokk class1902 从附加组中删除用户
组练习:1、系统中建立一个名为1902class的组,建立张三用户为该组成员。在/tmp目录中建立一个文件名为1902class.txt 要求该文件所属组为1902class。并且改组具有读写权限。用张三用户验证
chgrp 1902class /tmp/1902.txt 修改文件的所属组为1902class
chown zhangsan /tmp/1902.txt 修改文件的所属者为zhangsan
2、系统中建立一个名为1903class的组,将张三用户附加组指定为1903class。在/tmp/1903class.txt 舍得该文件的所属组为1903class。尝试用张三查看该文件。