3.Linux的用户组管理以及进程权限
用户和组
uid(用户id)gid(组id)
/etc/passwd 看到用户
root:x\:0:0:root:/root:/bin/bash
用户名:密码:uid:gid:描述信息:主目录:默认shell
x表示设置密码但不是真正的密码,真正的保存在shadow里面,\表示转义,因为markdown语法问题,可以忽略
uid
0 超级用户
1-499 系统用户(伪用户,无法登陆,保留给系统)1-99系统自己创建的,100-499给有系统账号需求的账户
500-65535 普通用户
/etc/shadow
用户名:加密的密码(sha512):最后一次修改时间:最小修改时间间隔:密码有效期:密码过期后宽限时间:账号失效时间:保留字段
/etc/group 用户组配置文件
组名:组密码:组id:组用户
/etc/gshadow 组密码
组名:加密密码:组管理员:组附加用户list
# 新建用户到一个新的组
useradd haha
groupadd users1
usermod -G users1 haha //将users1作为haha的附加组
groups haha //查看haha所在组
userdel -r haha //删除用户
UGO权限
r = 4
w = 2
x = 1
- = 0
rw- r-- r--
属主 属组 其他人
U G O
chmod [权限数字] [目标文件] 修改文件权限
chmod u+x [目标文件] 给目标文件的u属添加x权限
chown :[组名] [目标文件] 修改文件所属组
chown [属主]:[属组] [目标文件] 把文件过渡给某个人某个组
groupadd [组名] 添加组
groupadd users2 -g 9008 给组添加gid为9008
groupmod [新组名] [旧组名] 修改组名
groupdel [组名] 删除一个组
gpasswd [组名] 给组设置密码
gpasswd -A [用户名] [组名] 将用户设置为组管理员
gpasswd -a test2 users1 把test2拉到users1组里
进程管理
进程和程序
进程:正在执行的程序或者命令,都有运行的实体,即在内存中有具体的内存地址,一定会占用操作系统的资源
程序:程序员写出来的东西
进程的类型
守护进程:系统引导过程中的启动进程,和终端没关系
前台进程:和终端有关系,通过终端启动
< 表示高优先级的进程
N 表示低优先级的进程
- 属于某个前台组的进程
s 某个会话的leader进程
l 线程加锁
进程状态
R 运行
S 睡眠
D 磁盘睡眠
T 停止
Z 僵尸进程
X 死亡进程
ps -aux 查看进程
a = 和终端相关的进程
u = 以用户为中心的进程
x = 和终端无关的进程
ps -ef
e = 显示所有进程
f = 显示完整格式的程序信息
查看指定进程的id
cat /run/sshd.pid
ps aux | grep sshd
pgrep -l sshd
pidof sshd
pstree 查看进程树
top动态显示系统相关进程
top 直接显示
top -d 1 每隔1s刷新一次
top -d 1 -p [进程id] 每隔1s刷新目标进程(进程id表示)
top -d 1 -u root 查看root用户的进程
信号控制
kill -l 查看所有信号控制
kill -1 [进程id] 给进程发送重新装载信号
kill -9 [进程id] 发送关闭进程信号
优先级
进程优先级0-99,实时优先级,数字越小越优先
静态优先级00-139 数字越小越优先
nice值 -20-19
默认启动nice为0,优先级120
ps axo pid,command,nice --sort=nice 通过nice排序显示pid
sleep 60 &
睡60s,放后台,告诉我pid
renice -20 [进程号] 调整nice值(优先级)
作业控制
screen -S 'ping [www.google.com](http://www.google.com/)' 后台执行ping命令
screen -list 列出所有后台执行的命令
pkill screen 删除所有后台执行的进程
nohup ./xxx.sh & 把程序放后台运行并反馈进程号
本文来自博客园,作者:icui4cu,转载请注明原文链接:https://www.cnblogs.com/icui4cu/p/16029335.html