Linux 高级主题:用户、组和权限

一、用户和组ID号

1. 用户名映射到用户ID号

2. 组名映射到组ID号

3. 存储在硬盘上的数据将以数字方式存储

文件存储在计算机上时,有关文件的元数据将以数字方式存储。即,不会存储文件的用户名和组从属,而是存储用户ID号和组ID号。

[root@desktop24 tmp]# ls -ln

drwx------. 2  0  0      4096 Jul 26 15:19 keyring-97yqPG

二、/etc/passwd、/etc/shadow、/etc/group文件

1. 验证信息将存储在纯文本文件中:

/etc/passwd 用户名:密码占位符:uid:用户主组gid:GECOS字段(用户真实姓名):主目录:登录shell

/etc/shadow 用户名:哈希密码:密码最后一次变更时间(1970.1.1):密码最小存活期:密码最大存活期:警告

/etc/group 组名:组密码占位符:gid:组成员

/etc/gshadow

/etc/gdm/gdm.schemas 71行写入用户可在登录界面隐藏

三、用户管理工具

1. GUI:system-config-users

2. CLI:useradd,usermod,userdel [-r]

创建用户账户时,会从基本框架中自动复制一些文件(/etc/skel/)

四、系统用户和组

1. Web服务器或打印服务器等服务器程序通常会以未授权的用户身份运行,而不是以root身份运行。

示例:daemon,mail,lp,nobody

2.以这种方式运行程序可以限制任何单独程序可能对系统造成的损害。

五、监控登录

1. 已连接用户:w

用于显示已连接用户的信息,以及只要用户连接到tty或在后台时所运行的进程信息。也将显示平均负载和其他系统统计数据信息。

2. 登录和重新启动历史记录:last

显示连接和重新启动历史记录。可以将用户附加到last(last root),使用的/var/log/wtmp日志文件。

3. 登录尝试失败:lastb

显示失败的账户访问尝试(失败登录),使用的/var/log/btmp日志文件。

4. 最近登录:lastlog

全部用户或给定用户的最近登录信息。

六、默认权限

1. 目录的默认权限为777减去umask

2. 文件的默认权限是目录默认减去执行权限

3. umask由umask命令设置

4. 未授权用户的umask为002

文件将拥有的权限为664

目录将拥有的权限为775

5. Root的umask为022

系统默认umask为002,改umask为022执行命令:umask 022。通常通过在登录时运行脚本设置umask,/etc/bashrc定义全局,~/.bashrc定义用户。

七、可执行权限的特殊权限

1. 可执行文件的特殊权限

suid:使用命令所有者而不是命令执行者的权限运行命令

sgid:使用命令组的组从属运行额命令

除拥有者、拥有组和其他用户权限外,还要一组被成为特殊权限的权限。包括:1)4代表suid或设置用户ID、位,2)2代表sgid或设置组ID、位,3)1代表粘滞位

在长列表中,suid权限显示为小写“s”,其中的“x”将被视为用户权限存在(如果未设置底层可执行文件权限,那么将显示一个大写“S”)。

2. 目录的特殊权限

粘滞位:无论目录的写入许可如何,设置sticky bit 的目录中的文件仅可由拥有者和root删除。

sgid:在设置sgid bit 的目录中创建的文件拥有目录组的组从属。(即继承目录组)

附:umask  0022

1)如果在一个命令上(可执行文件)应用suid,那么任何人在执行该命令时会临时得到拥有者的权限。(u+s)

2)如果在一个目录上应用sgid,那么任何人在该目录中创建的文件会继承目录本身组。(g+s)

3)如果在一个目录上应用了sticky bit,那么仅root和文件拥有者才能删除该文件。(o+t)

相关推荐