linux-基础篇2

Linux系统管理:umask、进程和服务控制
本文介绍了Linux系统中的umask设置,详细讲解了如何临时和永久修改umask以控制文件权限。接着讨论了进程的概念和查看方法,包括进程优先级和信号处理。此外,还涵盖了sshd服务,包括key认证和安全配置。最后,提供了root用户密码重置和无线网络连接的步骤。

umask

umask 系统建立文件时默认保留的权力
umask ##临时设定系统预留权限为077
目录:700
文件:600 ##系统自动去除文件的用户操作权限
永久修改umask

vim /etc/profile     ##系统配置文件
 if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002        ##普通用户的umask
else
    umask 022        ##超级用户的umask
fi

在这里插入图片描述

vim /etc/bashrc      ##当前shell环境的配置文件
 if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
       umask 002
    else
       umask 022
    fi

在这里插入图片描述

source /etc/profile  ##让更改立即生效
source /etc/bashrc

在这里插入图片描述

特殊权限

1.sticky	##粘制位
作用:
	只针对目录生效,当一个目录上有sticky权限时
	在这个目录中的文件只能被文件的所有者删除
设定方式:
	chmod   o+t    dir
	chmod   1xxx   dir

在这里插入图片描述

2.sgid	##强制位
作用:
	对文件:	只针对二进制可执行文件
		当文件上有sgid时,任何人执行此文件产生的进程属于文件的组
	对目录:	对目录上有sgid时,任何人在此目录中建立的文件都属于目录的所有组
设定方式:
	chmod  g+s   file  
	chmod  2xxx  file

在这里插入图片描述

3.suid	##冒险位
	只针对二进制可执行文件
	当文件上有suid时任何人执行这个文件中的程序都属于文件的所有人
设定方式:
	chmod u+s   file
	chmod 4xxx  file

在这里插入图片描述

acl权限列表

1.作用:
	让特定的用户对特定的文件拥有特定的权限

2.acl列表查看
	-rw-rwxr--+ 1 root root 0 Oct 1 11:11 file
		  ^
		acl开启
	getfacl file		##查看acl开启的文件的权限
	# file:file		##文件名称
	# owner:root		##文件所有者
	# group:root		##文件所有组
	user::rw-		##文件所有人的权限
	user:tom:rwx		##指定用户的权限
	group::r--		##文件所有组的权限
	mask::rwx		##能赋予用户的最大权力阈值
	other::r--		##其他人的权限

3.acl列表管理
setfacl -m u:username:rwx file	##设定username对file拥有rwx权限

setfacl -m g:group:rwx file	##设定group组成员对file拥有rwx权限

在这里插入图片描述
在这里插入图片描述

4.mask值
在权限列表中mask表示能生效的权力值
当用chmod减小开启acl的文件权限时,mask值会发生变化

chmod g-w westos	##看到减掉的是mask值

恢复mask值:
setfacl -m m:rwx westos

acl默认权限只针对目录设定

setfacl	-m d:u:student:rwx	/mnt/westos
"acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件时不会继承默认权限的"

在这里插入图片描述
在这里插入图片描述

系统进程及服务的控制

什么是进程

程序放置在存储媒体中(如硬盘、光盘、软盘、磁带),为实体文件的型态存在
进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码(pid),可以说,进程就是一个正在运行中的程序。

查看进程

1、图形方式查看
      gnome-system-monitor

在这里插入图片描述

2) 进程查看命令
   ps       -A    ##所有进程
            -a    ##当前环境中运行的进程,不包含环境信息
            -u    ##显示进程用户信息
            a     ##在当前环境中运行的进程
	    x     ##列出系统中所有运行包含tty输出设备
	    f     ##显示进程父子关系
            e     ##显示进程的详细信息(系统的资源调用)
##常用组合
       	ps aux     ##显示系统中所有进程并显示进程用户
       	ps ef      ##显示进程详细并显示进程父子关系
       	ps ax      ##显示当前系统中的所有进程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

##显示进程指定信息
       	ps -o   xxx     ##显示进程的指定信息
		comm 	##进程名称
		user  	##进程所有人
		group	##进程所有组 
		%cpu    ##进程cpu使用率
		%mem    ##进程内存使用率
		pid	##进程id
		nice	##进程优先级

在这里插入图片描述

##进程排序
显示CPU占用最大的前五个
    ps ax --sort=+(-)%cpu -o %cpu | head -n 5 | grep %CPU -v
              正号从小到大           只显示前五个   过滤名称

在这里插入图片描述

进程优先级

	S	##进程状态
 	l	##内存中有锁定空间
	N	##优先级低
	<  	##优先级高
	+	##前台运行
 	s 	##顶级进程


1.优先级范围
-20~=19

2.优先级查看
ps ax -o pid,nice,comm

在这里插入图片描述

3.改变进程优先级
renice -n 优先级数字	进程id
renice	-n -5 6574 	##改变6574进程的优先级位-5

