Linux第03天
Linux 第03天 1.Linux帐号和ACL权限管理 1.帐号和用户组 1.1 用户标识符————UID(root为0 系统用户为1~499 普通用户为500~65535) 1.2 用户组标识符————GID() 1.3 用户帐号信息文件————/etc/passwd hadoop:x:500:500:hadoop:/home/hadoop:/bin/bash hadoop为用户名 x为密码加密符 500为UID 500为GID hadoop为注释信息 /home/hadoop为用户家目录 /bin/bash为shell信息 1.4 用户密码信息文件————/etc/shadow hadoop:$1$0HZuNsCv$URJuS1MRpjafAVcmYO0bI1:15957:0:99999:7::: hadoop为用户名 $1$0HZuNsCv$URJuS1MRpjafAVcmYO0bI1为加密后的密码信息 15957为密码有效日期时间 0为密码最小使用天数 99999为密码最大使用天数 7为最大天数到期后警告天数 2.帐号管理 2.1 useradd命令————添加用户 useradd -p "用户名" 用户名 (创建一个密码跟用户名一样的用户) 2.2 usermod命令————修改用户信息(含密码) usermod -s /bin/bash 用户名(修改用户的shell信息) 2.3 userdel命令————删除用户 userdel -r 用户名(-r 会删除用户相关缓存和家目录) 2.4 passwd命令————修改用户信息(仅限密码) passwd 用户名 2.5 chage命令————修改帐号信息(不含密码) chage -d 2015-10-1 tom (修改tom最近设置密码时间为2015-10-1) 2.6 su命令————用户身份切换 su - 用户名 2.7 sudo命令————特权用户切换 sudo 用户名 3.组管理 3.1 groupadd命令————添加组 如:groupadd 组名 3.2 groupdel命令————删除组 如:groupdel 组名 3.3 groupmod命令————修改组 如:groupmod -n 新组名 旧组名 3.4 groups命令————查看用户所属组(一个用户可存在于一个或多个组) 如: groups root 3.5 gpasswd命令————操作用户组 如: gpasswd -a tom test(即把tom用户添加到test组中) gpasswd -d tom test(即把tom用户从test组中删除) 3.6 newgrp命令————临时将一个组转换成用户的主组 如: newgrp test(即将当前登陆用户的主组修改为test) 4.ACL————访问控制列表 4.1 setfacl命令————设置权限 setfacl -m u:hadoop:rw- xx文件(为hadoop用户对xx文件设置rw权限,会覆盖原来权限) setfacl -m g:test:rw- xx文件(为test组对xx文件设置rw权限,会覆盖原来权限) setfacl -x u:hadoop xx.sh(取消hadoop用户对xx文件的权限) 4.2 getfacl命令————获取权限 getfacl xx文件(获取xx文件的权限明细信息) 5.用户shell命令 5.1 查询用户 who命令————查看当前登陆用户 last命令————查看历史登陆信息 lastlog命令————查看所有用户的登陆信息 5.2 用户对谈 write命令————发送消息给用户化 write 用户2(即表示当前用户发送信息给用户2,输入消息以ctrl+d为结束符) mesg命令————信息收发状态 mesg y(开启当前用户收信息) mesg n(关闭当前用户收信息,如果消息是root发送的即使关闭也能收到) wall命令————广播(所有人都能收到) wall 广播内容 2.磁盘配额和高级文件系统管理 2.1 磁盘配额 1.quotacheck命令————设置磁盘配额功能(默认不开启,注意:分区需在挂载时设置是否以配额方式挂载才能设置该功能) quotacheck -cug /dev/sda3(即对sda3这个分区设置关于用户和用户组的磁盘配额功能 其中u表示用户 g表示用户组) 2.quotaon命令————启动磁盘配额服务 3.quotaoff命令————关闭磁盘配额服务 4.edquota命令————配置磁盘配额功能信息 edquota -u 用户1(配置用户1磁盘配额信息) 其中配额信息如下: 1.文件系统 2.文件大小(该用户已有文件) 3.软配额(软限制,满足即通知)(已有文件大小,单位是Kb,0为无限) 4.硬配额(硬限制,满足即不能再创建文件)(已有文件大小,单位是Kb,0为无限) 5.文件个数(总文件个数) 6.软配额(软限制,满足即通知)(文件个数,0为无限) 7.硬配额(硬限制,满足即不能再创建文件)(文件个数,0为无限) 5.quota命令————查看配额设置信息 quota -u 用户1(查看用户1的配额设置信息) 2.2 高级文件系统管理 1.RAID——阵列 RAID0————长度相加(无备份,至少两块) RAID1————镜像备份(有备份,至少两块) RAID5————校验和(有备份,至少三块) 2.LVM——逻辑虚拟卷 动态扩展或缩小分区空间 3.计划任务 3.1 仅执行一次任务 atq命令————查看计划任务 at命令————设置计划任务(仅一次) at 10302015(MMDDYYYY) 回车 任务1 任务2 任务3(ctrl+d为结束符) atrm命令————删除计划任务 atrm 任务序号 /etc/at.deny 文件出现的用户没权限运行at命令 /etc/at.allow 文件出现的用户有权限运行at命令(优先级allow > deny) 3.2 循环执行任务 crontab命令————设置计划任务(循环周期性执行) crontab -l (查看当前用户计划任务) crontab -l -u 用户1(查看用户1计划任务) crontab -e 回车 编辑任务(跟vim编辑器使用一致,一个任务可多条命令) 任务格式:分 时 天 月 周 命令内容(*为每一) 0 19 * * * date(每天19时执行date命令) 0 19 * * 1-5 date(每周1-5每天19时执行date命令) crontab -r (删除计划任务) /etc/crontab.deny 文件出现的用户没权限运行crontab命令 /etc/crontab.allow 文件出现的用户有权限运行crontab命令(优先级allow > deny) run-parts命令————运行某个目录里面的所有脚本 run-parts 目录名(注意需有可运行权限) 3.3 可唤醒执行任务————本来应该按计划执行的因为关机而没有执行到的任务,开机后重新执行 /etc/anacrontab 可唤醒执行任务配置文件 4.程序管理和SELinux 4.1 工作管理 jobs命令————查看后台运行工作 ps aux命令————查看所有运行进程 bg命令————设置后台运行程序 bg 序号(设置后台已停止运行的进程继续后台运行) fg命令————设置前台运行程序 fg 序号(设置后台进程前台运行) &命令————后台运行标识(关闭控制台不运行) firefox &(将firefox这个进程后台启动运行) nohup命令————后台运行(关闭控制台也运行) nohup 命令1 kill命令————杀死进程 kill -9 %1(杀死后台标识为1的进程) kill -9 1(杀死进程标识为1的进程,注意跟前者区分) 4.2 进程管理 ps命令————当前shell的所有进程 pidof命令————查看某个进程pid(即进程标识号) pidof ping killall命令————根据进程名杀死进程 killall -9 进程名 renice命令————更改已经正在运行的进程优先级 renice 优先级数 进程pid 其中优先级数取值范围是:-20~19 越大执行优先级越低 默认值为0 nice命令————更改还未运行的进程优先级 nice -n -19 cat(cat命令以-19优先级来运行) free命令————查看内存资源使用信息 uptime命令————查看系统资源负荷信息 vmstat命令————查看系统IO信息 vmstat 3 6(即3秒钟执行一次vmstat,总共执行6次) 4.3 SELinux————可以理解为进程设置权限 1.运行模式 强制模式————不满足条件时警告并阻止运行 允许模式————不满足条件时警告但可运行 关闭模式————不启用selinux getenforce命令————获取当前模式状态 setenforce命令————设置模式 setenforce 1(强制模式) setenforce 0(允许模式) /etc/selinux/config 默认设置文件(重启系统后也生效) 2.启动、关闭、查看 3.网络服务运行 4.所需的服务 5.策略和规则 5.系统服务和daemon 1.daemon和service service 对外提供的服务 daemon 一直在系统中运行的进程 分类:独立服务和非独立服务(super daemon) 服务于端口一一对应 即服务使用端口来表示 /etc/services 可查看相关服务端口对应关系 2.配置和启动daemon 独立服务启动文件: /etc/init.d/下的所有服务 独立服务启动方式(以下两种方式均可): 1.service 服务名 restart 2./etc/init.d/服务名 restart 非独立服务启动文件:/etc/xinet.d/下的所有服务 非独立服务启动步骤: 1.设置配置文件 /etc/xinetd.conf 2.重启xinetd服务 service xinetd restart(由此可见xinetd是独立服务) 3.查看系统服务 netstat命令————查看正在运行服务 netstat -nutlp(查看当前正在监听的服务) chkconfig命令————查看系统启动服务 chkconfig --list setup命令 ntsysv命令 6.日志文件 6.1 事件级别 1.emerg 恐慌状态 2.alert 紧急状态 3.crit 临界状态 4.err 其他错误状态 5.warning 警告消息 6.notice 通知事项 7.info 信息消息 8.debug 调试 (由上往下,级别越低) 6.2 日志配置文件 /etc/syslog.conf 6.3 日志格式 时间 地点 人物 事件 6.4 日志保护的两种方式 1.使用chattr命令设置日志文件只能增加不能减少的权限 2.配置中央日志服务器(即将该主机的日志文件通过网络传输给中央日志服务器) 6.5 日志备份————logrotate 1.配置文件 /etc/logrotate.conf 2.执行logrotate -f /etc/logrotate.conf 6.6 日志分析————logwatch 7.启动引导和内核模块 7.1 Linux启动流程 1.BIOS自检 2.MBR激活,找到分区表,找到boot分区 3.加载文件系统配置文件(即加载文件系统为ext3/ext4) 4.加载系统配置文件 5.加载内核到内存并初始化 (即加载系统驱动和系统模块) 6.运行系统第一个程序/sbin/init 7.init读取运行 /etc/inittab 配置文件 8.启动配置文件中的相关服务 9.加载 /etc/rc.d/rc.local 设置管理员设置的系统启动项 10.加载其他一些配置文件 7.2 内核模块 模块文件 /lib/modules/下 lsmod命令————查看系统加载模块 modinfo命令————查看某个模块的信息 modinfo 模块名 7.3 BootLoad引导器 grub文件 /boot/grub 两个stage1和*stage1_5 其中*stage1_5是文件系统类型信息 stage2存储系统内核配置信息