文件的所有关系是可以改变的,可以将文件或目录的所有权转让给其它用户,但只有文件主或root用户才有权改变文件的所有关系。文件的所有权的标志是用户ID(UID)。 利用chown命令可以更改某个文件或目录的所有权。例如请看如下
文件的所有关系是可以改变的,可以将文件或目录的所有权转让给其它用户,但只有文件主或root用户才有权改变文件的所有关系。文件的所有权的标志是用户ID(UID)。
利用chown命令可以更改某个文件或目录的所有权。例如,超级用户把自己的一个文件myfile拷贝给用户xu。为了让用户xu能够存取这个文件,超级用户(root)应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件,命令如下:
chownxumyfile
如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的权限。
系统管理员经常使用chown命令,以便将文件拷贝到另一个用户的目录下以后,让该用户拥有使用该文件的权限。
(2)用户组
在Linux下,每个文件又同时属于一个用户组。当创建一个文件或目录时,系统会赋予它一个用户组关系,用户组的所有都可以使用此文件或目录。
文件用户组关系的标志是GID。文件的GID只能由文件主或超级用户(root)来修改。chgrp命令可以改变文件的GID。
(3)用户和权限
Linux系统中的每个文件和目录都有存取许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
Linux系统中了四种不同类型的用户,即文件主(owner)、同组用户(group)、可以访问系统的其它用户(others)、超级用户(root),具有管理系统的。
存取权限三种访问文件或目录的方式:读(r)、写(w)、可执行或查找(x)。
当用“ls-l”命令显示文件或目录的详细信息时,最左边的一列为文件的存取权限,其中各位的含义如图4所示。
图4文件权限表示
◆文件的存取权限
读权限(r)表示只允许指定用户读取相应文件的内容,而对它做任何的更改操作。将所访问的文件的内容作为输入的命令都需要有读的权限。例如cat、more等。
写权限(w)表示允许指定用户打开并修改文件。例如命令vi、cp等。
执行权限(x)表示允许指定用户将该文件作为一个程序执行。
◆目录的存取权限
在ls命令后加上-d选项,可以了解目录文件的使用权限。
读权限(r)表示可以列出存储在该目录下的文件,即读目录内容列表。这一权限允许Shell使用文件扩展名列出相匹配的文件名。
写权限(w)表示允许用户从目录中删除或添加新的文件,通常只有文件主才有写权限。
虽然Linux和WindowsNT/2000系统一样是一个多用户的系统,但是它们之间有不少重要的差别。对于很多习惯了Windows系统的管理员来讲,如何Linux操作系统安全、可靠将会面临许多新的挑战。本文将重点介绍Linux系统安全的命令。
passwd
1.作用
passwd命令原来修改账户的登陆密码,使用权限是所有用户。
2.格式
passwd[选项]账户名称
3.主要参数
-l:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。
-u:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。
-x,--maximum=DAYS:最大密码使用时间(天),只有具备超级用户权限的使用者方可使用。
-n,--minimum=DAYS:最小密码使用时间(天),只有具备超级用户权限的使用者方可使用。
-d:删除使用者的密码,只有具备超级用户权限的使用者方可使用。
-S:检查指定使用者的密码认证种类,只有具备超级用户权限的使用者方可使用。
4.应用实例
$passwd
Changingpasswordforusercao.
Changingpasswordforcao
(current)UNIXpassword:
NewUNIXpassword:
RetypenewUNIXpassword:
passwd:allauthenticationtokensupdatedsuccessfully.
从可以看到,使用passwd命令需要输入旧的密码,然后再输入两次新密码。
su
1.作用
su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。
2.格式
su[选项]...[-][USER[ARG]...]
3.主要参数
-f,--st:不必读启动文件(如csh.cshrc等),仅用于csh或tcsh两种Shell。
-l,--login:加了这个参数之后,就好像是重新登陆为该使用者一样,大部分变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。
-m,-p,--preserve-environment:执行su时不改变变数。
-ccommand:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
USER:欲变更的使用者账号,ARG传入新的Shell参数。
4.应用实例
变更账号为超级用户,并在执行df命令后还原使用者。su-cdfroot
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中,加上一行命令umask0077可以每次启动Shell后,进程的umask权限都可以被正确设定。
5.应用实例
umask-S
u=rwx,g=rx,o=rx
umask-p177
umask-S
u=rw,g=,o=
上述5行命令,首先显示当前状态,然后把umask值改为177,结果只有文件所有者具有读写文件的权限,其它用户不能访问该文件。这显然是一种非常安全的设置。
tags:192.168.1.7