您的位置:首页 > 运维架构 > Linux

第七章 理解Linux文件权限

2020-02-02 01:37 746 查看

解读文件权限 
使用Linux组

缺乏安全性的系统不是完整的系统。系统中必须有一套能够保护文件免遭非授权用户浏
览或修改的机制。Linux沿用了Unix文件权限的办法,即允许用户和组根据每个文件
和目录的安全性设置来访问文件。

Linux安全系统的核心是用户账户。每个能进入Linux系统的用户都会被分配唯一的用户账
户。用户对系统中各种对象的访问权限取决于他们登录系统时用的账户。用户权限是通过创建用户时分配的用户ID(User ID,通常缩写为UID)来跟踪的。UID是数值,每个用户都有唯一的UID,但在登录系统时用的不是UID,而是登录名。登录名是用户用来登录系统的最长八字符的字符串(字符可以是数字或字母),同时会关联一个对应的密码。

Linux系统使用一个专门的文件来将用户的登录名匹配到对应的UID值。这个文件就是
/etc/passwd文件,它包含了一些与用户有关的信息。

cat /etc/passwd
phy❌1000:1000:phy:/home/phy:/bin/bash
用户名:用户密码:user id:group id:备注:主文件件:默认shell

/etc/passwd是一个标准的文本文件。你可以用任何文本编辑器在/etc/password文件里直接手动进行用户管理(比如添加、修改或删除用户账户)。但这样做极其危险。如果/etc/passwd文件出现损坏,系统就无法读取它的内容了,这样会导致用户无法正常登录(即便是root用户)。用标准的Linux用户管理工具去执行这些用户管理功能就会安全许多

/etc/shadow文件对Linux系统密码管理提供了更多的控制。只有root用户才能访问/etc/shadow文件,这让它比起/etc/passwd安全许多。

系统默认值被设置在**/etc/default/useradd**文件中。

1.useradd -D 查看新用户的默认值

-m 创建用户的主目录
-g 指定用户登录的GID或组名,更改组
-G 附属组
-p 创建密码
-u 指定用户id
-s 更改或指定shell

2.userdel 删除账户

默认情况下, userdel 命令会只删除/etc/passwd文件中的用户信息,而不会删除系统中属于该账户的任何文件。

userdel -r 删除用户的HOME目录以及邮件目录

在有大量用户的环境中使用 -r 参数时要特别小心。你永远不知道用户是否在其HOME目
录下存放了其他用户或其他程序要使用的重要文件。记住,在删除用户的HOME目录之
前一定要检查清楚!

3.修改用户

1. usermod
usermod 命令是用户账户修改工具中最强大的一个。它能用来修改/etc/passwd文件中的大部分字段,只需用与想修改的字段对应的命令行参数就可以了。参数大部分跟 useradd 命令的参数一样(比如, -c 修改备注字段, -e 修改过期日期, -g 修改默认的登录组)。除此之外,还有另外一些可能派上用场的选项。
 -l 修改用户账户的登录名。
 -L 锁定账户,使用户无法登录。
 -p 修改账户的密码。
 -U 解除锁定,使用户能够登录。
-L 选项尤其实用。它可以将账户锁定,使用户无法登录,同时无需删除账户和用户的数据。

2. passwd 和 chpasswd
passwd -e 强制用户下次登录

chsh 、 chfn 和 chage 工具专门用来修改特定的账户信息。 chsh 命令用来快速修改默认的用户登录shell。使用时必须用shell的全路径名作为参数,不能只用shell名。

chage 命令用来帮助管理用户账户的有效期

4. /etc/group 文件

root❌0:
组名:组密码:GID:属于该组的用户列表
groupadd 命令可在系统上创建新组
usermod -G shared test 为用户分组
-g 选项,指定的组名会替换掉该账户的默认组。
-G 选项则将该组添加到用户的属组的列表里,不会影响默认组。

groupmod -n sharing shared 修改组名

5. 文件权限

  • 代表文件
    d 代表目录
    l 代表链接
    c 代表字符型设备
    b 代表块设备
    n 代表网络设备
    之后有3组三字符的编码。每一组定义了3种访问权限:

 r 代表对象是可读的 4
 w 代表对象是可写的 2
x 代表对象是可执行的 1

umask 命令用来设置所创建文件和目录的默认权限
umask 值通常会设置在/etc/profile启动文件中

chmod :改变文件权限

4 2 1

u 代表用户 +、-、=
g 代表组
o 代表其他
a 代表上述所有

[ugoa…][[±=][rwxXstugo…]

ls 命令的 -F 选项,它能够在具有执行权限的文件名后加一个星号。

chown 命令用来改变文件的属主,
chgrp 命令用来改变文件的默认属组。

6 共享文件

  • 点赞
  • 收藏
  • 分享
  • 文章举报
可乐_1024 发布了21 篇原创文章 · 获赞 1 · 访问量 324 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: