Linux通过“用户”、“组”、“文件权限”控制用户对文件的访问和操作权限,从而达到安全。
用户
- /etc/passwd 保存用户的相关信息:
- 用户名
- 密码(占位符)
- 用户ID(UID)
- 组ID(GID)
- 关于用户的文本描述
- 用户HOME目录位置
- 用户默认shell
- /etc/shadow 保存用户密码信息
- 与/etc/passwd对应的用户名
- 加密后的密码
- 自上次修改密码后过去的天数
- 多少天后才能修改密码
- 多少天后必须修改密码
- 密码过期前多少天提醒更改
- 密码过期多少天后禁止用户使用
- 用户禁用日期
- 预留字段
- 不要直接修改/etc/passwd和/etc/shadow,应该使用工具
- 增加用户
useradd
- 删除用户
userdel
- 修改用户
- 修改用户的帐号和组
usermod
- 修改用户密码
passwd
- 批量更新密码
chpasswd
- 修改密码过期时间
change
- 修改用户备注信息
chfn
- 修改用户默认shell
chsh
- 修改用户的帐号和组
- 增加用户
提醒:
- 用
useradd
添加新用户时,可以定义用户帐号信息。 - 用
useradd
添加新用户时,会以/etc/skel作为$HOME
目录的模板。
组
- /etc/group 保存组的相关信息
- 组名
- 组密码
- GID
- 属于该组的用户列表(用户指定的默认组不会被列出)
- 不要直接修改/etc/group,应该使用工具
- 创建组
groupadd
- 修改组
groupmod
- 创建组
文件权限
- 文件权限符
- r(4) 写
- w(2) 读
- x(1) 执行
- s 文件已属组权限运行;如果是目录,目录属组会作为新建文件的属组
- 文件默认权限:
- 文件 0666
- 目录 0777
- 文件权限掩码
umask
- 新建文件的权限等于默认权限-umask
- 修改文件权限的工具
- 修改文件权限
chmod
- 修改文件属主
chown
- 修改文件属组
chgrp
- 修改文件权限
提醒:
- 文件权限符
s
对实现共享目录非常有用 - 使用共享目录的所有用户的
umask
应该设置为0002,共享组对所有用户创建的文件拥有所有权限。