Linux操作系统概述(二)

6.umask

umask 系统建立文件时默认保留的权力

1)临时修改umask

umask 077 临时设定系统预留权限为077

目录:700
文件:600
Linux操作系统概述(二)_第1张图片

2)永久修改umask

vim /etc/profile 系统配置文件

if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002     普通用户的uamsk值
else
    umask 022     超级用户的uamsk值
fi

Linux操作系统概述(二)_第2张图片

vim /etc/bashrc shell的配置文件

if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002     普通用户的umask值
else
    umask 022	  超级用户的umask值
fi

Linux操作系统概述(二)_第3张图片
source /etc/profile 让更改立即生效
source /etc/bashrc
Linux操作系统概述(二)_第4张图片

7.特殊权限

1)sticky 粘制位

作用:
只针对目录生效,当一个目录上有sticky权限时
在这个目录中的文件只能被文件的所有者删除

设定方式:

	chmod  o+t 	dir 
	chmod  1xxx 	dir 

Linux操作系统概述(二)_第5张图片

2)sgid 强制位

作用:
对文件:只针对二进制可执行文件
当文件上sgid时,任何人执行此文件产生的进程都属于文件的组
对目录:当目录有sgid时,任何人在此目录中建立的文件都属于目录的所有组

设定方式:

	chmod	g+s  file|dir
	chmod	2xxx file|dir

Linux操作系统概述(二)_第6张图片

3)suid 冒险位

作用:
只针对二进制可执行文件
当文件上有suid时任何人执行这个文件中的程序产生的进程都属于文件的所有人
设定方式:

	chmod u+s 	file
	chmod 4xxx 	file

Linux操作系统概述(二)_第7张图片

8.acl权限列表

1)作用

让特定的用户对特定的文件拥有特定的权限

2)acl列表查看

-rw-r--r--+ 1 root root     0 Oct  1 19:15 file
	  ^
	acl开启

getfacl		查看acl开启的文件的权限

# file: file	文件的名称
# owner: root	文件的所有者
# group: root	文件的所有组	
user::rw-	文件所有人的权限
user:tom:rwx	指定用户的权限
group::r--	文件所有组的权限
mask::rwx	能赋予用户的最大权力阀值
other::r--	其他人的权限

Linux操作系统概述(二)_第8张图片

3)acl列表的管理

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

Linux操作系统概述(二)_第9张图片
去掉group组成员对file的权限:
Linux操作系统概述(二)_第10张图片

4)mask值

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

chmod g-w westos 看到减掉的时mask值
Linux操作系统概述(二)_第11张图片

恢复mask值

setfacl -m m:rwx westos 

Linux操作系统概述(二)_第12张图片
acl默认权限只针对目录设定

setfacl -m d:u:student:rwx /mnt/westos

Linux操作系统概述(二)_第13张图片
Linux操作系统概述(二)_第14张图片
“acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限的”
Linux操作系统概述(二)_第15张图片

第六单元 系统进程及服务的控制

1.什么是进程

1)图形方式查看

gnome-system-monitor

2)进程查看命令

常用命令

ps	-A	所有进程
ps 	-a	当前环境中运行的进程,不包含环境信息
ps	-u	显示进程用户信息
ps	a	在当前环境中运行的进程
ps	x	列出系统中所有运行包含tty输出设备
ps	f	显示进程的父子关系
ps	e	显示进程的详细信息(系统的资源调用)

常用组合

ps	aux	显示系统中的所有进程并显示进程用户
ps	ef	显示进程详细信息并显示进程父子关系
ps	ax	显示当前系统中的所有进程

显示进程指定信息

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

ps ax -o xxx	显示所有进程的指定信息

Linux操作系统概述(二)_第16张图片
进程排序

ps ax --sort=+%cpu|-%cpu
ps ax --sort=+%mem|-%mem	+正向排序(从小到大) -反向排序(从大到小)

grep 过滤
grep -v 反向过滤
Linux操作系统概述(二)_第17张图片

2.进程优先级

S	进程状态
L	内存中有锁定空间
N	优先级低
<	优先级高
+	前台运行(占用了终端)
s	顶级进程

1)优先级范围

-20~19

2)优先级查看

ps ax -o pid,nice,comm

Linux操作系统概述(二)_第18张图片

3)改变进程优先级

renice -n   优先级数字	进程id
renice -n   -5 		6574		 改变6574进程的优先级为-5

Linux操作系统概述(二)_第19张图片
Linux操作系统概述(二)_第20张图片

4)指定某个优先级开启进程

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

Linux操作系统概述(二)_第21张图片

3.环境中进程的前后台调用

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

4.进程信号

1)常用进程信号等级

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

man 7 signal 查看信号详细信息

2)进程信号管理

kill 	-信号	   进程id
killall	-信号	   进程名字
pkill	-u student -信号

5.进程的动态监控

top

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

6.控制服务

1)什么是服务

2)用什么控制服务

系统初始化进程可以对服务进行相应的控制

3)当前系统初始化进程是什么

systemd 系统初始化进程
pstree 显示系统中的进程树

4)进程控制命令

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	设定系统启动级别为多用户模式(无图形)
systemctl	set-default graphical.target	设定系统启动级别为图形模式

启动图形模式
init 5
startx

查看服务状态:
(1)可用:
Linux操作系统概述(二)_第22张图片
(2)不可用:
Linux操作系统概述(二)_第23张图片
开启服务:
Linux操作系统概述(二)_第24张图片
关闭并重启服务:
Linux操作系统概述(二)_第25张图片

第七单元 sshd服务

1.sshd简介

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

