雪城大学信息安全讲义 二、Unix 安全概览

2022-12-01 17:01:30 浏览数 (1)

二、Unix 安全概览

原文:Unix Security Basics 译者:飞龙

1 用户和用户组

用户

root:超极用户(UID = 0)

daemon:处理网络。

nobody:不拥有文件,用作非特权操作的默认用户。

  • Web 浏览器可在这个模式下工作。

用户需要使用密码登录。加密的密码储存在/etc/shadow

用户信息储存在/etc/passwd,之前(不再)用于储存密码的地方。下面是这个文件的一个条目的示例:

代码语言:javascript复制
john:x:30000:40000:John Doe:/home/john:/usr/local/bin/tcsh

用户组

有时候,如果我们把权限授予一组用户,会更加方便,例如,我们打算基于用户组来授予权限。

用户拥有基本组(在/etc/passwd中列出),并且它和用户创建的文件相关。

任何用户都可以是多个组的成员。

组信息储存在/etc/group中。

代码语言:javascript复制
%  groups uid (display the groups that uid belongs to)

对于使用 NIS(网络信息服务,最开始叫做黄页(YP))的系统,我们可以使用命令ypcat来获取组信息:

代码语言:javascript复制
% ypcat group (can display all the groups and their members)

2 文件权限

文件权限

  • Unix 中权限位的含义
    • 所有者(u)、用户组(g)和其它(o)
    • 可读(r)、可写(w)、可执行(x)
    • 示例:-rwxrwxrwx(777)

目录上的权限

  • r:可以列出目录
  • w:可以在目录中创建或删除文件或目录
  • x:可以进入目录

修改权限:chmod

完全访问控制列表:getfaclsetfacl

默认文件权限

授予新创建的文件的默认文件权限是什么?

默认权限储存在umask环境变量中

umask:你不想要的权限

一些系统中的默认值:022

  • 它会将新文件的权限设为rw-r--r--.

最安全的值:077

  • 将新文件的权限设为rw-------

通过执行这个命令检查你自己的设置:

代码语言:javascript复制
% umask

修改umask值。你可以执行下列命令,或者将其放入你的.profile文件中。

代码语言:javascript复制
% umask 077

3 安全相关的命令

切换用户

将你的用户 ID 切换为xyzsu意思是“替代用户”。

代码语言:javascript复制
% /bin/su xyz

切换为root。这是获得超级用户访问权的常见方式。一旦你进入了超级用户账户,提示符就会变成静好(#)。

代码语言:javascript复制
% /bin/su -

使用超级用户权限来执行命令。有时,我们只想要使用超级用户权限执行命令。我们不执行su来切换root,而是执行命令,我们可以使用sudo命令。

代码语言:javascript复制
(view the shadow file as a superuser) 
% sudo more /etc/shadow

为了能够只用sudo作为超级用户执行命令,(root)需要向用户授予权限。这通过/etc/sudoers文件完成。

变更文件所有者

chown命令

代码语言:javascript复制
% chown wedu file

Q:我能允许用户将文件所有者变更为另一个用户吗?

  • 不能,实际上,只有root才可以使用chown,为什么呢?
  • 我们会在学习Set-UID之后了解原因。

变更文件组

chgrp命令

代码语言:javascript复制
% chgrp seed /home/seed/785

Q:我可以允许用户将文件组变更为另一个组吗?

  • 可以/不行。如果你想要变更为组xyz,你必须是xyz组的成员。
  • 原因类似于chown命令,(Set-GID)。

杂项

代码语言:javascript复制
% whoami (to print out your current user name) 
% /usr/bin/id (display both uid and gid) 
% man chmod (find the manual for the chmod command)

0 人点赞