一、Linux 的安全性
Linux系统使用一个专门的/etc/passwd文件来将用户的登录名匹配到对应的UID值。
/etc/passwd文件的字段包含了:
登录用户名
用户密码(这里显示x。用户密码保存在/etc/shadow文件中,只有特定的程序才能访问)
用户账户的UID(数字形式)
用户账户的组ID(GID)(数字形式)
用户账户的文本描述(称为备注字段)
用户HOME目录的位置
用户的默认shell
只有root用户才能访问/etc/shadow文件
在/etc/shadow文件的每条记录中都有9个字段:
与/etc/passwd文件中的登录名字段对应的登录名
加密后的密码
自上次修改密码后过去的天数密码(自1970年1月1日开始计算)
多少天后才能更改密码
多少天后必须更改密码
密码过期前提前多少天提醒用户更改密码
密码过期后多少天禁用用户账户
用户账户被禁用的日期(用自1970年1月1日到当天的天数表示)
预留字段给将来使用
添加新用户
useradd命令使用系统的默认值以及命令行参数来设置用户账户。可以一次性创建新用户账户及设置用户HOME目录结构。
系统默认值被设置在/etc/default/useradd文件中。 usradd –D (同/usr/sbin/usradd –D)选项查看所用Linux系统中useradd默认值。
删除用户
userdel可以从系统中删除用户。
默认情况下,userdel命令会只删除/etc/passwd文件中的用户信息,而不会删除系统中属于该账户的任何文件。
-r参数,userdel会删除用户的HOME目录以及邮件目录。然而,系统上仍可能存有已删除用户的其他文件。
修改用户
usermod可以从系统中删除用户。 使用对应的参数可以用来修改/etc/passwd文件中的大部分字段。 参数大部分跟useradd命令的参数一样(比如,-c修改备注字段,-e修改过期日 期,-g修改默认的登录组)。
除此之外,还有:
-l修改用户账户的登录名
-L锁定账户,使用户无法登录(它可以将账户锁定,使用户无法登录,同时无需删除账户和用户的数据)
-p修改账户的密码
-U解除锁定,使用户能够登录(让账户恢复正常)
passwd 可以改当前登录用户(你自己)的密码
root用户可以使用 passwd username 修改任意用户密码
-e 选项能强制用户下次登录时修改密码。 root用户可以先给用户设置一个简单的密码,之后再强制在下次登录时改成他们能记住的更复杂的密码
chsh、chfn和chage工具专门用来修改特定的账户信息
chsh命令用来快速修改默认的用户登录shell。使用时必须用shell的全路径名作为参数,不能只用shell名
chfn命令提供了在/etc/passwd文件的备注字段中存储信息的标准方法
二、改变安全性设置
改变权限
chmod命令用来改变文件和目录的安全性设置。格式如下:
chmod options mode file
mode参数可以使用八进制模式或符号模式进行安全性设置
options的-R选项可以让权限的改变递归地作用到文件和子目录
可以使用通配符指定多个文件,然后利用一条命令将权限更改应用到这些文件上
chmod命令也可以在符号模式下指定权限的格式
[ugoa…][+-=][rwxXstugo…]
[ugoa…]字符定义了权限作用的对象数。u代表用户, g代表组, o代表其他, a代表上述所有
[+-=] 号表示你是想在现有权限基础上增加权限(+),移除权限( ),设置权限(=)
[rwxXstugo…] 作用到设置上的权限
X:如果对象是目录或者它已有执行权限,赋予执行权限
s:运行时重新设置UID或GID
t:保留文件或目录
u:将权限设置为跟属主一样
g:将权限设置为跟属组一样
o:将权限设置为跟其他用户一样
改变所属关系
chown命令用登录名或UID来指定文件的新属主
chown options owner[.group] file
owner.group 同时改变文件的属主和属组
owner. 采用和用户登录名匹配的组名
options的-R 选项可以让权限的改变递归地作用到文件和子目录
只有root用户能够改变文件的属主。任何属主都可以改变文件的属组,但前提是属主必须是原属组和目标属组的成员
chgrp命令用来改变文件的默认属组