第四天 用户管理和服务管理

简介:
复习:
判断题
1、在vim命令模式中输入:q!是强制不保存退出,只有root可以使用
2、在vim命令模式中ndd是复制多行
3、在vim命令模式中:%s/old/new/g会把文件中所有的old替换为new
4、rpm –ql 包全名 命令是查找包中文件的安装位置
5、RPM包安装的服务的启动方式是/usr/local/apache2/bin/apachectl start
6、yum –y install 包全名 命令是yum安装命令

7、源码包删除方式是直接删除安装目录



目录:

第六章 用户和用户组管理
    一 用户相关文件
    二 用户和用户组管理
    三 用户相关命令
    四 ACL权限
    五 输出重定向和多命令顺序执行
第七章 服务和进程管理
    一 进程查看
    二 linux服务管理
        (一)系统默认安装的服务
        (二)源码包安装的服务
    三 计划任务
    四 系统运行级别

第六章 用户和用户组管理

一 用户相关文件

用户信息文件: /etc/passwd

aa:x:501:501::/home/aa:/bin/bash

第一列:用户名
第二列:密码位
第三列:UID     用户ID            
  0     管理员
  1-499 伪用户(系统用户)
  >500      普通用户
第四列:GID     初始组ID
第五列:用户说明
第六列:家目录
第七列:用户登录之后的权限
影子文件: /etc/shadow
组信息文件: /etc/group
sc:x:500:

组名:组密码位:组ID:组中附加用户

二 用户和用户组管理

1 添加用户

useradd  用户名        
useradd  选项  用户名

选项:
    -g  组名      指定初始组   不要手工指定  
    -G  组名      指定附加组,把用户加入组,使用附加组
    -c  说明  添加说明
    -d  目录  手工指定家目录,目录不需要事先建立
    -s      /bin/bash   手工指定用户登录之后的权限   

useradd  -g  aa  bb     添加bb用户,同时指定初始组为aa
useradd  -G  user1  aa  添加用户aa,指定附加组为user1
useradd -c "test user"  -d  /user4  user4   

初始组:每个用户初始组只能有一个,初始组只能有一个,一般都是和用户名相同的组作为初始组
附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组

2 设定密码

passwd 用户名
passwd 改变当前用户密码
passwd  root 改变root密码

3 删除用户

userdel  -r  用户名
    -r  连带家目录一起删除

4 添加组

groupadd  组名

5 删除组

groupdel  组名

注意:组中没有初始用户。

6 把已经存在的用户加入组

gpasswd  -a  用户名  组名        用户加入组
gpasswd  -d  用户名  组名        把用户从组中删除

三 用户相关命令

1 id 用户名 显示用户的UID,初始组,和附加组

[root@localhost home]# id sc
uid=500(sc) gid=500(sc) groups=500(sc),0(root)

2 su - 用户名 切换用户身份

参数:

-   连带环境变量一起切换

四 ACL权限

ACL权限用于解决用户身份不足的问题。

举例:
问题描述:建立www目录,作为班级作业提交目录,每个人在该目录都有rwx权限,但不能删除其他人资料;现在还需要一用户,比如ymj,专门来查看作业,但没有修改删除(w)权限。请问如何实现?

  问题分析:
1、首先需要建立www目录,更改权限,1770(rwxrwx----);其中1为特殊权限位,用来解决互相不能删除修改对方文件这一问题;设有组 87g,将用户如user1,user2等加入87g组中,该组的成员可以具有该目录rwx权限:chown root:87g /www;
2、新建ymj用户。此时需要acl权限才能解决最后一个需求:即单独对/www目录添加ymj可以访问但ymj不属于u/g/o成员这一功能。具体如下:

/www
scroot
87g-fgroup
o
770     

具体操作过程:

[root@localhost ~]# mkdir /www
[root@localhost ~]# chmod 770 /www/
[root@localhost ~]# groupadd fgroup
[root@localhost ~]# gpasswd -a sc fgroup
正在将用户“sc”加入到“fgroup”组中
[root@localhost ~]# gpasswd -a aa fgroup
正在将用户“aa”加入到“fgroup”组中
[root@localhost ~]# chown root:fgroup  /www
[root@localhost ~]# ll -d  /www/
drwxrwx--- 2 root fgroup 4096 04-25 14:56 /www/

