设为首页 收藏本站
查看: 471|回复: 0

[经验分享] Centos7.1用户基本权限轻松管理篇

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-21 08:47:49 | 显示全部楼层 |阅读模式
  如果只是个人PC,个人是不想刻意花太多心思去管理用户和权限的,感觉没多大意义。但是如果在企业或事业单位中用户群体较多,所涉及的信息的安全等级具有一定影响范围的时候就得done了,而且要well done。
    用户权限管理的意义在于:安全、方便。
     首先,用户也是以群居的方式进行分组的,根据需求分为多个组(group),而且每个group都有唯一的组名(groupname),以及每个groupname都对应唯一个id,叫GID。接着每个组(group)下面有不同成员,称之为用户(user),同样的,每个用户都拥有自己的唯一用户名以及对应的唯一的id,叫UID。如果要指定组名的话,要先有组,而后再有用户;如果直接创建用户账户不指定组名的话,那样也没有关系,最终组名将会为与账户同名。
     一、   用户组分类:管理员组和普通组
            管理员组(root,gid为0)
              普通组:gid范围:1-65535,分为系统组和登录组,
                      系统组(gid范围:1-999)和登录组(gid范围:6000-10000)
    二、    用户的分类:
        用户分为:管理用户和普通用户。
         (1)管理用户root(uid为0),权利最大的管理员,所有的权限对它来说几乎是形同虚设的,它的存在就是为了管理其它用户的,于是普通用户都得由它来创建。
          (2)普通用户分为登录用户和系统用户。uid的范围也和group相似,uid范围:1-65535,登录用户(uid范围:1-999)可以用来登录,可以通过不同验证方式登录,但是对于新手来说,刚开始接触大多数都是密码验证登录。系统用户(6000-10000)。

    三、用户即用户组的创建:
            一个用户从创建到使用,通常经过的流程为:
                创建用户组——用户组密码——创建用户——设定密码。
                  翻译成命令,即:
                  groupadd——gpasswd——useradd——passwd。
                但是前面有提到过,如果对用户组没要求,可以不用创建用户组的,而直接创建user,会生成相应的组的。一般来说,gpasswd不是必须的,因此最简单的useradd-passwd,就可以使用了,请注意我使用的是root账号:
                      QQ截图20151221084703.png
    可能有人会问,咦,我怎么查看自己已经创建成功了?很简单,用id这个命令就可以了,截图如下,user1已经分配相应的uid了,说明已经创建成功
       QQ截图20151221084709.png

            通常习惯性更容易接受user的使用,反正我个人是这么觉得的,那么group参照user的使用可能更好理解,但是下面都只是命令的解释了,反正多记多敲命令就是了。先说说user相关命令的使用吧;
        1.用户的创建
        useradd用户创建,passwd密码设定,userdel删除,usermod用户相关属性修改以及chage直接修改密码属性。
            useradd:用户创建
                       语法规则:useradd [options] username
       不要为这几个单词难为情了,翻译过来,就是在useradd和username之间按照我们想设定指定参数OPTION而已,而[]则是表示可以设定或者可以不设定,就是说可以省略掉啦。
       option:可以有以下几个参数:
        -u,--uid UID: 指定UID
        -g,--gid GROUP:指定基本组id,此组得事先存在
        -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔
        -c, --comment  COMMENT :指明注释信息
        -d,--home HOME_DIR:以指定的路径为用户的家目录,通过复制/etc/skel此目录并重命名实现,指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
        -s,--shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件
        -r,--system:创建系统用户

        useradd -D,显示创建用户的默认配置,
        useradd -D -s /bin/csh username
        useradd -D [OPTIONS] user  修改创建用户的默认配置 修改的结果保存于/etc/default/useradd文件中

    eg1:指定附加组,一个用户只能拥有一个基本组,也称之有效组,或者说主组,但是却可以属于多个附加组,而一个组可以有多个用户,是多对多的关系,如果有的命令还没熟悉,没关系,可以往下面继续查看,如何为用户指定附加组(useradd -G),以及后面追加附加组(usermod -aG)如下,:  
       QQ截图20151221084718.png
    passwd:修改密码,
            passwd的语法略罗嗦了,就不粘贴占空间了,可以man passwd自己查看。
