Linux命令行与shell脚本编程大全学习笔记

第7章 理解Linux文件权限

2020-02-25  本文已影响0人  Hannahhao

7.1 Linux的安全性

Linux安全系统的核心是:用户账户。
用户权限:通过创建用户时分配的用户ID(UID)来跟踪的。

7.1.1 /etc/passwd文件

cat /etc/passwd
root账户时Linux系统的管理员,固定分配给它的UID是0.
Linux系统会为各种各样的功能创建不同的用户账户,但并不是真的用户,叫做“系统账户”,是系统上运行的各种服务进程访问资源用的特殊账户。


/etc/passwd是一个标准的文本文件,可以用任何编辑器进行用户管理,但这样做极其危险!!!

7.1.2 /etc/shadow 文件

只有root用户才能访问。


7.1.3 添加新用户

useradd命令:一次性创建新用户账户及设置用户HOME目录结构。
系统默认值被设置在/etc/default/useradd文件中,-D选项可以查看所用Linux系统中的这些默认值

默认情况下,useradd命令不会创建HOME目录,但是-m选项会使其创建HOME目录。-D 选项后跟上一个指定的值来修改系统默认的新用户设置。

7.1.4 删除用户

userdel命令:只会删除/etc/passwd文件中的用户信息,不会删除系统中属于该账户的任何文件。
-r:会删除用户的HOME目录以及邮件目录。但系统上仍可能存在有已删除用户的其他文件。

7.1.5 修改用户

  1. usrmod:修改用户账户的字段,指定主要组以及附加组的所属关系。(用户账户修改工具中最强大的一个)
  2. passwd 修改已有用户的密码;chpasswd:从文件中读取登录名密码时并更新密码
  3. chsh:修改用户账户的默认登陆shell(必须shell全路径)、chfn:修改用户账户的备注信息; chage:修改密码的过期日期
    finger命令:方便地查看Linux系统上的用户信息(Ubuntu没有默认安装该命令)

7.2 使用Linux组

Ubuntu会为每一个用户创建一个单独的与用户账户同名的组。GID

7.2.1 /etc/group文件

7.2.2 创建新组

groupadd命令:创建新组
创建新组时,默认没有用户被分配到该组,/usr/sbin/usermod -G shared rich 即可将rich用户添加到shared组。

7.2.3 修改组

groupmod命令:修改已有组的GID(加-g选项)或组名(加-n选项)

7.3 理解文件权限

7.3.1 使用文件权限符

7.3.2 默认文件权限

umask命令:显示和设置默认权限



文件的全权限是:666
目录的全权限是:777

7.4 改变安全性设置

7.4.1 改变权限

chmod命令:改变文件和目录的安全性设置
命令格式:chmod options mode file

另一种命名格式:
chmod [ugoa...] [[+-=] [rwxXstugo]
u: 用户
g: 组
o: 其他
a: 所有
+:增加权限
-:移除权限
=:将权限设置成后面的值
X:如果对象是目录或者它已有执行权限,赋予执行权限
s:运行时重新设置UID or GID
t:保留文件或目录

7.4.2 改变所属关系

chown命令:改变文件的属主
命令格式:chown option owner[.group] file
chgrp命令:改变文件的默认属组

7.5 共享文件

Linux系统上共享文件的方法:创建组
SUID 设置用户ID
SGID 设置组ID
粘着位

  1. 用mkdir命令创建希望共享的目录
  2. 通过chgrp命令将目录的默认属组改为包含所有需要共享文件的用户的组(你必须是该组的成员)
  3. 将目录的SGID位置位,保证目录中新建文件中都用shared作为默认数组。
  4. 组成员就能共享目录下创建新文件了。

7.6 小结

上一篇 下一篇

猜你喜欢

热点阅读