4.指定某个优先级开启进程
nice -n 优先级数字  进程名称
nice -n -5 vim &	##开启vim并且指定程序优先级位-5

在这里插入图片描述

环境中进程的前后台调用

jobs		##查看被打入环境后台的进程
ctrl+z  	##把占用终端的进程打入后台
fg jobsnum  	##把后台进程调回前台
bg jobsnum  	##把后台暂停的进程运行
comm &          ##让命令直接在后台运行

进程信号

1.常用进程信号等级
1		##进程重新加载配置
2		##删除进程在内存中的数据
3		##删除鼠标在内存中的数据
9		##强行结束单个进程(不可被阻塞)
15		##正常关闭进程(可能会被阻塞)
18		##运行暂停的进程
19		##暂停某个进程(不能被阻塞)
20		##把进程打入后台(可以被阻塞)

man 7 signal	##查看信号详细信息

kill	-信号	进程id	##关闭该进程
killall	-信号	进程名字	##关闭所有此名称的进程
pkill	-u student 信号	##关闭多个切换到student用户的终端,关闭后的终端不能正常运行。

在这里插入图片描述

进程的动态监控

1.top
	1	##显示cpu每个核的的负载
	s	##调整刷新频率
	c	##cpu负载排序
	m	##内存使用量排序
	h	##查看帮助
	u	##查看指定用户进程
	k	##对指定进程发起信号
	q	##退出

在这里插入图片描述

控制服务

1、用什么控制服务
	系统初始化进程可以对服务进行相应控制

2、当前系统初始化进程是什么
	systemd		##系统初始化进程
	pstree		##显示系统中的进程树
3、进程控制命令
	ssh -------> sshd
	client	     server

	systemctl			##服务控制命令
	systemctl	status	sshd	##查看服务状态,inactive(不可用)active(可用)
	systemctl	start	sshd	##开启服务
	systemctl	stop	sshd	##关闭服务
	systemctl	restart	sshd	##重启服务
	systemctl	reload	sshd	##重新加载服务配置
	systemctl	enable	sshd	##设定服务开机启动
	systemctl	disable	sshd	##设定服务开机不启动
	systemctl	list-units	##列出已经开启服务的当前状态
	systemctl	list-unit-files	##列出所有服务开机启动状态
	systemctl	list-dependencies	##列出服务依赖
	systemctl	set-default multi-user.target	##设定系统启动级别为多用户模式(无图形),无图形界面切换到有图形界面输入"init 5"
	systemctl	set-default graphical.target	##设定系统启动级别为图形模式

查看服务状态
关闭服务
开启服务
列出已经开启服务的当前状态
列出所有服务开机启动状态
无图形界面

sshd服务

sshd简介

sshd = secure shell
可以通过网络在主机中开启shell的服务

客户端软件
	ssh
连接方式:
	ssh	username@ip	##文本模式的连接
	ssh -X	username@ip	##可以在连接成功后打开图形
	
	注意:
		第一次连接陌生主机时需要建立认证文件
		会询问是否建立,需要输入yes
		再次连接此主机时,因为已经生成~/.ssh/know_hosts
远程复制:
	scp	file	root@ip:dir	##上传(dir为绝对路径)
	scp	root@ip:file	dir	##下载(file为绝对路径)

文本模式的连接
上传
下载

sshd的key认证

[root@desktop .ssh]# ssh-keygen		##生成密钥的命令
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):	##指定保存加密字符的文件 
Enter passphrase (empty for no passphrase): 			##设定密码
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.	##私钥
Your public key has been saved in /root/.ssh/id_rsa.pub.	##公钥
The key fingerprint is:
b0:b0:9d:40:cf:c3:50:0e:64:ae:04:36:b2:30:2e:52 root@desktop.example.com
The key's randomart image is:
+--[ RSA 2048]----+
|=oE.*..          |
|==.+ B           |
|+.. + B          |
|o. . = =         |
|  . . + S        |
|                 |
|                 |
|                 |
|                 |
+-----------------+

在这里插入图片描述

2.加密服务
[root@desktop .ssh]# ssh-copy-id -i id_rsa.pub root@172.25.254.126	##加密root用户
The authenticity of host '172.25.254.126 (172.25.254.126)' can't be established.
ECDSA key fingerprint is 65:4d:ac:8a:c9:58:82:b5:0c:91:c4:ef:a5:e6:f6:65.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.25.254.126's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@172.25.254.126'"
and check to make sure that only the key(s) you wanted were added.

