Linux基本命令集.docx
- 文档编号:5777364
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:23
- 大小:31.09KB
Linux基本命令集.docx
《Linux基本命令集.docx》由会员分享,可在线阅读,更多相关《Linux基本命令集.docx(23页珍藏版)》请在冰豆网上搜索。
Linux基本命令集
(参考《鸟哥的linux私房菜》)
第三部分
Linux基本命令集
10、Linux账号管理与ACL权限设置
用户标志符:
UID与GID
ID与账号的对应关系在/etc/passwd与/etc/group中
管理用户UID/GID重要参数的/etc/passwd与专门管理密码相关数据的/etc/shadow
/etc/passwd的文件结构
root:
x:
0:
0:
root:
/root:
/bin/bash
1、帐号名称
2、密码
3、UID
0为系统管理员
1~499为系统账号
500~65535为可登陆帐号
4、GID
5、用户信息说明列
6、主文件夹
7、Shell
/etc/shadow文件结构
root:
$1$/30QpE5e$y9N/D0bh6rAACBEz.hqo00:
14126:
0:
99999:
7:
:
:
1、帐号名称
2、密码(加密)
3、最近更动密码的日期
4、密码不可被更动的天数
5、密码需要重新更改的天数
6、密码需要更改期限前的警告天数
7、密码过期后的账号宽限时间(密码失效日)
8、账号失效日期
9、保留
一般用户密码忘记了:
这个最容易解决,请系统管理员帮忙,他会重新设置好你的密码而不需要你的旧密码!
Root密码忘记了:
这就麻烦了,进入用户维护模式
有效与初始用户组:
groups,newgrp
/etc/group文件结构
root:
x:
0:
root
1、用户组名称
2、用户组密码
3、GID
4、用户组支持的账号名称
有效用户组与初始用户组
groups:
有效与支持用户组的查看
newgrp:
有效用户组的切换
/etc/gshadow文件系统
root:
:
:
root
1、用户组名
2、密码列,同样,开头为!
表示无合法密码,所以无用户组管理员
3、用户组管理员帐号
4、该用户组所属账号
账号管理
新增与删除用户:
useradd,相关配置文件,passwd,usermod,userdel
useradd[-uUID][-g初始用户组][-G次要用户组][-mM][-c说明栏]\
>[-d主文件夹绝对路径][-sshell]用户帐号名
useradd参考文件
useradd–D
在/etc/default/useradd里
1、GROUP=100:
新建账号的初始用户组使用GID为100者
(私有用户组机制、公共用户组机制)
2、HOME=/home:
用户主文件夹基准目录
3、INACTIVE=-1:
密码过期后是否失效设置值
4、EXPIRE=:
账号失效日期
5、SHELL=/bin/bash:
默认使用的shell程序文件名
6、SKEL=/etc/skel:
用户主文件参考基准目录
7、CREATE_MAIL_SPOOL=yes:
创建用户的mailbox
UID/GID还有密码参数在/etc/login.defs里
1、mailbox所在目录
2、shadow密码第4、5、6字段内容
3、UID/GID指定数值
4、用户主文件夹设置值
5、用户删除与密码设置值
Passwd设置
passwd[--stdin]
passwd[-l][-u][--stdin][-S][-n日数][-x日数][-w日数][-I日期]账号root功能
让账号失效passwd–l账号
让账号恢复正常passwd–u账号
chage[-ldEImMW]账号名(更加详细的的密码参数显示功能)
usermod对账号相关的数据进行微调
usermod[-cdegGlsuLU]username
userdel删除用户相关数据
userdel[-r]username
一般用户功能
检查用户信息:
finger
finger[-s]username
changefinger:
chfn[-foph]username
changeshell:
chsh[-ls]
id[username]
新增和删除用户组
groupadd[-ggid][-r]用户组
groupmod[-ggid][-ngroupname]用户组名
groupdel[groupname]
gpasswd:
用户组管理员功能
系统管理员做的动作:
gpasswdgroupname
gpasswd[-Auser1,…][-Muser3,…]groupname
gpasswd[-rR]groupname
用户组管理员做的动作:
gpasswd[-ad]usergroupname
注:
echo“password”|passwd–stdinusername(设置密码)
ACL
默认的Ext3是启动ACL支持的
ACL的设置技巧:
getfacl:
取得某个文件/目录的ACL设置项目
setfacl:
设置某个文件或目录的ACL规定
setfacl[-bkRd][{-m|-x}acl参数]目标文件
getfaclfilename
mask:
有效权限
用户身份切换
su[-lm][-ccommand][username]
sudo[-b][-u新用户帐号]
visudo处理sudoers文件语法
PAM验证
cat/etc/pam.d/passwd
其它相关文件
limits.conf
/var/log/secure
/var/log/messages
Linux主机上的用户信息传递
查询用户:
w,who,last,lastlog
用户对谈:
write,mesg,wall
write用户帐号[用户所在终端接口]
拒绝接收:
mesgn
Root想所有用户发送广播:
wall
用户邮箱信件:
mailusername@localhost–s“邮件标题” mail 手动新增用户 一些检查工具: pwck: 检查是否输入正确 pwconv pwunconv: 不轻易使用 chpasswd 特殊账号(如纯数字账号)手工新建 11、磁盘配额(Quota)与高级文件系统管理 什么是Quota Quota一般用途: 1针对wwwserver,如每个人的网页空间的容量限制 2针对mailserver,如每个人的邮箱空间限制 3针对fileserver,如每个人的最大可用的网络硬盘空间 4限制某一用户组的最大磁盘配额 5限制某一用户的最大磁盘配额 6以link的方式使邮件可以作为限制的配额 Quota的使用限制 1仅针对整个文件系统 2内核必须支持quota 3Quota的日志文件 4只针对一般用户身份有效 Quota的规范设置选项 1容量限制或文件数量限制(block或inode) 2soft/hard 3会倒计时的宽限时间 实践quota流程1: 文件系统支持 df–h/home mount|grephome 手动加入quota mount–oremount,usrquota,grpquota/home vi/etc/fstab usrquota,grpquota 实践quota流程2: 新建quota配置文件 quotacheck[-avugfM][/mount_point] 实践quota流程3: quota启动、关闭、限制值设置 quotaon: 启动quota服务 quotaon[-avug] quotaon[-vug][/mount_point] quotaoff: 关闭quota服务 quotaoff[-a] quotaoff[-ug][/mount_point] edquota: 编辑账号/用户组的限制值与宽限时间 edquota[-uusername][-ggroupname] edquota–t修改宽限时间 edquota–p范本账号–u新账号 实践quota流程4: quota限制值的报表 quota: 单一用户的quota报表 quota[-uvs][username] quota[-gvs][groupname] requota: 针对文件系统的配额做报表 requota–a[-vugs] 实践quota流程5: 测试与管理 warnquota: 对超过配额者发出警告信 warnquota setquota: 直接于命令中设置quota配额 setquota[-u|-g]名称block(soft)block(hard)inode(soft)inode(hard)文件系统 软件磁盘阵列(SoftwareRAID) 什么是RAID RAID-0: 性能最佳 RAID-1: 完整备份 RAID0+1,RAID1+0 RAID-5: 性能与数据备份的均衡考虑 SpareDisk: 预备磁盘功能 mdadm这套软件管理,以分区或磁盘为单位 mdadm–detail/dev/md0 mdadm–create–auto=yes/dev/md[0-9]–raid-devices=N–level=[015]–spare-devices=N/dev/sdx/dev/hdx cat/proc/mdstat 格式化与挂载使用RAID 仿真RAID错误的救援模式 mdadm–manage/dev/md[0-9][--add设备][--remove设备][--fail设备] 开机自动启动RAID并自动挂载 vi/etc/mdadm.conf vi/etc/fstab加defaults 关闭软件RAID Eg: umount/dev/md0 vi/etc/fstab mdadm–stop/dev/md0 cat/proc/mdstab vi/etc/mdadm.conf 逻辑卷管理器(LVM) PV: 物理卷,LVM最底层物理卷 VG: 卷用户组 PE: 物理扩展块 LV: 逻辑卷 LVM实作流程 PV阶段: pvcreate: 将物理分区新建成PV pvscan: 查询系统里任何具有pv的磁盘 pvdisplay: 显示目前系统pv状态 pvremove: 将pv属性删除,让该分区没有pv属性 VG阶段 vgcreate: 新建VG vgscan: 查找系统上是否有VG存在 vgdisplay: 显示目前系统上面VG状态 vgextend: 在VG内增加额外的PV vgreduce: 在VG内删除PV vgchange: 设置VG是否启动 vgremove: 删除一个VG vgcreate[-sN[mmgt]]VG名称pv名称 LV阶段: lvcreate: 新建LV lvscan: 查找系统上是否有LV存在 lvdisplay: 显示目前系统上面LV状态 lvextend: 在LV里增加容量 lvreduce: 在LV里减少容量 lvremove: 删除一个LV lvresize: 对LV进行容量大小调整 lvcreate[-LN[mgt]][-nLV名称]VG名称 lvcreate[-lN][-nLV名称]VG名称 文件系统阶段 放大LV容量 增减blockgroup利用resize2fs resize2fs/dev/vbirdvg/vbirdlv 缩小LV容量 先降低文件系统容量(如: resize2fs/dev/vbirdvg/vbirdlv6900M) LVM系统快照 lvcreate–l60–s–nvbirdss/dev/vbirdvg/vbirdlv 利用快照恢复系统 12、例行性工作 Linux工作调度: at,cron at: 可以处理仅执行一次就结束调度的命令 crontab: 这个命令所设置的工作会一直循环下去 实际运行单一工作调度 at[-mldv]TIME at–c工作号码 TIME: HH: MM HH: MMYYYY-MM-DD HH: MM[am|pm][Month][Date] HH: MM[am|pm]+number[minutes|hours|days|weeks] 最好使用绝对路径执行你的命令 at工作的管理: 删除该工作 atq atrm[jobnumber] batch: 系统有空时才进行的后台任务 循环执行的例行性工作调度 crontab[-uusername][-l|-e|-r] *****command 分钟小时日期月份周命令 *: 代表任何时刻都接受 ,: 代表分隔时段 -: 代表一段时间范围内 /n: n代表数字 可以用重定向 系统的配置文件: /etc/crontab Cron检测的限制是分钟 MAILTO=root: 当工作发生错误时发送给root PATH=…: 执行后面那串命令的身份 写成script方式执行 资源分配不均问题 取消不要的输出选项 安全的检查 周与日、月不能同时并存 可唤醒停机期间的工作任务: anacron(程序) anacron[-sfn][job].. anacron–u[job].. 13、程序管理与SELinux初探 什么是进程: 触发任何一个事件时,系统就会将它定义成一个进程,并且给予这个进程一个ID,称为PID,同时依据触发这个进程的用户相关属性关系,给予这个PID一组有效的权限设置。 如何产生一个进程? 就是执行一个程序或命令就可以触发一个事件从而取得一个PID。 为了操作系统可以管理这个程序,因此进程有给予执行者的权限属性等参数,并包括进程所需的脚本与数据或文件数据等,最后再给予一个PID。 由一个进程衍生的其他进程在一般情况下,也会沿用这个进程的相关权限。 程序: 通常为二进制文件放置在存储媒介中(如硬盘、光盘、软盘、磁带等),以物理文件的形式存在。 进程: 程序被触发后,执行者的权限与属性、程序的程序代码与所需的数据都会被加载到内存中,操作系统并给予这个内存的单元一个标志符(PID),可以说,进程就是一个正在运行中的程序。 子进程(PID)与父进程(PPID) forkandexec: 过程调用的流程 系统先以fork的方式复制一个与父进程相同的暂存进程,这个进程与父进程唯一的区别是PID不同,但是暂存的进程还会多一个PPID参数,然后暂存进程开始以exec的方式加载实际要执行的程序。 系统或网络服务: 常驻内存的进程 常驻内存的进程通常都是负责一些系统所提供的功能以及服务用户各项任务,因此这些常驻进程会被我们称为服务(daemon)。 Linux下的多用户、多任务环境 每个人登录后取得的shell的PID不同。 多任务行为,linux可以让CPU在各个工作间进行切换。 多重登录环境的七个基本终端窗口(进程死掉时可用) 特殊的进程管理行为 bash环境下的工作管理(jobcontrol) 多用户多任务的系统资源分配问题考虑 工作管理(jobcontrol) 当我们登录系统取得的bashshell之后,在单一终端同时进行的多个工作的行为管理行为 什么是工作管理: 在进行工作管理的行为中,其实每个工作都是目前bash的子进程,即彼此之间都是有关联性的。 我们无法以jobcontrol的方式由tty1的环境去管理tty2的bash。 由于假设我们只有一个终端,因此在可以出现提示符让你操作的环境就称为前台(foreground),至于其他工作就可以让你放入后台(background)去暂停或运行。 要注意的是,放入后台的工作想要运行时,它不能与用户互动。 而且放入后台的工作不可以使用[Ctrl]+c来终止。 Jobcontrol的管理: 直接将命令丢到后台中“执行”的& Eg: tar–zpcf/tmp/etc.tar.gz/etc& 如果有stdout及stderr时,最好利用数据流重定向,将数据输出到某个文件中。 Eg: tar–zpcvf/tmp/etc.tar.gz/etc>/tmp/log.txt2>&1& Jobnumber也搭配一个PID 将目前的工作丢到后台中“暂停”: [Ctrl]-z 查看目前的后台工作状态: jobs job[-lrs] 其实+代表最近被放到后台的工作号码,-代表最近最后第二个被放置到后台的工作号码。 将后台工作拿来前台处理: fg fg%jobnumber 让工作在后台下的状态变成运行中: bg bg%jobnumber 管理后台当中的工作: kill kill–signal%jobnumber kill–l signal: 1,2,9,15 脱机管理问题: 我们在工作管理中提到的“后台”指的是在终端机模式下可以避免的[Ctrl]-c中断的一个情境,并不是放到系统的后台去,工作管理的后台依旧与终端机有关。 nohup可以让你在脱机或注销系统后,还能让工作继续进行。 nohup[命令或参数]在终端机前台中工作 nohup[命令或参数]&在终端机后台中工作 进程管理 进程的查看: ps: 将某个时间点的进程运行情况选取下来 psaux查看系统所有的进程数据 ps–lA也是能够查看所有系统的数据 psaxjf连同部分进程树状态 仅查看自己的bash相关的进程: ps–l F: 进程标志,说明进程的权限 4代表root,1代表此子进程仅进行复制而无法实际执行 S: 进程状态 R: running,S: sleep可被唤醒,D: 不可被唤醒的睡眠状态,T: 停止,Z: “僵尸”状态,进程已经终止但是无法被删除至内存外 UID/PID/PPID: 代表此进程被该UID所拥有/进程的PID号码/此进程的父进程号码PPID C: 代表cpu使用率,单位为百分比 PRI/NI: Priority/Nice的缩写,代表此进程被Cpu所执行的优先级,数值越小代表该进程越快被cpu执行。 ADDR/SZ/WCHAN: 都与内存有关,-代表正在运行中 TTY: 登录者的终端机位置 TIME: 使用掉的cpu时间,是此进程实际花费cpu运行时间,而不是系统时间 CMD: 命令 查看系统所有进程: psaux USER: 该进程属于哪个用户帐号 PID: 该进程的进程标志符 %CPU: 该进程使用掉的CPU资源百分比 %MEM: 该进程所占用的物理内存百分比 VSZ: 该进程使用掉的虚拟内存量(kb) RSS: 该进程占用的固定的内存量(kb) TTY: 该进程在那个终端机上面运行 STAT: 该进程目前状态,状态显示与ps–l的S标识相同 START: 该进程被触发启动的时间 TIME: 该进程实际使用cpu时间 COMMAND: 命令 如果某个进程后面还接 top: 动态查看进程变化 top[-d数字]|top[-bnp] pstree[-A|U][-up] 进程的管理: 通过给予该进程一个信号去告知该进程你想要它做什么 代号名称内容 1SIGHUP启动被终止的进程,让该PID重新读取自己的配置文件,类似重新启动 2SIGINT相当于[ctrl]-c中断一个进程的进行 9SIGKLL强制中断一个进程的进程,如果进行到一半,可能有半成品 15SIGTERM以正常结束进程终止该进程 17SIGSTOP相当于键盘输入[Ctrl]-z暂停一个进程的进行 killlall–signal命令名称 killall[-ile][commandname] 关于进程的执行顺序 Priority与Nice值 PRI值越低越优先,用户无法调整PRI值 PRI(new)=PRI(old)+nice 当nice值为负值,该程序降低PRI值,变得被优先处理 nice[-nnum]command renice: 已存在进程的nice重新调整 renice[number]PID 系统资源的查看 free: 查看内存使用情况 free[-b|-k|-m|-g][-t] 一般来说,swap最好不要被使用。 uname: 查看系统与内核相关信息 uname[-asrmpi] uptime: 查看系统启动时间与工作负载 netstat: 跟踪网络 netstat[-atunlp] dmesg: 分析内核产生的信息 vmstat: 检测系统资源变化 vmstat[-a][延迟[总检测次数]]cpu/内存等信息 vmstat[-fs]内存相关 vmstat[-S单位]设置显示数据的单位 vmstat[-d]与磁盘相关 vmstat[-p分区]与磁盘相关 字段意义: r: 等待运行中的进程数量,b: 不可被唤醒的进程数量,swpd: 虚拟内存被使用容量,free: 未被使用容量,buff: 用于缓冲存储器,cache: 用于高速缓存,si: 由磁盘中将程序取出的量,so: 由于内存不足经常得在磁盘与内存之间传来传去,系统性能很差,bi: 由磁盘写入的块数量,bo: 写入到磁盘去的块数量,in: 每秒被中断的进程次数,cs: 每秒进行的事件切换次数,us: 非内核层的cpu使用状态,sy: 内核层使用的cpu状态,id: 闲置的状态,wa: 等待io所损耗的cpu状态,st: 被虚拟机所盗用的cpu使用状态 特殊文件与程序 具有SUID/SGID权限的命令执行状态(赋予PID相应权限) /proc/*代表的意义 查询已打开文件或已执行程序打开的文件 fuser: 通过文件(文件系统)找出正在使用该文件的程序 fuser[-umv][-k[i][-signal]]file/dir lsof: 列出被进程打开的文件名 lsof[-aUu][+d] pidof: 找出某个正在执行的进程的PID pidof[-sx]program_name SElinux初探 SELinux字面上就是安全强化的linux的意思 传统的文件权限与关系: 自主访问控制DAC,就是依据所有者和文件资源的rwx权限决定有无访问的能力,root具有最高的权限,用户可以取得进程来更改文件资源的访问权限 以策略规则规定特定程序读取特定文件: 委托访问控制,MAC,可以针对特定的进程和特定的文件资源来进行权限的控制 主体(subject): selinux主要想管理的都是进程,可以认为主体=进程 目标(object): 主体进程能否访问的“目标资源”一般就是文件系统。 策略(policy): 根据某些服务制定基本的访问安全性策略,这些策略内还有详细的规则(rule)来制定不同服务开放某些资源的访问与否。 target: 针对网络服务限制较多,针对本机限制较少,是默认的策略 strict: 完整的selinux限制,较严格。 安全上下文(securitycontext) 主体与目标的安全上下文必须一致才可能顺利访问 主体程序必须通过selinux策略内的规则放行后,就可以与目标资源来进行安全上下文的比较,若比较失败则无法访问目标,若成功就可以访问。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 基本 命令