1 getfacl 文件名 查询文件的acl权限

2 setfacl 选项 文件名 设定acl权限

-m          设定权限
-b          删除权限
setfacl  -m  u:用户名:权限   文件名
setfacl  -m  g:组名:权限   文件名

setfacl  -m u:aa:rwx  /test     给test目录赋予aa是读写执行的acl权限

setfacl -m u:cc:rx -R soft/     赋予递归acl权限,只能赋予存在的目录
    -R  递归  

setfacl  -b  /test      删除acl权限

3 setfacl -m d:u:aa:rwx -R /test acl默认权限。
注意:默认权限只能赋予目录

注意:如果给目录赋予acl权限,两条命令都要输入

-m  u:用户名:-R 权限     只对已经存在的文件生效
-m  d:u:用户名:-R 权限       只对未来要新建的文件生效

五 输出重定向和多命令顺序执行

1 输出重定向
把应该输出到屏幕的输出,重定向到文件。

>   覆盖
>>  追加
ls  >  aa       #覆盖到aa
ls  >>  aa      #追加到aa
ls  gdlslga  2>>aa  #错误信息输出到aa

强调:错误输出,不能有空格

2   指的错误信息

掌握

ls  >>  aa  2>&1 错误和正确都输入到aa,可以追加
ls  >>  aa  2>>/tmp/bb 正确信息输入aa,错误信息输入bb

第七章 服务和进程管理

进程管理三个主要任务:

  • 判断服务器健康状态
  • 查看所有正在运行的进程
  • 强制终止进程

一 进程查看

1 ps aux 查看当前系统所有运行的进程

ps auxw 显示长路径
    -a  显示前台所有进程
    -u  显示用户名
    -x  显示后台进程

结果含义:

user 用户名
pid 进程id。PID 1 init  系统启动的第一个进程
%CPU cpu占用百分比
%MEM 内存占用百分比
VSZ 虚拟内存占用量  KB
RSS 固定内存占有量
tty 登录终端
    tty1-7  本地终端 1-6 字符  7图形(alt+F1-F7切换)   
  pts/0-255
stat 状态
    S:睡眠
    D:不可唤醒
    R:运行
    T:停止
    Z:僵死
    W:进入内存交换
    X:死掉的进程
    <:高优先级
    N:低优先级
    L:被锁进内存
    s:含子进程  +:位于后台
    l:多线程
start   进程触发时间
time        占用cpu时间
command 进程本身

2 pstree 查看进程树

3 top

第一行:系统当前时间 系统持续时间 登录用户 1,5,15分钟之前的平均负载
第二行:进程总数
第三行:CPU占用率 %id 空闲百分比
第四行:内存使用: 总共     使用 空闲 缓存
第五航:swap使用

操作命令

M   内存排序
P   CPU排序
q   退出

服务原则
服务器应该定时重启,高负载服务器最少一周重启一次,低负载服务器最少一月重启一次

4 进程管理

终止进程

kill  信号  PID       结束单个进程
-9  强制

按进程名杀死:

killall  -9  进程名     结束一类进程
pkill  -9  进程名

剔除用户:

w 判断登录用户
pkill  -9  -t  终端号  把某个终端登录的用户踢出
pkill  -9  -t tty1  把本地登录终端1登录用户踢出

二 linux服务管理

1 分类

1.1 系统默认安装的服务 rpm包

  • 独立的服务
  • 基于xinetd的服务,xinetd是系统超级守护进程

1.2 源码包安装的服务

(一)系统默认安装的服务

1 确定服务分类

chkconfig  --list       查看rpm包安装服务的自启动状态

运行级别:0-6
    0   关机
    1   单用户模式
    2   不完全多用户,不包含NFS服务
    3   完全多用户   字符界面
    4   未分配
    5   图形界面
    6   重启

init  0 关机      init 5  startx  init 3
init  6 重启

