Linux允许用户和组根据每个文件和目录的安全性来访问文件
Linux的安全性
Linux安全系统的核心是用户账户;用户权限根据每个用户的UserID 跟踪
添加新用户
useradd (默认值设置在/etc/default/useradd 文件中) -D 参数可以查看 这些默认值
useradd 默认不会创建HOME目录 加 -m 即可
删除用户
userdel 只会删除/etc/passwd 中的用户信息 -r 可以删除HOME目录
修改用户
1.usermod
-l 修改用户账户的登录名
-L 锁定账户, 使用户无法登录
-p 修改账户密码
-U 解除锁定
2.passwd 和 chpasswd
passwd 修改自己密码. root用户 可以修改别人密码
chpasswd 能从标准输入 读取 (由冒号分割)
3.chsh shfn chage
chsh 修改默认用户登录shell(必须是shell全路径名)
chfn 提供 /etc/passwd 文件的备注字段中存储信息的标准方法
chage 管理用户账户的有效期
使用Linux组
组权限允许多个用户对系统中对象共享一组共用的权限
创建新组
groupadd 创建新组
usermod -G 会把新组添加到用户的账户组列表中 (-g 会替换掉默认组)
修改组
groupmod (只有组名发生改变)
理解文件权限
把用户分为三种:文件拥有者、群组以及其它人,对不同的用户有不同的文件权限。
使用 ls 查看一个文件时,会出现一个文件的信息,例如 drwxr-xr-x. 3 root root 17 May 6 00:14 .config,对这个内容的解释如下:
- drwxr-xr-x:文件类型以及权限,第 1 位为文件类型字段,后 9 位为文件权限字段。
- 3:链接数;
- root:文件拥有者;
- root:所属群组;
- 17:文件大小;
- May 6 00:14:文件最后被修改的时间;
- .config:文件名。
常见的文件类型及其含义有:
- d:目录;
- -:文件;
- l:链接文件;
9 位的文件权限字段中,每 3 个为一组,共 3 组,每一组分别代表对文件拥有者、所属群组以及其它人的文件权限。一组权限中的 3 位分别为 r、w、x 权限,表示可读、可写、可执行。
umask 设置默认权限 第一位为粘着位 后三位 为权限字段 文件全权限666 目录全权限777
例子 umask 0022 文件 对应 666 - 022 = 644
文件属性以及权限的修改
1. 修改文件所属群组
# chgrp [-R] groupname dirname/filename
-R:递归修改
2. 修改文件拥有者
不仅可以修改文件拥有者,也可以修改文件所属群组。
# chown [-R] 用户名:群组名 dirname/filename
3. 修改权限
可以将一组权限用数字来表示,此时一组权限的 3 个位当做二进制数字的位,从左到右每个位的权值为 4、2、1,即每个权限对应的数字权值为 r:4、w:2、x:1。
# chmod [-R] xyz dirname/filename
范例:将 .bashrc 文件的权限修改为 -rwxr-xr--。
# chmod 754 .bashrc
也可以使用符号来设定权限。
# chmod [ugoa] [+-=] [rwx] dirname/filename
- u:拥有者
- g:所属群组
- o:其他人
- a:所有人
- +:添加权限
- -:移除权限
- =:设定权限
范例:为 .bashrc 文件的所有用户添加写权限。
# chmod a+w .bashrc
共享文件
共享文件的方法为创建组
SGID 可以强制在共享目录下创建的新文件都属于该组
mkdir 创建共享的目录 然后 chgrp 修改目录默认属组 然后将SGID置位 umask 002 即可.