####6.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
####7.特殊权限####
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权限列表####
- 作用
让特定的用户对待定的文件拥有特定的权限
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权限
setfacl -x u:username file ##删除设定的username
4.mask值
在权限列表中mask表示能生效的权力值
当用chmod减小开启acl的文件权限时,mask值会发生变化
chmod g-w westos ##看到减掉的时mask值
恢复mask值
setfacl -m m:rwx westos
acl 默认权限只针对目录设定
setfal -m d:u:student:rwx /mnt/westos
"acl权限只针对设定完全之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限的“
####系统进程及服务的控制####
####1.什么是进程####
##2.查看进程##
1)图形方式查看
gnome-system-monitor
- 进程查看命令
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 6 | 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
####4.环境中进程的前后台调用####
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
####5.进程信号####
1.常用进程信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程(不可被阻塞)
15 ##正常关闭进程(可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程(不能被阻塞)
20 ##把进程打入后宫(可以被阻塞)
man 7 signal ##查看信号详细信息
kill -信号 进程id ##关闭该进程
killall -信号 进程名字 ##关闭所有此名称的进程
pkill -u student 信号 ##关闭多个切换到student用户的终端
####6.进程的动态监控####
top
l ##显示cpu每个核的负载
s ##调整刷新频率
c ##cpu负载排序
m ##内存使用量排序
h ##查看帮助
u ##查看指定用户进程
k ##对指定进程发起信号
q ##退出
###7.控制服务####
1.什么是服务
2.用什么控制服务
系统初始化进程可以对服务进行相应的控制
3.当前系统初始化进程是什么
systemd ##系统初始化进程
pstree ##显示系统中的进程树
4.进程控制命令
ssh--------> sshd
client server
systemctl ##服务控制命令
systemctl status sshd ##查看服务状态,inactive、(可用)
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 ##设定系统启动级别为图形模式
####sshd服务####
#####1.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为绝对路径)
####2.sshd的key认证####
[root@server .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:
fb:87:f6:bd:ce:b1:cb:0f:d6:64:ad:20:40:db:22:29 root@server.example.com
The key’s randomart image is:
±-[ RSA 2048]----+
| . |
| o o |
| E o + . |
| . . o .|
| S . . +|
| . . . = |
| . . = .|
| .o .= + |
| …o…O+.|
±----------------+
2.加密服务
[root@server .ssh]# ssh-copy-id -i id_rsa.pub root@172.25.254.131 ##加密root用户
The authenticity of host ‘172.25.254.131 (172.25.254.131)’ can’t be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
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.131’s password:
Number of key(s) added: 1
Now try logging into the machine, with: “ssh ‘root@172.25.254.131’”
and check to make sure that only the key(s) you wanted were added.
[root@server .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
^
这个文件出现,表示
加密成功
3.分发钥匙
[root@server .ssh]# scp id_rsa root@172.25.254.107:/root/.ssh/
4.测试
在客户主机中(172.25.254.107)
ssh root@172.25.254.167 ##连接时发现直接登陆不需要输入root密码
####3.sshd的安全设定####
vim /etc/ssh/sshd_config
PasswordAuthentication yes ##是否允许用户通过密码做sshd认证
PermitRootLogin yes ##是否允许root用户通过sshd服务的认证
Allowusers student westos ##设定用户白名单,白名单出现,默认不在白名单中的用户不能使用sshd
Denyusers westos ##设定用户黑名单,黑名单出现,默认不在黑名单里的用户可以使用sshd
####文件在系统中的传输####
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 ##添加文件到归档中
–det ##解档指定文件
–delete ##删除归档中的指定文件
-C ##指定解档目录
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
unxz xxx.bar.xz
====
tar Jcf xxx.bar.xz /xxx
tar Jxf xxx.bar.xz
####附加
####1.虚拟机和物理机的连接####
1.设置虚拟机ip
nm-connection-editor ##进入设置页面
2.删除已有信息,改名为eth0
Device MAC address选择eth0
3.选中ipv4 Settings
选择method为manual,再点击Add
Address Netmask Gateway
172.25.254.本机号+100/200 24
4.更改虚拟机的名称
hostnamectl set-hostname server.example.com
^
虚拟机的新名称
5.查看虚拟机的新ip
ifconfig
6.在物理机中
ssh 虚拟机用户名@172.25.254.本机号+100/200 ##在物理机上进入并操作虚拟机
####2.连接远程主机取文件####
1.连接主机
left 172.25.254.250
2.进入pub/目录下
mirror WESTOS_OS
13291953 bytes transferred
当出现这个代码时,表示文件取得成功
exit退出返回自己的终端
####3.忘记超级用户密码,开机更改密码####
1.用户开启页面,不选择,按e键
2.出现的页面,删除倒数第二行initrd16上方代码一直到ro
3.删除ro,编写rw.rd.break,按ctrl+x进入页面。
4.页面输出chroot /sysroot/,然后输入passwd重新设定密码。
5.再编写touch /.autorelabel
6.输入exit退出编写,再次输入exit就能重新输入密码进入系统
####4.更改网关连接WI-FI####
1.检查自己的网关ip
route -n
2.显示的ip在第一位的为172.25.254.250则需要更改,否则不需要
3.需要更改:登录超级用户root
vim /etc/sysconfig/network
##若有GATEWAY=172.25.254.250在前面加#号即可
vim /etc/sysconfig/network-scripts/ifcfg-br0
##若有GATEWAY0=172.25.254.250在前面加#号即可
4.重新读系统文件
systemctl restart network
5.再次查看自己的网关ip,ping以下百度看是否有数据返还