runlevel            查询系统当前运行级别

vi  /etc/inittab
id:3:initdefault:       定义系统默认运行级别

2 独立的服务器管理

1)启动

/etc/rc.d/init.d/服务名   start|stop|restart|status
/etc/rc.d/init.d/httpd  start

或者:

service   服务名   start|stop|restart|status

2)自启动

chkconfig  --level  2345  服务名  on|off

推荐方法:

vi  /etc/rc.local---->/etc/rc.d/rc.local
/etc/rc.d/init.d/httpd  start

3 ntsysv
所有系统默认安装服务都可以使用ntsysv命令进行自启动管理

(二)源码包安装的服务

1)绝对路径启动

/usr/local/apache2/bin/apachectl  start

2)自启动

vi /etc/rc.local

三 计划任务

Crond服务必须运行。

循环定时任务
crontab -e 编辑定时任务

* * * * *  命令

第一个*:一小时中第几分钟       0-59
第二个:一天中第几个小时        0-23
第三个:一个月中第几天     1-31
第四个:一年第几个月          1-12
第五个:一周中星期几          0-6 

10  *  15  *  *  命令  每月15的每小时的第10分钟执行
10  *  *  *  *  命令   每小时的第10分钟执行
5  4  *  5-10  *  命令     5-10月的每天4:05分执行
*/10  *  *  *  *  命令    每10分钟执行
*/1  *  *  *  *  命令      每1分钟执行
5 4  1,15  *  *  命令     

例 */1 * * * * echo $(date +\%F) >> /home/yjc/date.txt

日期和星期不要同时指定,会超出预期:

5 4 10 * 5 命令
crontab  -l     查看系统定时任务
crontab  -r         删除定时任务

注意事项:

  • 选项都不能为空,必须填入,不知道的值使用通配符*表示任何时间
  • 每个时间字段都可以指定多个值,不连续的值用,间隔,连续的值用-间隔
  • 间隔固定时间执行书写为*/n格式
  • 命令应该给出绝对路径
  • 星期几何第几天不能同时出现
  • 最小时间范围是分钟,最大时间范围是月

四 系统运行级别

1 dmesg 查看系统启动信息

cat  /var/log/dmesg     系统启动信息日志

dmesg | grep eth0       查看eth0信息
dmesg | grep CPU        查看cpu信息

2 系统运行级别

0   关机
1   单用户
2   不完全多用户,不含NFS
3   完全多用户
4   保留
5   图形界面
6   重启

runlevel        查询系统运行级别

init  运行级别      改变运行级别,例init 0  init  6

修改系统默认运行级别