客户端软件
ssh

远程连接:
ssh username@ip 文本模式的连接
ssh -X username@ip 可以在连接成功后打开图形

注意:
第一次连接陌生主机时需要建立认证文件
会询问是否建立,需要输入yes
再次连接此主机时,因为已经生成~/.ssh/know_hosts

物理机连接虚拟机:
Linux操作系统概述(二)_第26张图片
远程复制:

	scp	file		root@ip:dir	上传文件(dir为绝对路径)
	scp	root@ip:file	dir		下载文件(file为绝对路径)

	scp -rp	test		root@ip:dir	上传目录(dir为绝对路径)
	scp -rp	root@ip:test	dir		下载目录(test为绝对路径)

下载文件/目录:

(1)先在客户端建立文件/目录:
Linux操作系统概述(二)_第27张图片
(2)再在服务端把文件/目录从客户端下载到服务端:
Linux操作系统概述(二)_第28张图片
上传文件/目录:
先把服务端的文件/目录删除,然后在客户端把文件/目录从客户端上传到服务端:
Linux操作系统概述(二)_第29张图片

2.sshd的key认证

1)生成密钥

ssh-keygen 生成密钥命令
Linux操作系统概述(二)_第30张图片

2)加密服务

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] 加密root用户
出现authorized_keys文件时,表示加密成功
Linux操作系统概述(二)_第31张图片

3)分发钥匙

scp id_rsa [email protected]:/root/.ssh/
Linux操作系统概述(二)_第32张图片
Linux操作系统概述(二)_第33张图片

4)测试

在客户主机中(172.25.254.117)
ssh [email protected] 连接时发现不需要输入root密码
Linux操作系统概述(二)_第34张图片

3.sshd的安全设定

PasswdAuthentication yes/no 是否允许用户通过密码做sshd认证
(1)在服务端打开文件/etc/ssh/sshd_config,找到PasswdAuthentication 将yes改为no,保存退出,然后重启服务:
Linux操作系统概述(二)_第35张图片
Linux操作系统概述(二)_第36张图片
(2)再在客户端连接服务端时,密码认证会被拒绝(在没有服务端给的密钥的情况下):
Linux操作系统概述(二)_第37张图片

PermitRootLogin yes/no 是否允许root用户通过sshd服务的认证
(1)在服务端打开文件/etc/ssh/sshd_config,找到PermitRootLogin将yes改为no,保存退出,然后重启服务:
Linux操作系统概述(二)_第38张图片
(2)再在客户端连接服务端时,student用户通过认证而root用户不被认证:
Linux操作系统概述(二)_第39张图片
AllowUsers student 设定白名单,白名单出现,默认不在白名单中的用户不能使用sshd
(1)在服务端打开文件/etc/ssh/sshd_config,设定白名单,保存退出,然后重启服务:
Linux操作系统概述(二)_第40张图片
(2)再在客户端连接服务端时,student用户通过认证而westos用户不被认证(student用户在白名单中):
Linux操作系统概述(二)_第41张图片

DenyUsers student westos 设定黑名单,黑名单出现,默认不在黑名单中的用户可以使用sshd
(1)在服务端打开文件/etc/ssh/sshd_config,设定黑名单,保存退出,然后重启服务:
Linux操作系统概述(二)_第42张图片
(2)再在客户端连接服务端时,student用户和westos用户都不被认证(student用户和westos用户都在黑名单中):
Linux操作系统概述(二)_第43张图片

*白/黑名单添加用户时,用空格隔开*

4.添加sshd登录信息

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

5.用户的登录审计

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

last		查看使用过并退出的用户信息
  
lastb		试图登录但没有成功的用户

第八单元 文件在系统中的传输

1.scp

远程复制,速度慢

scp	file		root@ip:dir	上传文件(dir为绝对路径)
scp	root@ip:file	dir		下载文件(file为绝对路径)

scp -rp	test		root@ip:dir	上传目录(dir为绝对路径)
scp -rp	root@ip:test	dir		下载目录(test为绝对路径)

2.rsync

远程同步,速度快,默认会忽略文件属性,链接文件,设备文件

-r	同步目录
-p	同步权限
-o	同步文件所有人
-g	同步文件所有组
-t	同步时间
-l	同步链接文件
-D	同步设备文件

(1)在服务端创建文件并设置其权限及属主属组,然后同步到客户端:
Linux操作系统概述(二)_第44张图片

(2)同步到客户端的文件与服务端文件的权限,属主,属组,时间皆相同:
Linux操作系统概述(二)_第45张图片

3.打包

tar
	-c	创建
	-x	解档
	-v	显示过程
	-f	指定归档文件名称
	-t	查看归档文件内容
	-r	添加文件到归档中
	--get	解档指定文件
	--delete删除归档中的指定文件
	-C	指定解档目录

创建文档etc.tar,并上传文档到客户端:Linux操作系统概述(二)_第46张图片
将etc文件解档:
Linux操作系统概述(二)_第47张图片
创建新文件file并将其归档至etc.tar:
Linux操作系统概述(二)_第48张图片
删除文件file,再将file从etc.tar中解档,然后删除归档的file文件:
Linux操作系统概述(二)_第49张图片
将etc解档到指定目录/mnt/中:
Linux操作系统概述(二)_第50张图片

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	压缩
	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			压缩
	xunz	xxx.tar.xz		解压
	====
	tar Jcf	xxx.tar.xz  /xxx	压缩
	tar Jxf	xxx.tar.xz		解压

除zip,其余三种都可以打包压缩一步完成

你可能感兴趣的:(Linux操作系统概述(二))