第四天 用户管理和服务管理
2015-12-04 11:40
239 查看
复习:
判断题
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 用户名 组名 把用户从组中删除
三 用户相关命令
1id 用户名显示用户的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 /testacl默认权限。
注意:默认权限只能赋予目录
注意:如果给目录赋予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
第七章 服务和进程管理
进程管理三个主要任务:
判断服务器健康状态
查看所有正在运行的进程
强制终止进程
一 进程查看
1ps 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格式
命令应该给出绝对路径
星期几何第几天不能同时出现
最小时间范围是分钟,最大时间范围是月
四 系统运行级别
1dmesg查看系统启动信息
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: 系统默认运行级别
(未完待续)
作业:
笔记整理
预习:网络配置和文件服务器
相关文章推荐
- Menu模拟键与android:targetSdkVersion
- 为什么javaweb开发我们会使用Struts2、springMVC和spring这样的框架?
- Toast.makeText().show();
- view编程概览--- view 和 window 结构
- 在linux下的firefox中安装flashplayer
- ------__________________________9余数定理-__________ 1163______________
- 关于java枚举
- 整合大量开源库温习基础项目(三)登陆注册主页面大致完成,分析下怎么处理用户信息
- 整合大量开源库温习基础项目(三)登陆注册主页面大致完成,分析下怎么处理用户信息
- linux常用命令语法
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(四)
- C#导出Excel和CSV文件
- JSP标准标签库(JSTL)--函数标签库 fn
- JavaScript基础
- 【转】How to resolve ORA-19706 error when select from dblink
- 创建简单的Android Material DesignDemo
- quartz中Cron表示式与model互相转换
- Couldn't find leader offsets for Set news_topic
- unity NGUI Tutorial event system
- 别人走的路