vi  /etc/inittab            init配置文件
id:3:initdefault:           系统默认运行级别
目录
相关文章
|
3月前
|
存储 算法 区块链
从零实现Python扫雷游戏:完整开发指南与深度解析
扫雷作为Windows经典游戏,承载了许多人的童年回忆。本文将详细介绍如何使用Python和Tkinter库从零开始构建一个功能完整的扫雷游戏,涵盖游戏设计、算法实现和界面开发的全过程。
205 1
|
3月前
|
人工智能 监控 安全
MCP与企业数据集成:ERP、CRM、数据仓库的统一接入
作为一名深耕企业级系统集成领域多年的技术博主"摘星",我深刻认识到现代企业面临的数据孤岛问题日益严重。随着企业数字化转型的深入推进,各类业务系统如ERP(Enterprise Resource Planning,企业资源规划)、CRM(Customer Relationship Management,客户关系管理)、数据仓库等系统的数据互联互通需求愈发迫切。传统的点对点集成方式不仅开发成本高昂,维护复杂度也呈指数级增长,更重要的是难以满足实时性和一致性要求。Anthropic推出的MCP(Model Context Protocol,模型上下文协议)为这一痛点提供了革命性的解决方案。MCP通过
180 0
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
《打破黑箱:深度学习模型可解释性的攻坚之路》
深度学习模型在图像识别、自然语言处理等领域取得了显著成果,但其“黑箱”特性引发了可靠性、安全性和透明度的担忧。这种不可解释性在医疗、金融和自动驾驶等场景中可能导致不确定性或信任危机。为解决这一问题,研究者从模型可视化、特征重要性分析、设计可解释模型架构及事后解释方法等方向展开探索。然而,现有方法仍面临局部解释性、计算成本高及缺乏统一评估标准等问题。实现深度学习模型的可解释性是AI走向成熟与广泛应用的关键,未来需学术界与产业界共同努力,推动技术进步以造福社会。
440 9
|
7月前
|
人工智能 算法 计算机视觉
当科技吞没生活:我们是否正在成为工具的附庸?
清晨六点,智能手环唤醒你,咖啡机自动研磨咖啡豆,智能音箱播报新闻,人脸识别完成健康检测。科技优化生活,但也引发担忧:东京大学研究显示,过度依赖智能设备使决策能力每年衰退3%;韩炳哲警告数字化全景监狱使人丧失自主性。真正的科技人文主义应在效率与人性间找到平衡,保留生活中的不完美与珍贵体验。
126 5
|
10月前
|
传感器 物联网 数据挖掘
新技术趋势与应用:物联网与虚拟现实的未来发展###
随着科技的迅猛发展,物联网(IoT)和虚拟现实(VR)已成为引领未来的重要技术趋势。本文旨在探讨这两项新兴技术的发展趋势和应用场景,通过分析当前技术现状、挑战及未来前景,揭示物联网和虚拟现实在各领域的潜在影响和应用价值。研究表明,物联网在智能家居、智慧城市、工业自动化等方面具有广泛的应用前景;而虚拟现实则在游戏娱乐、教育培训、医疗健康等领域展现出巨大的潜力。本文认为,随着技术的不断进步,物联网和虚拟现实将深度融合,为社会经济发展带来新的机遇和挑战。 ###
468 59
|
监控 数据可视化 算法
三维可视化神器带来无限可能,原来三维场景也可以如此轻松实现
三维可视化神器带来无限可能,原来三维场景也可以如此轻松实现
253 1
三维可视化神器带来无限可能,原来三维场景也可以如此轻松实现
|
弹性计算 人工智能 自然语言处理
通义万相AIGC快速生成图像体验测评
通义万相AI绘画创作部署与体验。
|
算法 JavaScript
「AIGC算法」将word文档转换为纯文本
使用Node.js模块`mammoth`和`html-to-text`,该代码示例演示了如何将Word文档(.docx格式)转换为纯文本以适应AIGC的文本识别。流程包括将Word文档转化为HTML,然后进一步转换为纯文本,进行格式调整,并输出到控制台。转换过程中考虑了错误处理。提供的代码片段展示了具体的实现细节,包括关键库的导入和转换函数的调用。
284 0
|
运维 安全 Linux
云服务器账号密码安全运维
确保云上Linux ECS安全,需强化账号密码策略。检查并更新`/etc/login.defs`,设置`PASS_MAX_DAYS`(如90天)、`PASS_MIN_DAYS`(如7天)和`PASS_WARN_AGE`(如7天),限制密码使用期限和修改间隔。在`/etc/pam.d/common-password`启用密码复杂度规则等等
427 0
|
存储 弹性计算 固态存储
阿里云服务器最新活动价格参考,云服务器按年和按带宽优惠价格表(最新更新)
阿里云服务器最新活动价格更新,轻量应用服务器的活动价格为108元1年起,经济型云服务器最低活动价格为182.04元1年起,通用算力型u1云服务器最低活动价格为840.96元1年起,计算型c7实例云服务器活动价格为1625.40元起,通用型g7实例云服务器活动价格为2028.25元起,内存型r7实例云服务器活动价格为2637.74元起,计算型c8y实例云服务器活动价格为674.49元起,通用型g8y实例云服务器活动价格为1033.44元起,内存型r8y实例云服务器活动价格为1329.11元起。本文为大家整理汇总了阿里云服务器活动价格更新之后的最新活动价格情况,以表格形式展示给大家,以供参考。
阿里云服务器最新活动价格参考,云服务器按年和按带宽优惠价格表(最新更新)