Linux文件权限,进程,服务学习笔记
文件的权限
现在我们已经知道了Linux系统内文件的三种身份(所有者,用户者,与其他人),知道每种身份都有三种属性(r,w,x),已经能够使用chown,chgrp,chmod去修改这些权限和属性,那么这些文件权限对于一般文件和目录有何不同呢?
权限对文件的重要性
r:可读取此文件的实际内容,如读取文本文件的文字内容
w:可以编辑,新增或者是修改该文件的内容(但不含删除该文件)
x:该文件可以被系统执行的权限。注意:
(1)我们的文件是否能被执行是由“x”这个权限决定的,而跟文件名是没有绝对的关系。
(2)当你对一个文件具有w权限是,并不具备删除该文件本身的权限。对于文件的r,w,x来说,主要都是针对“文件的内容”而言,与文件名的存在与否没有关系。
权限对目录的重要性
文件是存放实际数据的所在,目录只要的内容是记录文件名列表,文件名与目录有强烈的关联。
r:表示具有读取目录结构列表的权限。
w:具有更改该目录结构列表的权限。包括:
新建新的文件和目录
删除已经存在的文件与目录
将已存在的目录或文件进行重命名
转移该目录内的文件,目录位置
x:代表用户能否进入该目录成为工作目录的途径。
权限的查看和理解
文件权限的查看和理解
- rw-r--r-- 1 root root 216 May 122017 /mnt/rht
[1] [2] [3] [4] [5] [6] [7] [8]
[1]文件类型:
- 普通文件d 目录
l 软链接
s 套接字
c 字符设备(显示字符的设备)
目录权限的查看和理解
d rwxr-xr-x. 2 root root 4096 Jul 30 09:05 /mnt
[1] [2] [3] [4] [5] [6] [7] [8]
[1] 类型
[2] 权限
[3] 目录中子目录个数
[4] 用户
[5] 组
[6] 子文件或子目录元数据的大小
[7] 目录最后一次被修改的时间
[8] 目录名称
修改文件的用户和用户组
此命令必须用root用户执行
改变所属用户
chown username file|dir
修改前
修改后
chown -R username dir
修改前
修改后:
chown username:group file|dir
修改前:
修改后
改变所属的用户组
chgrp group file/dir
修改前
修改后
chgrp -R group dir
修改前
修改后
文件权限详解
权限的作用
- r :读
- 对文件 是否可以查看文件中的字符
- 对目录 是否可以查看目录中有什么文件
- w :写
- 对文件 是否可以改变文件中记录的字符
- 对目录 是否可以在目录中管理文件,是否可以更改目录中文件的元数据
- x :执行
- 对文件 是否可以通过文件名称调用文件内记录的程序
- 对目录 是否可以进入此目录
权限的管理
字符形式
chmod <u/g/o><+/-/=><x/r/w> file/dir
修改前:
给file文件的用户组增加w和x权限
修改前:
给file文件的用户组减去w权限
修改前:
给file文件的用户设置x权限
数字形式
r w x
2 1 0
- x=2^0*0|1=0|1
- w=2^1*0|1=0|2
- r=2^2*0|1=0|4
- rwx=7
- rw-=6
- r-x=5
- r--=4
- -wx=3
- -w-=2
- --x=1
修改前
修改后
权限列表
特定用户对特定文件拥有指定的权限
- drwxrw-rw-+ 2 westos linux11 6 8月 15 21:02 dir
如果权限后面有"+",则说明权限列表已开启
打开文件的权限列表
- -rw-r-r--+ 1 root root 216
- setfacl -m u:username:rwx file 设定权限列表的用户权限
- serfacl -x u:username:rwx file 删除权限列表中的指定用户
- ls -l file 关闭权限列表
- [[email protected]]# getfacl file
- file:file 文件名称
- #owner:root 文件所属人
- #group:root 文件所属组
- user::rw- 用户权限
- user:username:r-- 特殊用户的权限
- group::r-- 组权限
- mask::rwx 权限最大值
- other::r-- 其他人权限
在权限列表中设置指定用户的权限 setfacl -m u:student:rwx file
删除权限列表中指定用户的权限 setfacl -x u:student file
关闭权限列表 setfacl -b file
进程及服务的控制
1.什么是进程
系统中正在运行的程序
2.图形化进程的查看方式
gnome-system-monitor
3.查看进程的命令
- whatis ps 查看进程
- ps a 包含和当前环境相关的进程
- ps -a 在当前终端(shell)中运行的进程,但不包含和当前环境相关的进程
- ps -A|-e 系统所有进程
- ps -x 查看含有输出终端的进程
- ps -f 查看进程的从属关系
- ps u 进程的所有人
ps aux 显示系统中所有进程并显示进程用户
ps ef 显示进程详细信息并显示进程父子关系
ps ax 显示当前系统中的所有进程
- ps -o comm 进程名称
- ps -o %cpu 进程cpu使用率
- ps -o %mem 进程内存使用率
- ps -o pid 进程id
- ps -o user 进程所有人
- ps -o group 进程所有组
- ps -o stat 该程序目前的状态
- ps -o nice 进程优先级
报告生成器 awk:文本格式化输出,遍历文件。
流编辑器 sed:sed是stream editor的简称,也就是流编辑器。它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。
- ps ax --sort=%cpu 正序输出
- ps ax --sort=-%cpu 倒序输出
进程的优先级
进程状态
- S 进程状态
- s 此进程为顶级进程
- T 进程是暂停的
- < 表示进程优先级高
- N 进程优先级低
- l 进程在内存中有锁定空间
- R+ 正在运行的进程
更改进程的优先级
ps ax -l 查看进程的优先级(PRI的值越小优先级越高)
renice -n -5 pid 修改进程的优先级(优先级的取值范围为-20~19)
nice -n -5 以指定的优先级开启进程
进程前后台的调用
当进程运行在前台时你的终端将会被占用
当进程运行在后台时你的终端将会被释放,进程不占用当前终端(shell)
相关命令
- ctrl + z 将占用终端的进程打入后台停止
- jobs 查看被打入后台的进程
- [1]+ Stopped firefox
- +:的优先级高
- bg jobsnum 将指定进程在后台运行
- fg jobsnum 将指定进程调回前台
- ctrl + c 将占用当前终端的进程结束
- kill -1 PID 进程不停止情况下重新加载配置(在不需要重启服务器的情况下重新加载配置)
- kill -2 PID 清除进程在内存中的数据
- kill -3 PID 清除鼠标在内存中的数据
- kill -9 PID 强行结束进程
- kill -15 PID 正常关闭进程
- kill -18 PID 运行停止的进程
kill -19 PID 暂停进程,不能被阻塞
当使用kill -19 PID暂停进程后在gedit中输入无效字符(不能显示出来的字符),当运行kill -18 PID时所输入的无效字符却显示到了gedit中
kill -20 PID 暂停进程,可以被阻塞(该信号可以被处理和忽略)
linux系统之间相互控制所产生的信息的查看方式
- ifconfig eth0 查看本机IP
- ssh [email protected] 连接别的计算机
- exit 连接退出
- last 谁登陆过我
- w -i 查看谁正在使用我
- lastb 谁登陆过我,但没有成功
- ps aux | grep pts/1 查看正在登陆你的人的进程PID
- kill -9 PID 踢掉
服务的控制
- systemctl stsrt sshd 开启服务
- systemctl stop sshd 停止服务
- systemctl status sshd 显示状态
- systemctl restart sshd 重启
- systemctl enable sshd 开机重启
- systemctl disable sshd 开机关闭
- systemctl list-units 列出系统中运行的服务
- systemctl list-unit-files 列出服务的开机状态
- systemctl list-dependencies sshd 列出服务之间的依赖关系
- systemctl mask sshd 冻结服务
- systemctl unmask sshd 解冻服务
- systemctl set-default multi-user.target 开机不启动图形界面
- init 5 打开图形界面,但是重新启动后还是没有图形界面
- systemctl set-default graphical.target 开机启动图形界面