Linux - 用户与组-四个环境变量配置文件-营救模式
目录
6.如何将已经登录在系统里的用户踢出系统?并且如何防止他再次登录系统?
10. . echo.sh 和 bash echo.sh的区别
1.四个环境变量配置文件
/etc/profile :配置全局环境变量,影响所有用户
~/.bash_profile : 配置个人环境,影响一个用户
/etc/bashrc : 配置全局的别名或者shell选项,影响所有用户
~/.bashrc 配置个人别名或者shell选项,影响一个用户
这四个文件作用就是定义用户初始化的环境变量
/etc 下面的这两个文件会影响所有用户
/etc/profile
/etc/bashrc
#################################
例:
1.你编写了一个脚本,sc.sh 或者 sc.py 所有的用户登录的时候都运行
vim /etc/profile
bash /lianxi/sc.sh
python3 /lianxi/sc.py
#################################
2.修改PATH变量的值,让所有用户都生效
安装了一个软件 zabbix,nginx 让所有用户的PATH里面都添加这两个软件的sbin 目录的路径
/usr/local/zabbix/sbin
/usr/local/nginx/sbin
vim /etc/bashrc
PATH=$PATH:/usr/local/zabbix/sbin:/usr/local/nginx/sbin
##################################
~/ 下面两个文件只会影响用户,在谁的家目录下面就影响谁
.bash_history 文件保留用户上次注销前使用的历史命令
.bash_logout 文件,用户每次退出登陆时候会执行这个文件
默认只保留1000条,可以在/etc/profile文件里面修改
#################################
2.scp命令
作用:这个命令可以远程复制文件或者文件夹
2台电脑之间复制,依赖ssh服务,只能在linux之间使用
#################################
3.单引号和双引号的区别:
单引号里面特殊字符没有特殊作用
双引号部分字符还是有特殊作用
例如 :$ 和 !
#################################
4.who,w命令
作用:查询已经登录到主机的用户信息
who其实是只取了w的前三个字段
15:33:17 代表当前时间
up 55min 代表已经开机时间
load average: 0.00, 0.01, 0.05 代表linux系统 1分钟 5分钟 15分钟的cpu负载情况
默认在就绪队列里面 不超过5,可以理解为cpu能够处理过来
user 代表 用户
tty代表终端类型(terminal type),最多6个,tty1-tty6
使用 ctrl + Alt +F1-F6 创建 / 切换不同终端
tty类型的才是 “正式员工”,是linux里面真正的终端,是本地登录的
如果 一个终端卡住了,可以再开一个终端
提高了工作效率
使用 xshell 连过来的类型是 pts类型的
pts类型的是仿终端类型,是”临时工“ 远程登录的
from 代表是从哪里登录过来的
如果没有ip地址代表是从本地登录的
有ip地址代表是远程登录过来的
LOGIN@ 表示登录进入系统的时间
IDLE JCPU PCPU 是与cpu有关的
WHAT 表示正在做什么
注意:w命令看不到 使用 su - 登录过来的用户
###########################################
5.last 和 lastlog命令
last命令查看最近有哪些用户登录过
lastlog根据/etc/passwd 里面的文件里面的用户,一个一个查看哪些用户登录过,哪些用户没有登录过 --》/var/log/lastlog 日志文件
########################################
6.如何将已经登录在系统里的用户踢出系统?并且如何防止他再次登录系统?
1.查找出相关的bash进程,杀死相关进程
2.踢出可疑的root登录用户,马上修改密码
3.限制ip地址登录
iptables
hosts.deny
hosts.allow
4.启动秘钥认证
########################################
7.如何知道黑客有没有在你的电脑里面新建了可疑用户?
diff 命令
先备份passwd文件 检查是否有可疑用户时, 与 /etc/passwd文件对比,有差异就有可疑用户
#################################
8.如何知道某些用户的密码进行了修改?
比较 /etc/shadow文件
先备份一个 shadow文件,与原文件进行比较,有不同 某些用户密码就进行·了修改
##########################################
9.管道和重定向的区别:
管道是在两个进程之间进行通信
重定向还是在一个进程里面,只是改变了输出方式而已
例:管道实现的是 cat 进程和grep进程之间的通信
重定向其实做的其实还是grep的工作,将原本输出到屏幕的信息重定向输出到abc.txt文件中去了,还是在grep进程里面做的事情
##########################################
10. . echo.sh 和 bash echo.sh的区别
以. echo.sh 执行脚本是在当前进程执行脚本
以 bash echo.sh 是产生一个子进程来执行脚本
在当前bash里面可以使用当前bash里面的变量
##########################################
11. 启动bash的两种情况
启动bash的时候,有两种情况
bash
登录bash,这几个文件都会执行
登录bash
输入用户名和登录密码登录linux系统的时候产生的bash
初始化脚本先执行 /etc/bash_profile
再执行 ~/.bash_profile
然后 ~/.bashrc
最后 /etc/bashrc
非登录式bash
直接输入bash命令,产生的bash
初始化脚本会执行~/.bashrc --> /etc/bashrc
##########################################
12.营救模式:
linux系统启动不了了,需要其他方式来营救
删除了 passwd 和 shadow 文件是否还能登陆?
[root@localhost test]# rm -rf /etc/passwd /etc/shadow
删除了这两个文件。我们是无法正常启动linux系统的
其实我们linux系统对两个文件都有备份
/etc/passwd-
/etc/shadow-
###########
自己的虚拟机无法启动,我们需要使用其他方式来启动系统
1.先关机,开机设置从光盘启动
虚拟机里面有开机进入固件 --》 BIOS
进入boot选项
removable device 可移动设备
hard device 硬盘
cdrom 光驱
network 从网络启动
上下左右方向键 --》移动
回车就是选中
将cd-ROM Drive 调到最前面去 --》使用 + 号调整到第一个位置
F10保存并且重启
选择troublesbooting 故障处理 --》rescue 营救模式
按回车进入营救模式,然后输入1,继续回车
输入 chroot /mnt/sysimage 让光盘里面的系统按照原来硬盘里面的文件系统去挂载分区,加载原来系统里面的内容
然后将备份文件复制到/etc目录下面
cp /etc/passwd- /etc/passwd
cp /etc/shadow- /etc/shadow
这样我们就将原来的文件复原了
然后再 exit 退出 退出切换到原来系统的bash
reboot 重启
按照开头的方法,用+号再次将 Hard Drive调到最前面
然后我们就能正常登陆了
##########################################
13.linux手动新建用户
useradd命令在后台做了哪些工作?
手工新建一个用户:
########################
用户名叫wangchen uid 5566 gid 5566
组的名字叫 shanxi
注释 sanchuang student
shell : /bin/bash
家目录: /home/wangchen
#######################
步骤:
1.修改/etc/passwd文件
直接 vim /etc/passwd文件,在末尾添加
wangchen:x:5566:5566:sanchuang student:/home/wangchen:/bin/bash
2.修改/etc/shadow文件,在末尾追加
wangchen:!!:19061:0:99999:7:::
3.修改 /etc/group
wangchen:x:9920:
4.新建家目录
mkdir /home/wangchen
5.复制 /etc/skel 环境配置文件到家目录下面
cp /etc/skel/.bash* /home/wangchen/
6.创建邮箱文件
touch /var/spool/mail/wangchen
7.验证wangchen用户是否可以su登录
为什么不能新建文件夹?
因为 /home/wangchen 是root用户新建的,所以/home/wangchen 属于root用户
别的用户是不能新建文件的
拥有者:user
属组:group
过户:将文件的属组或者属主修改为别的用户或者组 --》 chown
chown : 修改拥有者
3类人
自己 user
小组成员 group
其他人 pthers
3种权限
r 读 read 4
w 写 write 2
x 执行 execute 1
8.使用root用户,去修改/home/wangchen文件夹所有者为 wangchen 组为shanxi
修改属组和属主
[root@localhost lianxi]# chown -R wangchen:shanxi /home/wangchen
现在就可以在/home/wangchen目录下面新建文件了
然后还要修改权限,让其他用户无法访问wangchen的家目录
修改文件权限,知识允许属主可以读写执行,其他人和组都没权限
使用chmod 700 /home/wanggchen命令
9.修改邮箱的所有者
注意:除了/home/wangchen是root用户创建的还有邮箱也是root用户创建的,所以我们也要修改属主
[root@localhost lianxi]# chown wangchen:mail wangchen
这样我们就完成了手动新建一个用户的全部流程,
这体现了linux系统里面一切皆文件的思想
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通