Linux常用命令(五)——系统安全命令(未拓展)

1、passwd

①、作用:

修改账户的登陆密码,使用权限是所有用户

②、格式:

passwd [选项] 账户名称

③、主要参数:

-l
锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用
-u
解开账户锁定状态,只有具备超级用户权限的使用者方可使用
-x,--maximum=DAYS
最大密码使用时间(天),只有具备超级用户权限的使用者方可使用
-n,--minimum=DAYS
最小密码使用时间(天),只有具备超级用户权限的使用者方可使用
-d
删除使用者的密码, 只有具备超级用户权限的使用者方可使用
-S
检查指定使用者的密码认证种类, 只有具备超级用户权限的使用者方可使用

④、应用技巧:

使用passwd命令需要输入旧的密码,然后再输入两次新密码


2、su

①、作用:

变更为其它使用者的身份,超级用户外需要键入该使用者的密码

②、格式:

su [选项]... [-] [USER [ARG]...]

③、主要参数:

-f,--fast
不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell
-l,--login
加了这个参数之后,就好像是重新登陆为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root
-m,-p,--preserve-environment
执行su时不改变环境变数
-c command
变更账号为USER的使用者,并执行指令(command)后再变回原来使用者
USER
欲变更的使用者账号,ARG传入新的Shell参数

④、应用技巧:

变更账号为超级用户,并在执行df命令后还原使用者:
su -c df root


3、umask

①、作用:

设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入profile文件,就可控制该用户后续所建文件的存取许可,它告诉系统在创建文件时不给谁存取许可,使用权限是所有用户

②、格式:

umask [-p] [-S] [mode]

③、主要参数:

-S
确定当前的umask设置
-p
修改umask设置
[mode]
修改数值

④、应用技巧:

显示当前状态:
umask -S
u=rwx,g=rx,o=rx
把umask值改为177:
umask -p 177
umask -S
u=rw,g=,o=
结果只有文件所有者具有读写文件的权限,其它用户不能访问该文件,这是一种非常安全的设置


4、chgrp

①、作用:

修改一个或多个文件或目录所属的组,使用权限是超级用户

②、格式:

chgrp [选项]... 组 文件...

chgrp [选项]... --reference=参考文件 文件...
将每个<文件>的所属组设定为<组>

③、主要参数:

-c,--changes
像--verbose,但只在有更改时才显示结果
--dereference
会影响符号链接所指示的对象,而非符号链接本身
-h, --no-dereference
会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)
-f,--silent,--quiet
去除大部分的错误信息
--reference=参考文件
使用<参考文件>的所属组,而非指定的<组>
-R,--recursive
递归处理所有的文件及子目录
-v,--verbose
处理任何文件都会显示信息

④、应用技巧:

该命令改变指定指定文件所属的用户组,其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名,文件名是以空格分开的要改变属组的文件列表,支持通配符,如果用户不是该文件的属主或超级用户,则不能改变该文件的组
改变/opt/local/book/及其子目录下的所有文件的属组为book,命令如下:
chgrp -R book /opt/local/book


5、chmod

①、作用:

用于改变文件或目录的访问权限,用户可以用它控制文件或目录的访问权限,使用权限是超级用户

②、格式及主要参数:

chmod命令有两种用法:
一种是包含字母和操作符表达式的字符设定法(相对权限设定)
一种是包含数字的数字设定法(绝对权限设定)
(1)、字符设定法:
chmod [who] [+ | - | =] [mode] 文件名
◆操作对象who可以是下述字母中的任一个或它们的组合
u
表示用户,即文件或目录的所有者
g
表示同组用户,即与文件属主有相同组ID的所有用户
o
表示其它用户
a
表示所有用户,它是系统默认值
◆操作符号
+
添加某个权限
-
取消某个权限
=
赋予给定权限,并取消其它所有权限(如果有的话)
◆设置mode的权限可用下述字母的任意组合
r
可读
w
可写
x
可执行
X
只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性
s
文件执行时把进程的属主或组ID置为该文件的文件属主,方式“u+s”设置文件的用户ID位,“g+s”设置组ID位
t
保存程序的文本到交换设备上
u
与文件属主拥有一样的权限
g
与和文件属主同组的用户拥有一样的权限
o
与其它用户拥有一样的权限
文件名
以空格分开的要改变权限的文件列表,支持通配符
一个命令行中可以给出多个权限方式,其间用逗号隔开
(2)、数字设定法:
数字设定法的一般形式为: chmod [mode] 文件名
数字属性的格式应为3个0到7的八进制数,其顺序是(u)(g)(o)文件名,以空格分开的要改变权限的文件列表,支持通配符
数字表示的权限的含义如下:
0001为所有者的执行权限
0002为所有者的写权限
0004为所有者的读权限
0010为组的执行权限
0020 为组的写权限
0040为组的读权限
0100为其他人的执行权限
0200为其他人的写权限
0400为其他人的读权限
1000为粘贴位置位
2000表示假如这个文件是可执行文件,则为组ID为位置位,否则其中文件锁定位置位
4000表示假如这个文件是可执行文件,则为用户ID为位置位

③、应用技巧:

如果一个系统管理员写了一个表格(tem)让所有用户填写,那么必须授权用户对这个文件有读写权限,可以使用命令:
chmod 666 tem
这个666数字是如何计算出来的呢:
0002为所有者的写权限,0004为所有者的读权限,0020为组的写权限,0040为组的读权限, 0200为其他人的写权限,0400为其他人的读权限,这6个数字相加就是666(注以上数字都是八进制数)
如果用字符权限设定使用下面命令:
chmod a =wx tem


