w ------- 可以查看当前用户的基本情况
who ------ 可以查看当前用户的登录情况
whoami --- 查看当前登录的用户
shutdown -h now ---立即关机
reboot ------- 重启
exit ---------退出当前登录的用户,和会话
su username ---不切换环境变量,只切换身份
su - username --切换环境变量,和切换身份
id -------看到当前用户,属于哪些组等信息
man 要查询的手册 ------- 查看手册
ln -s ---------创建软链接
stat 文件名----- 查看文件的各种属性时间
touch -参数 ---- 来改变文件的属性时间
cat -n ---- 查看文件有行号
grep ---- 过滤
sort -----排序
-t 指定字段分隔符
-k 指定排序字段
-n 指定数字排序
cut命令用于垂直分割,在显示时发生变化
cut -d : -f 1-3,6 passwd
cut -d : -f 1 passwd -d 指定分割符 -f 指定哪个字段,保留字段
echo $PATH 输出变量所对应的值
hash -----每次运行一个命令都要去路径找,太麻烦,找到之后就保存到hash表中,他的查找速度不会因为表的内容增加而变慢。
alias haha=ls 取别名 这是临时的 永久写在vim .bashrc文件中
写一个可执行脚本,通过命令的方式运行:增加+x权限,把文件拷到环境变量对应的目录下,可参考ls的文件路径
重定向
ll /root 1>a 正确输出屏幕的消息转到a文件
ll /ahah 2>b 错误输出屏幕的消息转到b文件
ll /ahaha /root & >c 将1和2都重定向到c
> ------------ 覆盖重定向
>> ------------ 追加重定向
< ------------ 输入重定向
useradd haha
userpasswd haha
id haha
xixi:x:1001:1001::/home/xixi:/bin/bash /etc/password
7个字段分别为:用户名 ,密码占位符,uid,gid,注释,用户家目录,用户的shell
xixi:x:1001: /etc/group
4个字段分别为:用户组名称,用户组密码,gid,被当作附加组的用户
xixi:$6$V41dUoFm$AYKKtBGbmzCoqZLfgY/UWqSDsCEnIFnnJrp9Aggtu4Kegzoc4oEHgaOKCGZYrQNGeJ8gPLtgoUOLqy1UrzS4Z/:19651:0:99999:7::: /etc/shadow
这几个字段分别为:账号名,密码密文,从1970年1月1日到现在的天数,。。。。。。。。。可在man shadow里查
vim /etc/login.def 用户登录所用的配置
每一个新用户会把/etc/skel/ -a 的隐形文件复制到用户的家目录底下
还有创建邮箱 /var/spool/mail/
总结一下:写配置创建一个用户需要 /etc/password,/etc/group,设密码,创建家目录,把/etc/skel/ -a 的隐形文件复制到用户的家目录底下,创建邮箱/var/spool/mail/,更改其他所属用户
rwx r-x r-x -------- 分别为所有者,所属组,其他人对该文件的权限 chmod 修改权限
umask ---- 权限掩码 创建文件默认拿掉的权限,一开始就会拿掉111,可执行权限,再根据掩码来拿权限 写永久配置vim .bashrc
。 代表文件的扩展权限 FACL 文件访问控制列表
+ 代表文件可能设置了FACL
setfacl -m 设置权限
setfacl -x 取消
setfacl -b 还原
u----指定用户 g -----指定组
setfacl -m u:xixi:r-- 文件名
getfacl 查看权限
SUID 当一个可执行程序被设置了suid权限时,该程序被执行后形成的进程的所有者是科执行程序的所有者,而不是发起者 chmod u+s
SGID 指定一个目录中创建的新文件的所属组为该目录的所属组,而不是创建者 chmod g+s
STICKY 指定一个目录的文件不能被其他的用户所删除,除非是创建者自己 chmod o+t
chatt +/- a/i 文件名称
文件的所有者和所属组
chown 所有者:所属组 文件名
rpm 命令管理安装包
rpm -qa --------查询操作系统安装的软件包
rpm -i 软件名------安装软件
rpm -e 软件名------卸载软件
rpm -ql 软件名-----查询这个软件安装后所生成的所有文件
不能解决依赖关系
yum/dnf 命令安装软件包解决依赖关系
/etc/yum.repo/loacl.repo --------在该目录下写源仓库,文件名以repo结尾
[biaozhi]
name=miaoshu
baseurl=/mnt/AppStream
enable=1 是否启用
gpgcheck=0 是否检查
yum insyall --- 安装
yum remove ---- 删除
yum repolist --- 显示yum仓库
网络源安装
epel
添加后的存储设备可以在 /dev底下访问,了解哈磁盘的命令规则
fdisk -l ----------- 列出可以识别的磁盘文件
df -h -----------------------磁盘信息监控命令
df -T ------------------------可以查看文件系统类型
分区 ----- fdisk 设备名
格式化 --------mkfs.xfs /dev/sda1 创建文件系统
挂载 ---------- mount /dev/sda1 /xixi/
自动挂载--------- vim /etc/fstab 写挂载配置 blkid 查看UUID写配置
逆向操作 -----一旦写了永久挂载配置,必须把配置删掉,才能取消挂载,还要删掉分区
lvdisplay 查看 ---------查看的更详细
物理卷------卷组-----逻辑卷----文件系统-----挂载
物理卷可以通过分区或者设备来创建
pvcreate /dev/nvme0n2
pvcreate /dev/sda1 用的sda的分区来创建
pvs ----------查看所有的物理卷
创建卷组指定卷组名 ---- -vgcreate examgroup /dev/sda1 /dev/nvme0n2
vgs ---------查看所有的卷组
创建逻辑卷指定逻辑卷名 ---------- lvcreate -n lvexam -L 3G examgroup
mkfs.xfs /dev/examgroup/lvexam ------格式化
还有一种方法
mkfs.xfs /dev/mapper/.....
然后就是挂载
特殊需求:
vgcreate -s 16M examgroup /dev/sda /dev/nvme0n2 创建卷组,指定pe大小为16Mb
vgdisplay 可以查看
lvcreate -n lvexam -l 50 examgroup 创建的逻辑卷 大小为50*16mb
逆向操作
umount /haha
lvremove /dev/vgtest/lvtest 取消逻辑卷
vgremove vgtest 取消卷组
pvremove /dev/sda1 取消物理卷
pvremove /dev/nvme0n2
1.手动命令行配置IP地址
1 nmcli device show | grep GATEWAY
2 nmcli connection modify ens160 ipv4.addresses 192.168.121.127/24
3 nmcli connection modify ens160 ipv4.gateway 192.168.121.2
4 nmcli device show | grep DNS
5 nmcli connection modify ens160 ipv4.dns 192.168.121.2
6 nmcli connection modify ens160 ipv4.method manual
7 nmcli connection modify ens160 connection.autoconnect
8 nmcli connection modify ens160 connection.autoconnect yes
nmcli connection up ens160 会话生效
2.文本图形化界面配置
nmtui 命令
注意:使用table键左右切换
window用的vmnet8的网卡和虚拟机linux相连
1.仅主机模式 ------------------ 使用vmnet1的网卡,不能上外网,虚拟机只能与宿主机进行通信,而不能和外部网络进行通信。
2.NAT模式 ---------------- 使用vmnet8的网卡,可以上外网,拟机被连接到虚拟网络上,虚拟机通过一个虚拟网卡连接到物理网络。虚拟机会分配一个私有IP地址,并通过虚拟机所在的物理机器来进行网络通信。
3.桥接模式 ---------------就是直接连接真实网卡,可以访问外网,和宿主机处于同一网段,桥接模式可以让虚拟机看起来像是物理机器的一部分。
1.命令行配置
firewall-cmd --help 查看防火墙规则帮助
2.图形化界面配置
firewall-config 需要自己安装
3.防火墙的两种状态:
移除防火墙服务:
firewall-cmd --remove-service=mysql
firewall-cmd --reload
添加防火墙服务:
firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload
放行端口服务:
firewall-cmd --add-port=9909/tcp --permanent
firewall-cmd --reload
systemctr 命令 -------控制服务的
常用的:
start ---- 启动
stop -----停止
restart ----重启
disabled -----禁止开机启动
enable ----开机启动
mask ----- 标记该服务,禁止一任何方式启动
umask ------ 取消标记
reload -----重新加载服务
status ---- 查看服务状态
安装好了httpd软件后
/var/www/html/----------------这个目录下写index.html 是默认通过ip地址访问的页面
ll -Z /var/www/html/ 查看httpd服务默认访问的目录的标记,object_r:后面就是这个文件目录的标记
一、SELinux三种模式简介
Enforcing:强制模式。代表SELinux在运行中,且已经开始限制domain/type之间的验证关系
Permissive:宽容模式。代表SELinux在运行中,不过不会限制domain/type之间的验证关系,即使验证不正确,进程仍可以对文件进行操作。不过如果验证不正确会发出警告
Disabled:关闭模式。SELinux并没有实际运行
二、getenforce命令
功能:查看当前SELinux的运行模式
三、sestatus命令
功能:查看当前系统上面SELinux的策略,运行模式等信息
四、SELinux的配置文件(/etc/selinux/config)
SELINUX=enforcing:当前SELinux的模式
SELINUXTYPE=targeted:当前SELinux的策略
五、SELinux模式的更改(setenforce命令)
SELinux模式的更改规则:
①不论是从Enforcing或Permissive改为Disabled,还是由Disabled改为Enforcing或Permissive,系统都需要重新启动。因为SELinux是整合到内核中的
②在SELinux已经运行的模式下:只能够在Enforcing和Permissive两种模式之间进行切换,而不能直接关闭SELinux(Disabled),如果你使用getenforce发现当前SELinux模式为Disabled时,请立即到/etc/selinux/config文件中将SELinux改为Enforcing,然后重新启动系统
③如果你从Disable转到启动SELinux的模式时,系统必须针对文件写入安全上下文的信息,因此启动过程会花费不少时间等待重新写入SELinux安全上下文(有时成为SELinux Label),而且在写完之后还要再重新启动一次
④如果你在Enforcing模式,但是可能由于一些设置的问题导致SELinux让某些服务无法正常地运行,此时可以将Enforcing的模式改为宽容(Permissive)的模式,让SELinux只会警告而,而不会直接阻止主体进程的读取权限
setenforce命令格式:
# 转换为Permissive宽容模式
setenforce 0
# 转换为Enforcing强制模式
setenforce 1
注意事项:setenforce无法设置SELinux为Disabled模式
selinux改变成强制模式之后,要想改变web服务的默认访问页面,需要加上标记
chcon -t httpd_sys_content_t /exam -R 把/exam这个目录的标记改成 /var/www/html/一样的