解析Linux系统安全的命令

   虽然Linux和Windows NT/2000系统一样是一个多用户的系统,但是它们之间有不少重要的差别。对于很多习惯了Windows系统的管理员来讲,如何保证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.作用

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

  2.格式

  su [选项]... [-] [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=

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

  chgrp

  1.作用

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

  2.格式

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

  或

  chgrp [选项]... --reference=参考文件 文件...

  将每个<文件>的所属组设定为<组>。

  3.参数

  -c, --changes :像 --verbose,但只在有更改时才显示结果。

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

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

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

  --reference=参考文件:使用<参考文件>的所属组,而非指定的<组>。

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

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

  4.应用说明

  该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

  5.应用实例

  改变/opt/local /book/及其子目录下的所有文件的属组为book,命令如下:

  $ chgrp - R book /opt/local /book

  chmod

  1.作用

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

  2.格式

  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为位置位。

  3.实例

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

  上面代码中,这个666数字是如何计算出来的呢?0002为所有者的写权限,0004为所有者的读权限,0020为组的写权限,0040为组的读权限, 0200为其他人的写权限,0400为其他人的读权限,这6个数字相加就是666(注以上数字都是八进制数),tem文件的权限是-rw-rw-rw-,即用户对这个文件有读写权限。

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

  #chmod a =wx tem

时间: 2024-12-22 02:01:54

解析Linux系统安全的命令的相关文章

MySQL在Linux系统中隐藏命令行中的密码的方法

  这篇文章主要介绍了MySQL在Linux系统中隐藏命令行中的密码的方法,作者利用简单的C程序实现,需要的朋友可以参考下 在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码. 假设我这里系统里两个用户,一个是root ,一个是dabu .测试系统为centos 6.5在按照下面的步骤做: ? 1 2 3 4 [r

Linux系统下apachectl命令使用说明

  linux中的apachectl命令其设计意图是帮助管理员控制Apache httpd后台守护进程的功能.apachectl脚本有两种操作模式.第一,作为简单的httpd的前端程序,设置所有必要的环境变量,然后启动httpd ,并传递所有的命令行参数.第二,作为SysV初始化脚本,接受简单的一个单词的参数,如:start, restart, stop ,并把他们翻译为适当的信号发送给httpd .下面就和小编一起看看Linux系统apachectl命令使用说明的详细版本吧! 功能说明:可用来

详解Linux系统中md5sum命令的用法

  这篇文章主要介绍了详解Linux系统中md5sum命令的用法,用来处理MD5验证的相关操作,需要的朋友可以参考下 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的"指纹"(或称"报文摘要"),不同的文件产生相 同的报文摘要的可能性是非常非常之小的. 在linux或Unix上,

linux系统防火墙iptables命令规则及配置

防火墙概述: 在互联网上我们的主机随时都有被攻击的可能,因此我们需要用到防火墙机制来保护我们互联网上的主机,在我们主机上面,防火墙主要是通过一些规则来限制一些不安全因素的网络信息传输,准确的说,防火墙就是制定一些有顺序的规则,来管理所负责的范围内的主机数据封包的一种机制,通过防火墙我们能够分析和过滤进出主机或者网络的封包数据,从而将一些不安全因素的包隔离开. iptables与netfilter: Linux上的防火墙是由iptables/netfilter组成,iptables是基于netfi

linux系统中ls命令的用法

普通文件: -,f目录文件: d链接文件(符号链接): L设备文件:字符设备:c块设备:b命名管道: p套接字文件: s linux文件时间戳 时间分为三种类型:创建时间,修改时间:open访问时间:读写改变时间:源数据发生改变时间   4. ls -s 在每个文件的后面打印出文件的大小. size(大小,以K为单位)5. ls -t 按时间进行文件的排序 Time(时间)6. ls -A 列出除了"."和".."以外的文件.7. ls -R 将目录下所有的子目录的

linux系统防火墙iptables命令规则及配置的示例

linux系统防火墙iptables命令规则及配置的示例(本机IP为172.16.63.7): 1.允许172.16网段内的主机访问: #iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.63.7 -j ACCEPT 译:-t表,默认filter -A追加规则 INPUT进入 -s检查源 -d检查目标 -j处理动作 ACCEPT接受:入栈的目标是本机所以-d是本机IP: 2.以数值格式显示详细信息,列出表中链上的规则: #iptable

Linux系统中‘dmesg’命令处理故障和收集系统信息的7种用法

Linux系统中'dmesg'命令处理故障和收集系统信息的7种用法 'dmesg'命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构.cpu.挂载的硬件,RAM等多个运行级别的大量的系统信息.当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中.在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备. dmesg Command Examples dmesg 命令的使用范例 'dmesg'命令设备故障的诊断是非常重要的.在'dmesg'命令的帮助下

深入解析Linux系统中的SELinux访问控制功能

  SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统.NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件.SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到. SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制

解析Linux系统中的/proc虚拟文件系统

  Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构. 改变内核设置的机制.尽管在各种硬件平台上的 Linux 系统的 /proc 文件系统的 基本概念都是相同的,但本文只讨论基于 intel x86 架构的 Linux /proc 文件系 统. /proc --- 一个虚拟文件系统 /proc 文件系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc).这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的