Linux系统安全命令简介(新手)

最近开始研究Linux,但发现最基础的安全命令都没有掌握,所以从网上搜集了一下,跟大家一起学习。

passwd

1.作用

passwd命令原来修改账户的登陆密码,使用权限是所有用户。

2.格式

passwd [选项] 账户名称

3.主要参数 

-l:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。

-u:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。

-x, --maximum=DAYS:最大密码使用时间(天),只有具备超级用户权限的使用者方可使用。

-n, --minimum=DAYS:最小密码使用时间(天),只有具备超级用户权限的使用者方可使用。

-d:删除使用者的密码, 只有具备超级用户权限的使用者方可使用。

-S:检查指定使用者的密码认证种类, 只有具备超级用户权限的使用者方可使用。

4.应用实例

$ passwd

Changing password for user cao.

Changing password for cao

(current) UNIX password:

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

从上面可以看到,使用passwd命令需要输入旧的密码,然后再输入两次新密码。

su

1.作用

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

2.格式 

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

3.主要参数

-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参数。

4.应用实例

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

umask

1.作用

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

2.格式

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

3.参数

-S:确定当前的umask设置。

-p:修改umask 设置。 

[mode]:修改数值。

4.说明

传统Unix的umask值是022,这样就可以防止同属于该组的其它用户及别的组的用 户修改该用户的文件。既然每个用户都拥有并属于一个自己的私有组,那么这种“组保护模式”就不在需要了。严密的权限设定构成了Linux安全的基础,在权 限上犯错误是致命的。需要注意的是,umask命令用来设置进程所创建的文件的读写权限,最保险的值是0077,即关闭创建文件的进程以外的所有进程的读 写权限,表示为-rw-------。在~/.bash_profile中,加上一行命令umask 0077可以保证每次启动Shell后, 进程的umask权限都可以被正确设定。

5.应用实例

umask -S

u=rwx,g=rx,o=rx

umask -p 177

umask -S

u=rw,g=,o=

BR>

上述5行命令,首先显示当前状态,然后把umask值改为177,结果只有文件所有者具有读写文件的权限,其它用户不能访问该文件。这显然是一种非常安全的设置。

chmod 

1.作用

chmod命令是非常重要的,用于改变文件或目录的访问权限,用户可以用它控制文件或目录的访问权限,使用权限是超级用户。

2.格式

chmod命令有两种用法。一种是包含字母和操作符表达式的字符设定法(相对权限设定);另一种是包含数字的数字设定法(绝对权限设定)。

(1)字符设定法

chmod [who] [+ | - | =] [mode] 文件名

◆操作对象who可以是下述字母中的任一个或它们的组合

u:表示用户,即文件或目录的所有者。

g:表示同组用户,即与文件属主有相同组ID的所有用户。

o:表示其它用户。

a:表示所有用户,它是系统默认值。

◆操作符号

+:添加某个权限。

-:取消某个权限。

=:赋予给定权限,并取消其它所有权限(如果有的话)。

◆设置mode的权限可用下述字母的任意组合

r:可读。

w:可写。

x:可执行。

X:只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。

:文件执行时把进程的属主或组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为位置位。

3.实例

如果一个系统管理员写了一个表格(tem)让所有用户填写,那么必须授权用户对这个文件有读写权限,可以使用命令:#chmod 666 tem

上面代码中,这个666数字是如何计算出来的呢?0002为所有者的写权限,0004为 所有者的读权限,0020为组的写权限,0040为组的读权限,0200为其他人的写权限,0400为其他人的读权限,这6个数字相加就是666(注以上 数字都是八进制数),结果见图1所示。

图1 用chmod数字方法设定文件权限

从图1可以看出,tem文件的权限是-rw-rw-rw-,即用户对这个文件有读写权限。

如果用字符权限设定使用下面命令:

#chmod a =wx tem

chown

1.作用

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

2.格式

chown [选项] 用户或组 文件

3.主要参数

--dereference:受影响的是符号链接所指示的对象,而非符号链接本身。

-h, --no-dereference:会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。

--from=目前所有者:目前组只当每个文件的所有者和组符合选项所指定的,才会更改所有者和组。其中一个可以省略,这已省略的属性就不需要符合原有的属性。

-f, --silent, --quiet:去除大部分的错误信息。

-R, --recursive:递归处理所有的文件及子目录。

-v, --verbose:处理任何文件都会显示信息。

sudo

1.作用

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

2.格式

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

sudo [-klv]

3.主要参数 

-b:在后台执行命令。

-h:显示帮助。

-H:将HOME环境变量设为新身份的HOME环境变量。

-k:结束密码的有效期,即下次将需要输入密码。

-l:列出当前用户可以使用的命令。

-p:改变询问密码的提示符号。

-s :执行指定的Shell。

-u <用户>:以指定的用户为新身份,不使用时默认为root。

-v:延长密码有效期5分钟。

4.说明

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

ps 

1.作用

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

2.格式

[options] [--help]

3.主要参数

的参数非常多, 此出仅列出几个常用的参数。

-A:列出所有的进程。

-l:显示长列表。

-m:显示内存信息。

-w:显示加宽可以显示较多的信息。

-e:显示所有进程。

a:显示终端上的所有进程,包括其它用户的进程。

-au:显示较详细的信息。

-aux:显示所有包含其它使用者的进程。

4.说明

       要对进程进行监测和控制,首先要了解当前进程的情况,也就是需要查看当前进程s命令就是最基本、也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行、运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等。

你可能感兴趣的:(linux,命令)