(1)passwd:修改用户自己的密码
(2)passwd USERNAME:修改指定用户的密码,但仅root有此权限,
    -l,-u:锁定和解锁用户
    -d:清除用户密码串
    -e DATE:过期期限,日期
    -i DAYS:非活动期限
    -n DAYS:密码的最短使用期限
    -x DAYS:密码最长使用期限
    -w DAYS:警告期限
    另外:passwd还可以直接赋密码
        echo "passwd" | passwd --stdin username

    chage命令:更改密码的过期信息,主要是对应修改/etc/shadow里面的数据
    -l:列出密码的详细参数
    -d  :修改创建密码的距离19700101那天的秒数,即将最近一次密码设置时间设为“最近日期”    chage -d "487208" centos
    -E:修改过期时间
    -W:指定警告时间
    -m:密码最短可修改天数
    -M:密码最长必须修改天数

            userdel命令:删除用户
    userdel [选项] username
    -r:删除用户时一并删除其家目录

            usermod命令;修改用户属性
    usermod [option] username
    -u,--uid UID:指定新的UID
    -g:--gid GROUP:修改用户所属的基本组:
    -G,   --groups GROUP1[,GROUP2,...[,GROUPN]]]修改附加组,原来的附加组会被覆盖
    -a:--append,与-G一同使用,用于为用户追加新的附加组
    -c, --comment  COMMENT :指明注释信息-d,--home HOME_DIR:修改用户的家目录,用户原有的文件不会被移置新位置   默认修改是不创建新的文件位置的
    -m,--move-home,只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
    -l,--login NEW_LOGIN:修改用户名
    -s,--shell SHELL:修改用户默认的shell
    -L;--lock 锁定用户密码
    -U,--unlock;解锁用户的密码

    eg2:修改用户名(usermod -l)以及修改用户家目录并移除原来目录(usermod -md)如下:

QQ截图20151221084726.png
    2.用户组的创建
                涉及命令:groupadd,groupdel,groupmod,gpasswd
             groupadd命令:添加组
        groupadd [option] group_name
        -g GID:指定GID,默认是上一个组的GID+1
        -r:创建系统组

              groupmod命令:修改组属性
        groupmod [option] groupname
        -g GID:修改gid
        -n newname:修改groupname
groupdel命令:
        groupdel [option] group

              gpasswd:修改组密码,并且设置user
                            gpasswd [option] group
        -a USERNAME:向组中添加用户
        -d USERNAME:从组中移除用户

    3.检验以及查看用户即用户组
      我们知道系统关机后,内存里面的数据是不会存在的,而且像账号密码这么重要的数据当然是需要写到磁盘上面去了,而且应该是写到某个固定的文档中去了,对吧。下面我想介绍两种查看用户及用户组方法:通过命令查看和通过文档查看
   (1)通过命令查看:id     
     id命令:显示用户的真实和有效ID
        id [option]... [user]
        -u:仅显示有效的UID
        -g:仅显示用户的基本组
        -G:仅显示用户所有的组
        -n:显示名字而非ID,和上面的参数可以搭配使用
   (2)通过文档查看:tail -n /etc/passwd | /etc/shadow | /etc/group
       这仨文档有什么关系呢:当我们登录到系统时,输入账号密码后,系统会根据你输入到账户到/etc/passwd搜寻看有没有这个账户,即/etc/passwd里面的name,没有则退出,有的话,再去/etc/shadow里面去核对密码,当所有都无误了
           /etc/passwd:主要是存放user信息的库
            name:password:UID:GID:GECOS:directory:shell
           /etc/shadow:单独存放user的密码
           用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期限:过期期限:保留字段
           /etc/group:存放group信息的库
           group_name:password:GID:user_list
              注意user_list只显示附加组
          提示:当然也有/etc/gpasswd,不过看需求设定了,这里不阐述了




    总结:
    1.查看系统支持的shells:  cat /etc/shells
    2.用户添加附加组有三种方法:第一:usermod -aG  username ,第二: gpassword -a username groupname,第三:vi /etc/group,在最后一项添加username
    删除附加组: gpasswd  -d  USERNANME,vi /etc/group
    3./etc/passwd,/etc/shadow,/etc/group的默认设置是在 /etc/login.defs
    4.我想也有人好奇过系统passwd的加密究竟用的哪种加密算法,在/etc/shadow里面的第二字段就有据可查,总共由3个$符隔开,第一和第二个$之间表示加密的算法,为6表示sha512,第二个$和第三个$之间表示的是salt,最后一段就是真正的加密数据了。
        passwd --status  USERNAME ,或者 passwd -S USERNAME 可以也可以查看账户的属性以及使用的什么加密算法

        加密算法到处都能搜到,以下零碎不用管了,仅作为提醒自己记忆:
            加密算法 对称和非对称
                公式:s={p,c,k,e,d}, p=Ek(c),c=Dk(p)
                对称 DES,3DES,RC2 RC4
                非对称 RSA DSA
                单向加密 md5 sha base64 hmac
        加密算法代号:   
            1     md5:message digest,128bits  消息摘要
    2  sha:secure hash algorithm   安全的哈希算法,160bits
    3  sha224
    4  sha256
    5  sha384
    6  sha512



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-154014-1-1.html 上篇帖子: Linux之Raid详解 下篇帖子: Linux之LVM详解 用户
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表