码迷,mamicode.com
首页 > 系统相关 > 详细

Linux学习之路1-用户管理和权限管理

时间:2015-08-27 00:40:50      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:database   linux   用户名   管理员   

用户管理和权限管理

 

 

用户

 linux的用户账号记录主要存放在/etc/passwd,每增加一个用户就会新增一行。每一行一共有7个字段,用冒号分隔技术分享

 

每个字段的含义:

aa:x:300:503::/home/database:/bin/bash

用户名:密码:UIDGID:注释:家目录:用户默认shell

 

我们来解析一下每一个字段的含义

     用户名:也就账号名,有字母、数字、字符组成,不能以数字开头

     密码:这里的密码会用X字符代替,为了安全,真正的密码存放在/etc/shadow里面

UID:用户ID号,每一个用户都有唯一的ID号标示,系统识别用户最终是根据UID来识别,而不是用户名,用户名转换为UID这一过程称为名称解析。Linux UID最大范围是0-65535,正常使用1-60000,管理员UID固定为0。在Centos6上,1-499为系统用户预留,普通用户使用500以上,而在Centos71-999为系统用户预留,普通用户使用1000以上

GID:用户基本组ID,和UID一样,都有唯一的标示

注释:自定义的备注信息

家目录:当新建用户的时候都会有一个用户自己的目录,没特别指定位置都会在/home下面,和用户名一样

shell:指定用户使用的shellcentos默认为bash shell

 

用户组:

    用户的组信息存放在/etc/group,一共4个字段,以:号分隔

    各字段的说明:

        dx:x:500:aa

    组名:组密码:GID:用户列表

 

    其中组密码和/etc/passwd用的用户密码一样,为了安全,用X替代,真实密码会存放        在/etc/gshadow里面,同样是经过加密后的(SHA512加密).

用户列表:它们的附加组属于这个组

 

 

 

另外,关于/etc/shadow/etc/gshadow里的特别说明

我们看一下shadowgshadow里的格式

技术分享

技术分享


取其中加密后的密码字典做解析:

    $6$fMwePAO/    $RsfsCCkATlci2HBi6hUN6gU7W0I/Bf4nGP2nZoo7eqovkdORJZchXClzePNpE.9OqOfRFKAUHO.jR4THFw0xJ1

3$分隔,$id$salt$encrypted

第一个字段id:

    id1时,采用MD5进行加密

    id5时,采用SHA256进行加密

    id6时,采用SHA512进行加密

第二个字段salt:

    由于会存在某些用户使用同一个密码登陆系统,当shadow文件不小心泄漏,同样密码加密后的密文是一样的,会有被人猜到密码的可能,所以在我们每次改写密码时,都会随机生成这样一个salt.我们登录时输入的明文密码经过上述的加工后与shadow里的密码域进行字符比较,这样就算同一个密码也会有不同的密文,增加安全性。

 

用户和组的相关的配置文件:

/etc/passwd:用户名、UID、基本组等信息

              /etc/group:组名、GID、组内包含的用户;

              /etc/shadow:用户密码及相关属性;

              /etc/gshadow:组的密码及相关属性;

 

用户和组管理的相关命令:

    useradd 创建用户

    命令格式:

    useradd [options] LOGIN

    useradd -D [options] 设置新建用户时系统的默认值

                                例如:useradd –D –s /bin/tcsh 后,会改变/etc/default/useradd配置文件,下次新建用户的时候,默认shell就是/bin/tcsh

    -r 创建系统用户

    -u UID:指定UID

    -g GID:指定用户所属基本组,此组必须事先存在

    -c 备注信息

    -d 指定用户的主目录路径;此位置不能事先存在,否则/etc/skel相关用户配置文件将不被复制过去

    -s 设定用户默认shell

    -G 指定用户附加组

    -M 不给用户创建家目录

 

    例子:创建用户Oracle,所属附加组databasesql,ID号为3000,家目录为/home/database

    useradd –G database,sql –u 3000 –d /home/database

 

usermod:用户属性修改

usermod [OPTION]... LOGIN

    -u UID

    -g GID

    -G 修改用户所属的附加组;同时使用-a选项是保留原有设置,追加新的上去

    -s shell

    -c 备注信息

    -d 修改用户的家目录为新位置,用户原目录文件不会移动到新目录,但加上-m选项就可以

    -l 修改登录名

    -L 锁定用户

    -U 解锁用户

    例子:staff用户追加附加组newuser2newuser3

    usermod -G  -a staffnewuser2newuser3

 

userdel:删除用户

              userdel[-r] USERNAME

              -r:删除用户的同时删除其家目录;

    例子:删除用户aa,并把家目录一起删除

           userdel –raa

 

passwd:给用户添加密码

              passwd[OPTION] [UserName]

              -l: 锁定用户

              -u: 解锁用户

              -nmindays: 最短使用期限;

              -xmaxdays:默认为99999天;

              -wwarndays

              -iinactivedays

              --stdin:从标准输出接收用户密码;

 

            echo ‘centos‘ | passwd --stdin centos

 

 

groupadd:创建组

groupadd [OPTIONS] GROUPNAME

                            -gGID: 指明组ID

                            -r创建系统组;

        例子:创建组ID 999aa

                           groupadd–g 999 aa

 

groupmod: 组属性修改

                     groupmod[OPTION] GROUPNAME

                            -nGROUP_NAME

                            -gGID

 

 

gpasswd:设定组密码

例子:为xx组设定组密码

           gpasswd xx

groupdel:删除组

例子:删除xx

groupdel xx

 

id:查看用户相关的id信息;

                     id [OPTION]... [USER]

                            -u:UID

                            -g:GID

                            -G:Groups

                            -n:NAME

例子:显示当前用户或aa用户信息


技术分享

技术分享


suswitch user, 切换用户或以其它用户的身份执行命令;

                     切换方式:

                            suUSERNAME: 非完全切换;非登录式切换

                            su- USERNAMEsu -lUSERNAME: 完全切换;登录式切换

 

                     仅以指定用户的身份执行指定的命令:

                            su- USERNAME -c ‘COMMAND‘

                     例如su - aa -c  ‘echo"aa"‘

 

newgrp:切换基本组为指定的组

例子:把当前登陆用户aa切换为bb

           newgrpbb

 


待续。。。


本文出自 “天真小同志” 博客,请务必保留此出处http://dengxi.blog.51cto.com/4804263/1688645

Linux学习之路1-用户管理和权限管理

标签:database   linux   用户名   管理员   

原文地址:http://dengxi.blog.51cto.com/4804263/1688645

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!