» 网友学堂 » LINUX教程 » Linux安全概述之用户账号 -> 查看 2007年01月20日 更新
Linux安全概述之用户账号
作者:暖月 发表时间:2007-1-20 23:52 阅读:502次 在百度搜索相关内容

我们知道[M$]的windows是漏洞百出,但是大部分时候我们都在忍受,因为widows的易用性使我们很难舍弃它这个千疮百孔的东东。但是随着Linux内核的不断升级和图形交互界面的不断完善,越来越多的人开始尝试使用Linux这个对他们来说还相当新奇的OS.但是事实上并没有东西是十全十美的,除了系统本身的因素之外,很多人为的原因都会造成这个许多人认为比Ms Windows安全的OS变得不安全。在接下来,我们会讨论在安装了一个Linux后在安全方面应该注意的一些基本的方面。嘿嘿!!!!!!


Linux的的所有管理功能都由单个账号享有,它就是root,说白了就相当于win2k的administrator账号,叫法不同罢了。


Root使你能够对所有资源做最大的调整,你还可以有权直接允许或拒绝单个用户,一部分用户或所有用户的的访问。Root可以控制用户访问权限及其用户存放文件的位置,还可以控制用户可以访问哪些资源,以及用户如何得知哪些资源可以被访问。


很多人都奇怪,为什么自己需要除了root之外的令一个账号,难道不可以直接使用root吗??答案是很明确的,绝对不要把root使用于个人目的,除非在有绝对必要的情况下,比如说系统恢复等。为何要这么做呢?首先,如果你拥有root的绝对使用权,文件和访问控制对你来说没有任何意义,你可以在任何时间对他们进行改动。但是,如果对这种权利进行滥用则会造成不必要的损失。其次,如果你直接使用root则会把你的系统暴露在无法预测的安全威胁之下。


接下来我将把账号的创建和管理分四部分来讨论


账号策略


一般来说一个账号包含两个要素:一是授权登陆,另一是授权访问。


授权登陆是用户的一种特权,是不可以随意授权的。如果你为用户提供重要服务的同时而又不赋予他们shell访问访问权限,那就别授予。Shell访问是指用户用户利用远程telnet访问服务器的本地shell,这是不太好的事情,会招致很多麻烦。比如说恶意shell用户可以使用远程攻击文件和服务。


如果在建立linux网络时必须授予用户shell访问权,可以采取以下措施减少隐患


单独设立一台机器用于shell访问,使此机器仅做shell用途


不在此机上安装任何多余的服务


备份系统,最好系统恢复的准备


不合其它机器建立信任关系


转移二进制文件到no setuid方式挂装的分区,把重要文件系统分放不同分区


充分保证日志的使用性,保证记录日志,重定向日志储存。


账号结构


一个账号应该包括


有效的用户名和密码


主目录


shell访问权


当用户登陆linux时,linux会核对passwd文件,以确定正确与否。


Passwd文件包含着账户号的条目,它存放于/etc/passwd。


我们来分析一个账号条目


gouy2k(用户名):x(经过加密的密码):0(用户ID):0(组ID):Wokao(真实姓名):/home/gouy2k(用户主目录):/bin/bash(用户shell)


在创建账号时,你的自动账号管理工具会创建一些目录,包括新用户的主目录,一般是/home/user.


3.添加和删除用户


首先是添加用户,有以下几种方式


使用命令行工具


我们可以使用adduser命令


$adduser username


然后我们运行$passwd password来设置密码为password


另外是adduser可以自动设置一些值,包括UID,GID等。


要注意的是如果你安装了隐藏套件,则最好把linux用户密码存放在别处。因为它会暴露用户口令给一般用户。


使用图形方式


比如说很流行的linuxconf,这里就不做详细说明,请参看关于其介绍文章。


手动编辑/etc/passwd来添加用户


对于初学者来说,这种方法不推荐,因为不太安全,嘿嘿。


当手动编辑时可以使用vipw.


然后是删除用户


如果没有使用口令shadow,则可以把用户条目从/etc/passwd删除,然后把用户主目录删除(/home/username)。不过从/etc/passwd删除用户条目时记住用vipw,删除用户目录时键入


rm -r /home/username.


当使用了口令隐藏则必须使用userdel来删除用户


$ /user/sbin/userdel username


4.处理特殊账号


我在上面说过了,root是不可以随便使用的,但是为了达到使用root来管理系统的目的,我们可以使用su命令。


Su可以是你使用别人的用户ID和组ID来运行shell,但要知道真确的密码。只要运行


$su


就可以暂时变成root,但linux会提示输入密码。


当我们需要授权其它用户以root身份运行某些命令时我们可以使用sudo命令。


――――――――――――――――――――――――――――――――――


当然,密码是和账号不可分割的,当我们需要登陆linux时,口令是很重要的,尤其是允许远程登陆的linux服务器,密码则显得尤其重要,如果没有密码的保障,其它的一切安全措施都会显得脆弱。


要做到真正保障密码的安全,我们可以采取以下措施


安装shadow


设计有效的口令策略


加强系统抵抗口令攻击的能力

#Advertisement