管道
|管道符,将前一个命令的输出作为后一个命令的输入
tee命令
-a追加
catfile1|tr'a-z''A-Z'
catfile1|teefile2|tr'a-z''A-Z'
netstat–an|find'80'
netstat–an|grep'80'
4.2从Shell提示符编辑文本文件
vi/vim
vimtutorvim教程
三种模式
命令模式Command
插入模式Insert
末行模式Last
切换模式
命令模式–>i,a,o,I,A,O->插入模式
命令模式–>:
->末行模式
插入模式/末行模式->ESC->命令模式
末行模式
:
w保存
:
q!
放弃修改,强制退出
:
wq保存并退出
:
x=wq保存并退出
:
setnumber
:
n跳到第n行
:
.!
command插入命令输出结果==命令模式!
!
command
vi配置文件
~\.vimrc
\etc\vimrc所有用户
打开多个文件,切换
nextfirstlast
命令模式
hjkl左下上右
gg跳到第1行
G跳到最后
nG跳到第n行
x删除
r替换
R
u撤销ctrl+r前进
!
!
command
ZZ保存退出
视图
ctrlv
复制快y
p粘贴(当前行的下面)
:
sp分屏spilt
ctrlww
:
only取消分屏
查找
/string查找字符串string
n查找下一个
N查找上一个
/string\c忽略大小写
复制粘贴
复制yynyyy-yank
剪切ddndd
粘贴p
替换
:
s/old/new/第一个
:
s/old/new/g替换一行
:
m,ns/old/new/g替换m行到n行
$最后一行
:
1,$s/old/new/g全文
:
%s/old/new/g全文
:
%s#old#new#g
4.3使用图形编辑器编辑文本文件
gedit
5.管理用户和组
5.1用户和组
5.2获取超级用户访问权限
5.3管理本地用户帐号
5.4管理本地组帐号
5.5管理用户密码
5.1用户和组
用户
进程的所有者,文件的所有者
id命令,显示当前已登录用户信息
ls-l显示文件所有者
uidgid
主组
附加组
Ps查看进程信息
默认无参数,显示当前shell中的进程
-a终端相关的所有进程
-u显示进程相关的用户名
psau
ps–ef
/etc/passwd存储用户信息
username:
password:
UID:
GID:
GECOS:
homedir:
shell
用户UID的使用
0管理员,超级用户
1–200系统内置用户,分配给系统进程使用
201-999系统内置用户,分配给安装的软件作为运行身份使用
1000+常规用户
/sbin/nologin禁止用户登录
组
/etc/group
groupname:
password:
GID:
listOfUser
5.2获取超级用户访问权限
相关命令:
su,sudo
su[-]
su-
suusername
命令
sudo根据/etc/sudoers
/var/log/secure
5.3管理本地用户帐号
相关命令:
useradd,usermod,userdel,passwd,groupadd,groupmod,groupdel
相关文件:
/etc/passwd
/etc/shadow
/etc/login.defs
/etc/gpasswd
/etc/gshadow
课程目标:
创建,修改,删除用户和组,修改用户组身份,设置用户密码
useradd
/etc/login.defs配置文件
usermod
-u指定用户的UID
-c用户注释
-g主组,默认组
-G附加组
-a追加更多的附加组
-d家目录
-m家目录迁移
-s默认shell
-L锁定用户,密码前加了!
-U解锁用户
passwd
userdel
默认家目录和邮件目录保留
-r
5.4管理本地组帐号
groupadd
-g
groupmod
-g
-n改名
groupdel
gpasswd
newgrp临时更改用户主组
5.5管理用户密码
/etc/shadow
chage
-l显示帐号年龄信息
-E过期日期,将帐户过期时间设为“过期日期”
-d最近日期,最后一次更改密码的日期,将最近一次密码设置时间设为“最近日期”
-M最大天数,将两次改变密码之间相距的最大天数设为“最大天数”
-m最小天数,将两次改变密码之间相距的最小天数设为“最小天数”
-w警告天数,过期警告天数设为“警告天数”
-I过期INACTIVE天数后,设定密码为失效状态
1970-01-01
date-d+”60days”+%F
chage–E$(date-d+”60days”+%F)username
-d0下一下次登录强制要求修改密码
6.利用Linux文件系统权限控制文件访问
6.1Liunx文件系统权限
6.2从命令行管理文件权限
6.3管理默认权限和文件访问
6.1Liunx文件系统权限
r读权限对于文件,代表用户可以读取文件的内容
对于目录,代表用户可以对目录里的内容进行列表ls
w写权限对于文件,代表用户可以修改文件的内容
对于目录,代表用户可以在目录里创建、删除文件、修改文件名
x执行权限对于文件,代表用户可以执行(运行)文件,如果这个文件是可执行文件(命令,脚本)
对于目录,代表用户可以进入到该目录cd
用户对目录拥有基本访问操作,必须具备rx权限
所有者
每个文件和目录都有一个用户所有者(属主)和组所有者(属组)
三种访问级别:
ugo
u–用户所有者owner
g–组所有者group
o–其他用户other
6.2从命令行管理文件权限
相关命令:
chmod,chown,chgrp
相关文件:
课程目标:
设置权限
文字设定法
数值设定法
文字设定法
chmod命令(changemode)
Linux、UNIX系统中,文件的权限经常被称为文件的“模式(mode)”
chmod[-R][ugoa][[+-=][rwx]][,...]
-R递归修改子目录及文件的权限
chmodu+rwx
chmodo-r
chmodug+rx
chmodgo=rx
chmodu=rwx,g=rx,o=rx
数值设定法
“八进制”语法
r=4w=2x=1
rwxr-xr-x=755
rw-r-----=640
rw-r—-r--=644
chmod755File
chmod644File
改变文件所有者
chgrp命令
chown命令
chgrpGroupFile
chown[-R]User[:
Group]File
6.3管理默认权限和文件访问
特殊权限(特权位),
特殊权限包括:
SUID(Set-UID)、SGID(Set-GID)、sticky-bit
sticky-bit也称作:
粘滞位,粘贴位
三个特殊权限位,是在可执行程序运行时影响操作权限的。
一个可执行文件,默认以当前登录的用户身份运行。
特殊权限位的含义
特殊权限
对文件的影响
对目录的影响
u+s
SUID
一个设置了SUID位的可执行文件,以文件用户所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。
任意存取该文件所有者能使用的全部系统资源。
如果所有者是root的话,那么执行者就拥有超级用户的权限了。
无影响
g+s
SGID
一个设置了SGID位的可执行文件,以文件组所有者的身份执行文件,可以任意存取组所有者所能使用的系统资源;
若一个目录设置了SGID,在该目录中新创建的文件,其组所有者会被设置为这个目录的组所有者。
除非在复制文件时加上-p(Preserve,保留文件属性)的参数,才能保留原来所属的组设置
o+t
sticky-bit
无影响
对一个目录设置了sticky-bit之后,存放在该目录下的文件仅允许其所有者(属主)执行删除、移动等操作
一个设置了SUID的典型例子是/usr/bin/passwd程序,passwd程序通过修改/etc/passwd文件中的口令字段,允许普通用户改变自己的口令。
然而普通用户没有权限修改/etc/passwd文件。
当/usr/bin/passwd程序执行时将拥有root权限,以root身份修改/etc/shadow文件,程序运行结束又回到普通用户的权限
[user@sys]$ls–l/usr/bin/passwd
-rwsr-xr-x1rootroot271322007-07-1110:
39/usr/bin/passwd
一个设置了sticky-bit的典型例子是系统临时文件目录/tmp,这避免了不守法的用户存心搞鬼,恣意乱删其他用户放置的文件
[user@sys]$ls–ld/tmp
drwxrwxrwt4rootroot1682007-07-1110:
59/tmp
SUID占用用户所有者的x位置来表示,为小写字母“s”
SGID占用组所有者的x位置来表示,同样为小写字母“s”
sticky-bit占用其他用户的x位置来表示,为小写字母“t”
如果看到的为大写字母“SST”,则表示缺少相应的执行权限“x”。
由于3种特殊权限作用在可执行文件上,所以大写S和T标识字符很少见。
设置特殊权限
文字设定法
数值设定法
suid,sgid,sticky
u+s,g+s,o+t
4,2,1
文字设定法
chmod[-R][ugoa][[+-=][rwxst]][,...]
数值设定法
SUID=4SGID=2sticky-bit=1
chmod[-R][n]nnn
chmodu=rws,g=rx,o=rx
chmod4755
默认权限
文件
默认权限
666
777
掩码
002
实际权限
664
775
默认掩码002或0002
老版本默认掩码022或0022
666-022=644
777-022=755
666-027=640
umask命令
umask[mode]
[user@sys11]$umask
0002
[user@sys11]$umask022
[user@sys11]$umask077
普通文件,基于安全原因,默认不会自动获取x权限,不会出现0666-0011=0655
[user@sys11]$umask0011
[user@sys11]$touche1
[user@desktop~]$ls–le1
-rw-rw-rw-.1useruser04月2516:
20e1
普通用户默认掩码0002
管理员默认掩码0022
/etc/profile
/etc/bashrc
~/.bash_profile
~/.bashrc
[user@sys11]$vi~/.bashrc
umask077
7.监控和管理Linux进程
7.1进程
7.2控制作业
7.3中断进程
7.4监控进程活动
7.1进程
进程,一个可执行程序运行后的一个实例
分配内存的地址空间
进程的运行身份和权限的安全属性
一个或者多个线程
进程状态
进程的运行环境,包括:
局部变量和全局变量
当前的调度上下文
已经分配给进程使用的系统资源,例如:
文件描述符、网络端口等
PID,PPID
子进程继承父进程的环境变量
每个进程都有自己的进程ID(PID),对应的父进程ID(PPID)
RHEL7里,所有进程都是由systemd这个进程派生出来的子进程
pstree
进程状态:
man7signal
RRunning运行
SSleeping中断的睡眠状态睡眠
D不可中断的睡眠状态
K可被结束的不可中断的睡眠状态
TsTopped停止/暂停
Z