6、chown

①、作用:

更改一个或多个文件或目录的属主和属组,使用权限是超级用户

②、格式:

chown [选项] 用户或组文件

③、主要参数:

--dereference
受影响的是符号链接所指示的对象,而非符号链接本身
-h,--no-dereference
会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)
--from=目前所有者
目前组只当每个文件的所有者和组符合选项所指定的,才会更改所有者和组,其中一个可以省略,这已省略的属性就不需要符合原有的属性
-f,--silent,--quiet
去除大部分的错误信息
-R,--recursive
递归处理所有的文件及子目录
-v,--verbose
处理任何文件都会显示信息

④、应用技巧:

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或用户ID,组可以是组名或组ID,文件是以空格分开的要改变权限的文件列表,支持通配符
系统管理员经常使用chown命令,在将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限
(1)、把文件shiyan.c的所有者改为wan
chown wan shiyan.c
(2)、把目录/hi及其下的所有文件和子目录的属主改成wan,属组改成users
chown -R wan.users /hi


7、chattr

①、作用:

修改ext2和ext3文件系统属性(attribute),使用权限超级用户

②、格式:

chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录

③、主要参数:

-R
递归处理所有的文件及子目录
-V
详细显示修改内容,并打印输出
-
失效属性

激活属性

指定属性
A
Atime,告诉系统不要修改对这个文件的最后访问时间
S
Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
a
Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件,如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件
i
Immutable,系统不允许对这个文件进行任何的修改,如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件
D
检查压缩文件中的错误
d
No dump,在进行文件系统备份时,dump程序将忽略这个文件
C
Compress,系统以透明的方式压缩这个文件,从这个文件读取时,返回的是解压之后的数据,而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘
s
Secure Delete,让系统在删除这个文件时,使用0填充文件所在的区域
u
Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件

④、应用技巧:

chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现
同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持,另外,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录,chattr命令不能保护/、/dev、/tmp、/var目录
(1)、恢复/root目录,即子目录的所有文件:
chattr -R +u/root
(2)、用chattr命令防止系统中某个关键文件被修改:
chattr +i /etc/fstab


8、sudo

①、作用:

以限制配置文件中的命令为基础,在有限时间内给用户使用,并且记录到日志中的命令,权限是所有用户

②、格式:

sudo [-bhHpV] [-s <shell>] [-u <用户>] [指令]
sudo [-klv]

③、主要参数:

-b
在后台执行命令
-h
显示帮助
-H
将HOME环境变量设为新身份的HOME环境变量
-k
结束密码的有效期,即下次将需要输入密码
-l
列出当前用户可以使用的命令
-p
改变询问密码的提示符号
-s <shell>
执行指定的Shell
-u <用户>
以指定的用户为新身份,不使用时默认为root
-v
延长密码有效期5分钟

④、应用技巧:

sudo命令的配置在/etc/sudoers文件中,当用户使用sudo时,需要输入口令以验证使用者身份,随后的一段时间内可以使用定义好的命令,当使用配置文件中没有的命令时,将会有报警的记录
sudo是系统管理员用来允许某些用户以root身份运行部分/全部系统命令的程序,一个明显的用途是增强了站点的安全性,如果需要每天以超级用户的身份做一些日常工作,经常执行一些固定的几个只有超级用户身份才能执行的命令,那么用sudo是非常适合的


9、ps

①、作用:

显示瞬间进程 (process) 的动态,使用权限是所有使用者

②、格式:

ps [options] [--help]

③、主要参数:

-A
列出所有的进程
-l
显示长列表
-m
显示内存信息
-w
显示加宽可以显示较多的信息
-e
显示所有进程
a
显示终端上的所有进程,包括其它用户的进程
-au
显示较详细的信息
-aux
显示所有包含其它使用者的进程

④、应用技巧:

要对进程进行监测和控制,首先要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本、也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行、运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等
在进行系统维护时,经常会出现内存使用量惊人,而又不知道是哪一个进程占用了大量进程的情况,除了可以使用top命令查看内存使用情况之外,还可以使用下面的命令:
ps aux | sort +5n


10、who

①、作用:

显示系统中有哪些用户登陆系统,显示的资料包含了使用者ID、使用的登陆终端、上线时间、呆滞时间、CPU占用,以及做了些什么,使用权限为所有用户

②、格式:

who -[husfV] [user]

③、主要参数:

-h
不要显示标题列
-u
不要显示使用者的动作/工作
-s
使用简短的格式来显示
-f
不要显示使用者的上线位置
-V
显示程序版本

④、应用技巧:

该命令主要用于查看当前在线上的用户情况,如果用户想和其它用户建立即时通信,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来,又或者系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命令,who命令应用起来非常简单,可以比较准确地掌握用户的情况


11、小技巧:

①、限制su命令的滥用:

超级用户在Linux中有最大的权利,几乎所有黑客都想得到这个目标,Linux可以增加对切换到超级用户的限制
使用PAM(Pluggable Authentication Modules)可以禁止除在wheel组以外的任何人su成root,修改/etc/pam.d/su文件,除去屏蔽标识#
另外,每当用户试图使用su命令进入系统用户时,命令将在/usr/adm/sulog文件中写一条信息,若该文件记录了大量试图用su进入root的无效操作信息,则表明了可能有人企图破译root口令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值