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

第7章 理解Linux文件权限

2016-12-24 01:03 405 查看
7.1 Linux的安全性

7.1.1 /etc/passwd文件

包含用户相关的信息。

Linux系统会为各种各样的功能创建不同的用户账号,这些账号叫作系统账号,是系统上运行的各种服务进程访问资源用的特殊账户。



/etc/passwd文件的字段包含了如下信息:

*登录用户名

*用户密码

*用户账号的UID

*用户账号的组ID

*用户账号的文本描述

*用户HOME目录的位置

*用户的默认shell

密码字段被设置成了x,用户密码保存在/etc/shadow

7.1.2 /etc/shadow文件



shadow密码系统可用控制用户多久更改一次密码,以及什么时候禁用该用户账号。

7.1.3 添加新用户

useradd命令使用系统的默认值以及命令行参数来设置用户账号。

系统默认值被设置在/etc/default/useradd文件中。可以使用加入了-D选项的useradd命令查看所用Linux系统中的这些默认值。



用默认系统参数创建一个新用户账号

useradd -m test

7.1.4 删除用户

userdel命令会只删除/etc/passwd文件中的用户信息,而不会删除系统中属于该账户的任何文件,加上-r参数,会删除用户的HOME目录以及邮件目录。

userdel -r test

7.1.5 修改用户

1 usermod

能用来修改/etc/passwd文件中的大部分字段,只需用与想修改的字段对应的命令行参数就可以了。

2 passwd和chpasswd



chpasswd命令能从标准输入自动读取登录名和密码对(由冒号分割)列表,给密码加密,然后为用户账户设置。

可以用重定向命令来将含有userid:passwd对的文件重定向给该命令。

3 chsh、chfn和chage

chsh命令用来修改默认的用户登录shell

chfn命令提供了在/etc/passwd文件的备份字段中存储信息的标准方法。

chage命令管理用户账户的有效期。

7.2 使用Linux组

7.2.1 /etc/group文件

/etc/group文件包含系统上用到的每个组的信息。



/etc/group文件有个字段:

*组名

*组密码

*GID

*属于该组的用户列表

当一个用户在/etc/passwd文件中指定某个组作为默认组时,用户账号不会作为该组成员再出现在/etc/group文件中。

7.2.2 创建新租

groupadd命令可在系统上创建新租。

可以用usermod命令将用户分配到组。



7.2.3 修改组

groupmod命令可以修改已有组的GID(-g)或祖名(-n)



修改祖名时,GID和组成员不会变,只有祖名改变。

7.3 理解文件权限

7.3.1 使用文件权限符

第一个字符代表了对象的类型:

*-代表文件

*d代表目录

*l代表链接

*c代表字符型设备

*b代表块设备

*n代表网络设备

3组权限:

*对象的属主

*对象的属组

*系统其他用户

7.3.2 默认文件权限

umask命令用来设置所创建文件和目录的默认权限。



第一位代表了一项特别的安全特性,叫作粘着位。

对文件来说,全权限的值是666;对于目录,则是777。

上例中,文件一开始的权限是666,减去umask值022之后,剩下的文件权限就成了644。



7.4 改变安全性设置

7.4.1 改变权限

格式:chmod options mode file

mode参数可以使用八进制模式或符号模式进行安全性设置。

chmod 760 newfile

7.4.2 改变所属关系

chown可以改变文件的属主和属组。

chown options owner[.group] file

chown dan newfile

chown dan.shared newfile

chown .rich newfile

只有root用户能够改变文件的属主。任何属主都可以改变文件的属组。

chgrp命令可以更改文件或目录的默认属组。

chgrp shared newfile

7.5 共享文件

Linux为每个文件和目录存储了3个额外的信息位。

*设置用户ID(SUID):当文件被用户使用时,程序会以文件属主的权限运行。

*设置组ID(SGID):对文件来说,程序会议文件属组的权限运行;对目录来说,目录中创建的新文件会以目录的默认属组作为默认属组。

*粘着位:进程结束后文件还驻留在内存中。

启用SGID位后,可以强制在一个共享目录下创建的新文件都属于该目录的属组。

SGID可通过chmod命令设置。他会加到标准3为八进制前之前,或者在符号模式下用符号s

要创建一个共享目录,使目录里的新文件都能沿用目录的属组,只需将该目录的SGID位置位。

7.6 小结
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: