zoukankan      html  css  js  c++  java
  • 【转载】“允许更换前的天数”,指密码必须使用的最少天数,

    RHCSA认证培训+考试七天实录(三)

     
    科技小能手 2017-11-14 02:12:00 浏览529
    展开阅读全文

    第三天(7月21日)

    今天的主要内容是对用户和组的管理,以及如何设置权限。
     
    一、管理用户和组
    1、先建manager组,创建两个用户natasha、harry,将它们的附属组设为manager,创建第三个用户strlt不允许login,再建一个用户susa,指定UID号为4000。
       对用户和组的管理在图形界面下操作非常简单,通过“系统/管理/用户和组群”就可以完成。
    先创建manager组:

    下面再创建用户:

    默认情况下在Linux中建用户的同时会自动创建一个同名的用户组,题目要求将manager作为用户的附属组,也就是还要将用户加入到manager组中去。这个操作就像在Windows里面一样的简单,打开用户的属性设置界面,选择要加入的组即可。

    再创建第三个用户strlt,因为这个用户不允许登录,所以将他的登录shell设为/sbin/nologin。

    再建一个用户susa,并且指定UID为4000,系统默认的UID是从500开始递增的。

    再用命令完成上述操作,呵呵,感觉还是用命令更干脆利索:

    [root@localhost ~]#groupadd manager                #创建manager组
    [root@localhost ~]#useradd –G manager natasha        #创建用户,同时指定附属组。
    [root@localhost ~]#useradd –G manager harry          #创建用户,同时指定附属组。
    [root@localhost ~]#useradd –s /sbin/nologin strlt        #创建用户,但不允许登录。
    [root@localhost ~]#useradd –u 4000 susa              #创建用户,并指定UID。
     
    2、创建指定的用户和组。
    这里我就全部用命令来做了。
    增加usergrp组,GID号为6000。
    [root@localhost ~]# groupadd -g 6000 usergrp
    新增user1用户,UID为6000,密码为空,附属组为usergrp。
    [root@localhost ~]# useradd  -u 6000 -G usergrp user1
    新增user2用户,密码为password,将用户的附属组加入root组和usergrp组,用户的主目录指定为/user2目录。
    [root@localhost ~]# useradd -d /user2 -G root -G usergrp user2
    设密码可以直接使用passwd命令,但需要输入两遍密码进行确认,为了简化操作可以执行下面的命令:
    [root@localhost ~]#echo “password” | passwd –stdin user2
    新增user3用户,不为用户建立并初始化主目录,用户不允许登录系统shell。
    [root@localhost ~]# useradd -M -s /sbin/nologin user3
    -M参数不建立主目录。
     
    3、设置用户的密码期限。
    这部分操作在图形界面下操作很简单,用命令就很麻烦了。
    设置user1用户,在下次登录时必须强制更改密码。
    在“用户和组群”管理工具中打开用户属性界面,勾选相应的选项即可。

    设置user2用户,密码30天必须更改,密码在2012年10月10日过期。

    这个操作仍然是要在上面那幅图中的操作界面完成,其中各个设置项目的含义:
    “允许更换前的天数”,指密码必须使用的最少天数,比如将这项设为3,那么在3天之内将无法更改密码。设为0,则表示无限制。
    “需要更换的天数”,指密码的有效使用期限,按题目要求,这里就是30了。
    “更换前警告的天数”,这个好理解,就是密码到期前提前几天警告。
    “账号被取消激活前的天数”,这项是设置当密码到期后,用户账号是否还可以继续使用。比如设为3,就表示账号还可以继续使用3天。设为0,表示密码到期后,用户账号也立即失效。这项的默认值为-1,也就是账号永不失效。
    密码在2012年10月10日过期,这个要求可以在“账号信息”项里设置,如下图所示。

    二、设置权限
     
    这部分内容比较麻烦,尤其是设置set位和粘滞位,但又是考试的必考内容,比较重要。
    1、新建目录/var/www/user1,并设置如下权限:
    将此目录的所有者设为user1,并设置读写执行权限。
    [root@localhost tmp]# mkdir /var/www/user1
    [root@localhost www]# ll
    drwxr-xr-x. 2 root root 4096 7月 20 20:39 user1   
    #目录user1默认的所有者是root,具有完全控制权限。
    [root@localhost www]# chown user1 user1  
    #改变目录的所有者为user1,并且自动继承了完全控制权限。
    将此目录的组设置为usergrp,并设置读、执行权限,将其他用户的权限设置为只读。
    [root@localhost www]#chown :usergrp user1    #改变所属组
    [root@localhost www]# chmod 754 user1       #设置权限
    2、创建/test目录,在此目录中任何用户都可以创建文件或目录,但只有用户自身和root用户可以删除用户所创建的文件或目录。
    在此目录中任何用户都可以创建文件或目录,这个要求很好满足,只要将目录的权限设为777即可。麻烦的是后面的那个要求,只有用户自身和root用户可以删除用户所创建的文件或目录,这个要求通过普通的权限设置是无法完成的,这里就必须要用到粘滞位。
    粘滞位主要是为公共目录(例如权限为777的)设置,权限字符为“t”,作用是用户不能删除该目录中其他用户的文件。如:
    [root@localhost ~]# ls -ld /tmp   /var/tmp
    drwxrwxrwt 8 root root 4096 09-09 15:07 /tmp
    drwxrwxrwt 2 root root 4096 09-09 07:00 /var/tmp
    系统中的这两个目录就设置了粘滞位,粘滞位放在最后一组。
    粘滞位的权限数字为1,理解了粘滞位的用途之后,上面的操作就很好完成了:
    [root@localhost ~]#mkdir /test
    [root@localhost ~]#cd /
    [root@localhost ~]#chmod 1777 test     #前面的1就表示要设置粘滞位
    [root@localhost ~]#ll
    drwxrwxrwt 2 root root 4096 7月 20 21:07 test
    3、将/etc/fstab复制到/var/tmp/fstab,设置用户harry可以读写,用户natasha不能做任何操作,其他用户可读,设置manager组为fstab所属组(harry和natasha都是manager组的成员)。
    [root@localhost ~]#cp /etc/fstab /var/tmp/
    [root@localhost ~]#cd /var/tmp
    [root@localhost tmp]#ll         #查看fatab文件的默认权限
    -rw-r—r-- 1 root root 779 7月 19 21:07 fstab
    [root@localhost tmp]#chown :manager fstab    #改变fstab的所属组
    [root@localhost tmp]#ll         #再次查看fatab文件的权限
    -rw-r—r-- 1 root manager 779 7月 19 21:07 fstab
    此时因为harry和natasha都属于manager组的成员,所以他们都具有只读权限。而题目中要求harry可以读写、natasha没有任何权限,这属于对某些用户进行细部权限设置,用传统的权限设置方法也是无法完成的,所以这里必须要用到权限控制列表ACL。ACL的主要作用就是针对某些用户或某些组进行细部权限设置。
    [root@localhost tmp]#setfacl -m u:harry:6 fstab
    [root@localhost tmp]#setfacl -m u:natasha:0 fstab
    setfacl命令用于设置或修改ACL,-m参数是创建acl,u:指定对哪个用户设置权限,如果要针对某个组设权限,就应改为g:。
    4、设置用户natasha对目录/home/cnrts(自己创建)有完全控制权限,在目录中创建的文件自动继承组的权限,设置manager组用户对目录有读写执行权限,其他人没有权限(root除外)。
    [root@localhost ~]#mkdir /home/cnrts
    [root@localhost ~]#cd /home
    [root@localhost home]#ll
    drwxr-xr-x. 2 root root 4096 7月 20 20:39 cnrts
    [root@localhost home]#chown :manager cnrts   #将所属组改为manager
    再下面的操作就有点麻烦了。因为题目中要求manager组对目录有读写执行权限,而natasha是manager组的成员,在上面的操作中又已经将manager设置为了cnrts的所属组,所以只要为cnrts的所属组设置读写执行权限就可以满足这两个要求了。麻烦的是这个要求:在目录中创建的文件要自动继承组的权限。也就是说,无论什么用户在这个目录中创建的文件,manager组都要对它具有读写执行权限。我们知道,默认情况下,用户创建的文件默认的所有者和所属组都是自己,比如我们执行下面的操作:
    [natasha@localhost home]$ touch natasha    #以natasha用户的身份创建一个文件
    -rw-rw-r--. 1 natasha natasha  0 7月 20 22:05 natasha
    这个文件的所属组是natasha,manager组的成员对它只有读权限。要实现上面的要求,方法是让cnrts目录的所属组继承下去,即无论谁在cnrts目录里创建的文件,它的所属组都继承cnrts目录的所属组,也就是manager。这就要用到set位。
    set位的权限字符为“s”,它可以对文件设置,也可以对目录设置。当对文件设置时,set位放在第一组权限,当对目录设置时,set位放在第二组权限。如:
    [root@localhost ~]# ls -l /usr/bin/passwd
    -rwsr-xr-x 1 root root 19876 2006-07-17 /usr/bin/passwd
    rwsr-xr-x,set位设在第一组,表示当其他用户要执行这个文件时,会自动使用文件所有者也就是root用户的身份去执行。
    [root@localhost ~]# ls -l /tmp/test
    -rw-rwsr-x 1 harry root 19876 2008-07-17 /tmp/test
    rw-rwsr-x,set位设在第二组,表示无论哪个组的用户在/tmp/test目录中创建的文件都将属于root组。
    set位的设置仍然使用chmod命令,4对应第一组中的set位,2对应第二组中的set位,1对应最后一组中的粘滞位,这三种特殊权限可叠加。
    明白了道理之后,上面的要求用一条命令就可以完成:
    [root@localhost home]#chmod -R 2770 /home/cnrts
    2770表示在第二组设置set位,也就是继承所属组,同时将目录所有者和所属组的权限设为完全控制,其它用户没有权限。-R参数表示递归,也就是对cnrts目录中的所有子目录也都执行相同操作。
     
    本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/938173

     

    RHCSA认证培训+考试七天实录(三)

     
    科技小能手 2017-11-14 02:12:00 浏览529
    展开阅读全文

    第三天(7月21日)

    今天的主要内容是对用户和组的管理,以及如何设置权限。
     
    一、管理用户和组
    1、先建manager组,创建两个用户natasha、harry,将它们的附属组设为manager,创建第三个用户strlt不允许login,再建一个用户susa,指定UID号为4000。
       对用户和组的管理在图形界面下操作非常简单,通过“系统/管理/用户和组群”就可以完成。
    先创建manager组:

    下面再创建用户:

    默认情况下在Linux中建用户的同时会自动创建一个同名的用户组,题目要求将manager作为用户的附属组,也就是还要将用户加入到manager组中去。这个操作就像在Windows里面一样的简单,打开用户的属性设置界面,选择要加入的组即可。

    再创建第三个用户strlt,因为这个用户不允许登录,所以将他的登录shell设为/sbin/nologin。

    再建一个用户susa,并且指定UID为4000,系统默认的UID是从500开始递增的。

    再用命令完成上述操作,呵呵,感觉还是用命令更干脆利索:

    [root@localhost ~]#groupadd manager                #创建manager组
    [root@localhost ~]#useradd –G manager natasha        #创建用户,同时指定附属组。
    [root@localhost ~]#useradd –G manager harry          #创建用户,同时指定附属组。
    [root@localhost ~]#useradd –s /sbin/nologin strlt        #创建用户,但不允许登录。
    [root@localhost ~]#useradd –u 4000 susa              #创建用户,并指定UID。
     
    2、创建指定的用户和组。
    这里我就全部用命令来做了。
    增加usergrp组,GID号为6000。
    [root@localhost ~]# groupadd -g 6000 usergrp
    新增user1用户,UID为6000,密码为空,附属组为usergrp。
    [root@localhost ~]# useradd  -u 6000 -G usergrp user1
    新增user2用户,密码为password,将用户的附属组加入root组和usergrp组,用户的主目录指定为/user2目录。
    [root@localhost ~]# useradd -d /user2 -G root -G usergrp user2
    设密码可以直接使用passwd命令,但需要输入两遍密码进行确认,为了简化操作可以执行下面的命令:
    [root@localhost ~]#echo “password” | passwd –stdin user2
    新增user3用户,不为用户建立并初始化主目录,用户不允许登录系统shell。
    [root@localhost ~]# useradd -M -s /sbin/nologin user3
    -M参数不建立主目录。
     
    3、设置用户的密码期限。
    这部分操作在图形界面下操作很简单,用命令就很麻烦了。
    设置user1用户,在下次登录时必须强制更改密码。
    在“用户和组群”管理工具中打开用户属性界面,勾选相应的选项即可。

    设置user2用户,密码30天必须更改,密码在2012年10月10日过期。

    这个操作仍然是要在上面那幅图中的操作界面完成,其中各个设置项目的含义:
    “允许更换前的天数”,指密码必须使用的最少天数,比如将这项设为3,那么在3天之内将无法更改密码。设为0,则表示无限制。
    “需要更换的天数”,指密码的有效使用期限,按题目要求,这里就是30了。
    “更换前警告的天数”,这个好理解,就是密码到期前提前几天警告。
    “账号被取消激活前的天数”,这项是设置当密码到期后,用户账号是否还可以继续使用。比如设为3,就表示账号还可以继续使用3天。设为0,表示密码到期后,用户账号也立即失效。这项的默认值为-1,也就是账号永不失效。
    密码在2012年10月10日过期,这个要求可以在“账号信息”项里设置,如下图所示。

    二、设置权限
     
    这部分内容比较麻烦,尤其是设置set位和粘滞位,但又是考试的必考内容,比较重要。
    1、新建目录/var/www/user1,并设置如下权限:
    将此目录的所有者设为user1,并设置读写执行权限。
    [root@localhost tmp]# mkdir /var/www/user1
    [root@localhost www]# ll
    drwxr-xr-x. 2 root root 4096 7月 20 20:39 user1   
    #目录user1默认的所有者是root,具有完全控制权限。
    [root@localhost www]# chown user1 user1  
    #改变目录的所有者为user1,并且自动继承了完全控制权限。
    将此目录的组设置为usergrp,并设置读、执行权限,将其他用户的权限设置为只读。
    [root@localhost www]#chown :usergrp user1    #改变所属组
    [root@localhost www]# chmod 754 user1       #设置权限
    2、创建/test目录,在此目录中任何用户都可以创建文件或目录,但只有用户自身和root用户可以删除用户所创建的文件或目录。
    在此目录中任何用户都可以创建文件或目录,这个要求很好满足,只要将目录的权限设为777即可。麻烦的是后面的那个要求,只有用户自身和root用户可以删除用户所创建的文件或目录,这个要求通过普通的权限设置是无法完成的,这里就必须要用到粘滞位。
    粘滞位主要是为公共目录(例如权限为777的)设置,权限字符为“t”,作用是用户不能删除该目录中其他用户的文件。如:
    [root@localhost ~]# ls -ld /tmp   /var/tmp
    drwxrwxrwt 8 root root 4096 09-09 15:07 /tmp
    drwxrwxrwt 2 root root 4096 09-09 07:00 /var/tmp
    系统中的这两个目录就设置了粘滞位,粘滞位放在最后一组。
    粘滞位的权限数字为1,理解了粘滞位的用途之后,上面的操作就很好完成了:
    [root@localhost ~]#mkdir /test
    [root@localhost ~]#cd /
    [root@localhost ~]#chmod 1777 test     #前面的1就表示要设置粘滞位
    [root@localhost ~]#ll
    drwxrwxrwt 2 root root 4096 7月 20 21:07 test
    3、将/etc/fstab复制到/var/tmp/fstab,设置用户harry可以读写,用户natasha不能做任何操作,其他用户可读,设置manager组为fstab所属组(harry和natasha都是manager组的成员)。
    [root@localhost ~]#cp /etc/fstab /var/tmp/
    [root@localhost ~]#cd /var/tmp
    [root@localhost tmp]#ll         #查看fatab文件的默认权限
    -rw-r—r-- 1 root root 779 7月 19 21:07 fstab
    [root@localhost tmp]#chown :manager fstab    #改变fstab的所属组
    [root@localhost tmp]#ll         #再次查看fatab文件的权限
    -rw-r—r-- 1 root manager 779 7月 19 21:07 fstab
    此时因为harry和natasha都属于manager组的成员,所以他们都具有只读权限。而题目中要求harry可以读写、natasha没有任何权限,这属于对某些用户进行细部权限设置,用传统的权限设置方法也是无法完成的,所以这里必须要用到权限控制列表ACL。ACL的主要作用就是针对某些用户或某些组进行细部权限设置。
    [root@localhost tmp]#setfacl -m u:harry:6 fstab
    [root@localhost tmp]#setfacl -m u:natasha:0 fstab
    setfacl命令用于设置或修改ACL,-m参数是创建acl,u:指定对哪个用户设置权限,如果要针对某个组设权限,就应改为g:。
    4、设置用户natasha对目录/home/cnrts(自己创建)有完全控制权限,在目录中创建的文件自动继承组的权限,设置manager组用户对目录有读写执行权限,其他人没有权限(root除外)。
    [root@localhost ~]#mkdir /home/cnrts
    [root@localhost ~]#cd /home
    [root@localhost home]#ll
    drwxr-xr-x. 2 root root 4096 7月 20 20:39 cnrts
    [root@localhost home]#chown :manager cnrts   #将所属组改为manager
    再下面的操作就有点麻烦了。因为题目中要求manager组对目录有读写执行权限,而natasha是manager组的成员,在上面的操作中又已经将manager设置为了cnrts的所属组,所以只要为cnrts的所属组设置读写执行权限就可以满足这两个要求了。麻烦的是这个要求:在目录中创建的文件要自动继承组的权限。也就是说,无论什么用户在这个目录中创建的文件,manager组都要对它具有读写执行权限。我们知道,默认情况下,用户创建的文件默认的所有者和所属组都是自己,比如我们执行下面的操作:
    [natasha@localhost home]$ touch natasha    #以natasha用户的身份创建一个文件
    -rw-rw-r--. 1 natasha natasha  0 7月 20 22:05 natasha
    这个文件的所属组是natasha,manager组的成员对它只有读权限。要实现上面的要求,方法是让cnrts目录的所属组继承下去,即无论谁在cnrts目录里创建的文件,它的所属组都继承cnrts目录的所属组,也就是manager。这就要用到set位。
    set位的权限字符为“s”,它可以对文件设置,也可以对目录设置。当对文件设置时,set位放在第一组权限,当对目录设置时,set位放在第二组权限。如:
    [root@localhost ~]# ls -l /usr/bin/passwd
    -rwsr-xr-x 1 root root 19876 2006-07-17 /usr/bin/passwd
    rwsr-xr-x,set位设在第一组,表示当其他用户要执行这个文件时,会自动使用文件所有者也就是root用户的身份去执行。
    [root@localhost ~]# ls -l /tmp/test
    -rw-rwsr-x 1 harry root 19876 2008-07-17 /tmp/test
    rw-rwsr-x,set位设在第二组,表示无论哪个组的用户在/tmp/test目录中创建的文件都将属于root组。
    set位的设置仍然使用chmod命令,4对应第一组中的set位,2对应第二组中的set位,1对应最后一组中的粘滞位,这三种特殊权限可叠加。
    明白了道理之后,上面的要求用一条命令就可以完成:
    [root@localhost home]#chmod -R 2770 /home/cnrts
    2770表示在第二组设置set位,也就是继承所属组,同时将目录所有者和所属组的权限设为完全控制,其它用户没有权限。-R参数表示递归,也就是对cnrts目录中的所有子目录也都执行相同操作。
     
    本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/938173
  • 相关阅读:
    本地SQL密码破解
    SqlServer2005复制分类
    xpsql.cpp: 错误 2 来自 CreateProcess(第 737 行)
    sql server 复制,镜像,日志传输及故障转移集群区别
    使用SQL操作MySQL数据库
    [技术文摘]Resin服务器的使用
    Tomcat新手攻略
    Java连接数据库谈
    jsp中文乱码问题的解决2
    台风来到
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/11039832.html
Copyright © 2011-2022 走看看