[root@desktop .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
     ^
这个文件出现,表示
加密成功

在这里插入图片描述

3.分发钥匙
scp id_rsa root@172.25.254.226:/root/.ssh/

在这里插入图片描述

4.测试
在客户主机中(172.25.254.226)
ssh root@172.25.254.126		##连接时发现直接登陆不需要输入root密码

在这里插入图片描述

sshd的安全认定

vim /etc/ssh/sshd_config	##查看sshd的配置文件
PasswordAuthentication	yes	##是否允许用户通过密码作sshd认证

PermitRootLogin	yes		##是否允许root用户通过sshd服务的认证

AllowUsers student westos	##设定用户白名单,白名单出现,默认不在白名单中的用户不能使用sshd

DenyUsers westos		##设定用户黑名单,黑名单出现,默认不在黑名单的用户可以使用sshd

在这里插入图片描述

添加sshd登录信息

vim /etc/motd	##文件内容就是登录后的信息显示

在这里插入图片描述
在这里插入图片描述

用户的登录审计

1.w		##查看正在使用当前系统的用户
	-f	##查看使用来源
	-i	##显示ip

在这里插入图片描述

2.last		##查看使用过并退出的用户信息

在这里插入图片描述

3.lastb		##试图登录但没成功的用户,只能是root用户才能查看

在这里插入图片描述

文件在系统中的传输

1.scp
	scp	file	username@ip:dir
	scp	username@ip:file	dir
2.rsync		##远程同步,速度快,默认会忽略文件属性,链接文件,设备文件
	-r	##同步目录
	-p	##同步权限
	-o	##同步文件所有人
	-g	##同步文件所有组
	-t	##同步文件时间戳
	-l	##同步链接文件
	-D	##同步设备文件

在这里插入图片描述

3.tar
	-c	##创建
	-x	##解档
	-v	##显示过程
	-f	##指定归档文件名称
	-t	##查看归档文件内容
	-r	##添加文件到归档中
	--get	##解档指定文件
	--delete##删除归档中的指定文件
	-C	##指定解档目录
常用用法:
	tar -cvf /etc etc.tar		##创建归档并显示过程
	tar -xf etc.tar			##解档
	tar rf etc.tar file		##将file文件添加到指定归档中
	tar f etc.tar --delete file	##将归档中的file文件删除
	tar f etc.tar --get file	##解档指定文件
	tar xf etc.tar -C /mnt/		##解档到指定目录中

建档
解档

4.压缩
	zip

	zip	-r	xxx.tar.zip	xxx.tar	##压缩
	unzip		xxx.tar.zip		##解压

	gz

	gzip	xxx.tar
	gunzip	xxx.tar.gz
	====
	tar zcf	xxx.tar.gz	/xxx		##直接压缩成.gz文档
	tar zxf	xxx.tar.gz			##直接解压成目录

	bz2

	bzip2	xxx.tar
	bunzip2	xxx.tar.bz2
	====
	tar jcf	xxx.tar.bz2	/xxx
	tar jxf	xxx.tar.bz2

	xz

	xz	xxx.tar
	unxz	xxx.tar.xz
	====
	tar Jcf	xxx.tar.xz	/xxx
	tar Jxf	xxx.tar.xz

zip压缩
zip解压
gzip压缩
gzip解压

bzip2压缩
bzip2解压
xz压缩
xz解压

附:物理机连接虚拟机

1.打开虚拟机终端输入	nm-connection-editor

在这里插入图片描述

2.在弹出的窗口中删除Ethernet内的数据,之后再添加创建一个连接
3.name改为eth0,在Ethernet栏下的Device MAC address中选择里面唯一一个选项

在这里插入图片描述

4.在IPv4 settings栏内的Method中选择Manual,再在Addresses内添加一个address为172.25.254.126	Netmask为24	保存退出(126为物理机号26加100)

在这里插入图片描述

5.在物理机终端输入	ssh	root@172.25.254.126
输入密码redhat就可连接虚拟机。
注意:物理机连接的ip地址就是虚拟机修改的ip地址,不可输错,否则连接到其他机器。

在这里插入图片描述

6.修改虚拟机的名称	hostnamectl	set-hostname	server.example.com
改好后退出终端,重新打开一个终端就可显示改好的名字。

在这里插入图片描述

附:root用户的密码重置

在开机选择系统时按"e"键,在跳转的页面中从倒数第二行的末尾开始一直删除到"ro"单词的"o"处,在"r"的后面添加"w rd.break",按ctrl+x跳转到下一页面。
在页面输入"chroot /sysroot/“回车,之后输入"passwd"修改root的密码,改完密码后建立一个文件"touch /.autorelabel”,输入两次"exit"退出。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

附:无线网连接设置

在物理机的root用户下输入"vim /etc/sysconfig/network"查看文件内是否有"GATEWAY=172.25.254.250"有的话在前面输入"#“键将这行语句失效并保存退出。
再输入"vim /etc/sysconfig/network-scripts/ifcfg-br0"查看文件内是否有"GATEWAY=172.25.254.250"有的话在前面输入”#"键将这行语句失效并保存退出。
之后输入"systemctl restart network"重启网络连接功能。
完成后连接无线网即可上网。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值