shell命令之---Linux文件权限

本章内容

 理解Linux的安全性
 解读文件权限
 使用Linux组

 

1、Linux的安全性---/etc/passwd文件

  # cat /etc/passwd
  root:x:0:0:root:/root:/bin/bash

  /etc/passwd文件的字段包含了如下信息:
   登录用户名
   用户密码
   用户账户的UID(数字形式)
   用户账户的组ID(GID)(数字形式)
   用户账户的文本描述(称为备注字段)
   用户HOME目录的位置
   用户的默认shell

 

2、Linux的安全性---/etc/shadow文件

  /etc/shadow文件为系统上的每个用户账户都保存了一条记录。记录就像下面这样:
  rich:$1$.FfcK0ns$f1UgiyHQ25wrB/hykCn020:11627:0:99999:7:::
  在/etc/shadow文件的每条记录中都有9个字段:
   与/etc/passwd文件中的登录名字段对应的登录名
   加密后的密码
   自上次修改密码后过去的天数密码(自1970年1月1日开始计算)
   多少天后才能更改密码
   多少天后必须更改密码
   密码过期前提前多少天提醒用户更改密码

  密码过期后多少天禁用用户账户
   用户账户被禁用的日期(用自1970年1月1日到当天的天数表示)
   预留字段给将来使用

 3、添加新用户

   用来向Linux系统添加新用户的主要工具是useradd。这个命令简单快捷,可以一次性创建新用户账户及设置用户HOME目录结构。 useradd命令使用系统的默认值以及命令行参数来设置用户账户。系统默认值被设置在/etc/default/useradd文件中。可以使用加入了-D选项的useradd命令查看所用Linux系统中的这些默认值。

 

# /usr/sbin/useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
#

 

在创建新用户时,如果你不在命令行中指定具体的值, useradd命令就会使用-D选项所显示的那些默认值。这个例子列出的默认值如下:
 新用户会被添加到GID为100的公共组;
 新用户的HOME目录将会位于/home/loginname;
 新用户账户密码在过期后不会被禁用;
 新用户账户未被设置过期日期;
 新用户账户将bash shell作为默认shell;
 系统会将/etc/skel目录下的内容复制到用户的HOME目录下;
 系统为该用户账户在mail目录下创建一个用于接收邮件的文件。
倒数第二个值很有意思。 useradd命令允许管理员创建一份默认的HOME目录配置,然后把它作为创建新用户HOME目录的模板。这样就能自动在每个新用户的HOME目录里放置默认的系统文件

 

  useradd命令行参数 


 

参数                              描述

 


 

-c       comment 给新用户添加备注
-d       home_dir 为主目录指定一个名字(如果不想用登录名作为主目录名的话)
-e       expire_date 用YYYY-MM-DD格式指定一个账户过期的日期
-f       inactive_days 指定这个账户密码过期后多少天这个账户被禁用; 0表示密码一过期就立即禁用, 1表示禁用这个功能
-g        initial_group 指定用户登录组的GID或组名
-G       group ... 指定用户除登录组之外所属的一个或多个附加组
-k       必须和-m一起使用,将/etc/skel目录的内容复制到用户的HOME目录
-m       创建用户的HOME目录
-M       不创建用户的HOME目录(当默认设置里要求创建时才使用这个选项)
-n       创建一个与用户登录名同名的新组
-r       创建系统账户
-p       passwd 为用户账户指定默认密码
-s       shell 指定默认的登录shell
-u       uid 为账户指定唯一的UID


 

 4、删除用户

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

  如果加上-r参数, userdel会删除用户的HOME目录以及邮件目录

 

5、修改用户

   用户账户修改工具


 命令            描述


 

 usermod       修改用户账户的字段,还可以指定主要组以及附加组的所属关系

passwd          修改已有用户的密码
chpasswd        从文件中读取登录名密码对,并更新密码
chage            修改密码的过期日期
chfn            修改用户账户的备注信息
chsh            修改用户账户的默认登录shell

 


  a.usermod

   usermod命令是用户账户修改工具中最强大的一个。 

     -l修改用户账户的登录名。
     -L锁定账户,使用户无法登录。
     -p修改账户的密码。
     -U解除锁定,使用户能够登录。

  b.passwd和chpasswd

   改变用户密码的一个简便方法就是用passwd命令。 -e选项能强制用户下次登录时修改密码。

  c.创建新组

  groupadd命令可在系统上创建新组。在创建新组时,默认没有用户被分配到该组。 groupadd命令没有提供将用户添加到组中的选项,但可以用usermod命令来弥补这一点。

  d.修改组

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

 

6、文件权限

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

   对文件来说,全权限的值是666(所有用户都有读和写的权限);而对目录来说,则是777(所有用户都有读、写、执行权限)

  # umask 022;touch 8.txt

  # ll

  -rw-r--r-- 1 root root    0 Apr 24 15:41 8.txt

  注:文件一开始的权限是666, 减去umask022之后, 剩下的文件权限就成了644

  # umask 026;mkdir test5

  # ll

  drwxr-x--x 2 root root 4096 Apr 24 15:43 test5

  注: 由于目录的默认权限是777, umask作用后生成的目录权限不同于生成的文件权限。 umask值026会从777中减去,留下来751作为目录权限设置。

 

7、改变权限 

  chmod命令用来改变文件和目录的安全性设置。该命令的格式如下:
  chmod options mode file

 

 

 8、改变所属关系

    Linux提供了两个命令来实现这个功能: chown命令用来改变文件的属主,chgrp命令用来改变文件的默认属组。

  chown命令的格式如下。
  chown options owner[.group] file

  chown命令采用一些不同的选项参数。 -R选项配合通配符可以递归地改变子目录和文件的所属关系。 -h选项可以改变该文件的所有符号链接文件的所属关系。

 

9、文件共享

  创建新文件时, Linux会用你默认的UID和GID给文件分配权限。想让其他人也能访问文件,要么改变其他用户所在安全组的访问权限,要么就给文件分配一个包含其他用户的新默认属组。
  如果你想在大范围环境中创建文档并将文档与人共享,这会很烦琐。幸好有一种简单的方法可以解决这个问题。
    Linux还为每个文件和目录存储了3个额外的信息位。
     设置用户ID( SUID) :当文件被用户使用时,程序会以文件属主的权限运行。
     设置组ID( SGID) :对文件来说,程序会以文件属组的权限运行;对目录来说,目录中创建的新文件会以目录的默认属组作为默认属组。
     粘着位:进程结束后文件还驻留(粘着)在内存中。
  SGID位对文件共享非常重要。启用SGID位后,你可以强制在一个共享目录下创建的新文件都属于该目录的属组,这个组也就成为了每个用户的属组。

  因此,要创建一个共享目录,使目录里的新文件都能沿用目录的属组,只需将该目录的SGID位置位。
    $ mkdir testdir
    $ ls -l
    drwxrwxr-x 2 rich rich 4096 Sep 20 23:12 testdir/
    $ chgrp shared testdir
    $ chmod g+s testdir
    $ ls -l
    drwxrwsr-x 2 rich shared 4096 Sep 20 23:12 testdir/
    $ umask 002
    $ cd testdir
    $ touch testfile
    $ ls -l
    total 0
    -rw-rw-r-- 1 rich shared 0 Sep 20 23:13 testfile

posted @ 2019-04-23 16:44  摩天居士-谢烟客  阅读(914)  评论(0编辑  收藏  举报