Linux用户管理各命令的使用

   unix的元年为1970年的1月1日

   现行的各个版本的系统,无论是win还是linux大都遵循3A用户及权限管理机制即(Authencattion 身份认证机制、Authorzation 授权、Accounting 审计)

    wKiom1XduhqQ4UidAAF_MPrrbP0906.jpg

如图,当用户输入用户名密码后,系统通过查找passwd文件中相对应的UID,GID,以及所属组的信息,确认用户存在与否,如果存在,那么登陆账户,执行操作,如果没有,那么重新登陆。


[root@test1 ~]# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

以上内容为我passwd中相关root的信息,其从左至右依次为username,password,uid,gid,GECOS,homefile,shell。

username    不用多说,基本上都知道,根据角色,权限都会用不同的username

password    经过加密的密码文件信息,在Centos5.x及以下用到的加密方式为md5,但在Centos6及          以上好像用的加密方式是sha512,并保存在/etc/shadow文件下

UID      用户的ID号码,机器通过ID号码查找你的用户名及密码信息是否正确,个数为0-65535个

        其中普通用户:1-60000

           系统用户:

               CentOS6: 1-499

               CentOS7:1-999

            登录用户:

                CentOS6: 500+

                CentOS7: 1000+

GID      GroupName组ID,用于分配用户的权限及角色,它的主要配置文件为/etc/gshadow              和/etc/group,一些公司的邮件系统基本上都是使用的这个来区分职能,linux对于组的分          配:      

        管理员组:0

        普通组:

              Centos6.X:1-499

               Centos7.X:1-999

          登陆用户:

            Centos6.X:500+

            Centos7.X:1000+

GECOS      用户的一些详细信息

HOMEFILE    家目录,存放一些个人角色用户的文件

SHELL     用户默认shell

注:/etc/shadow文件管理的是用户的密码信息,为单向不可逆文件,如以下代码文件:

wKioL1Xdz5zgvRfFAAIrAXHB3lE726.jpg其格式为:

    login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field

他的数据分别以":"或者"$"间隔开来

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

useradd、usermod、passwd、userdel

groupadd、groupmod、gpasswd、groupdel

chage, chsh, chfn

id, w, who, whoami

su


useradd:创建用户

useradd [options] LOGIN

useradd -D [options]

-r: 创建系统用户

-u UID: 指定UID;

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

-c 'COMMENT':

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

-s SHELL:设定用户的默认shell;

cat /etc/shells

-G GID,...:指定所属的附加组;

-M: 不给用户创建家目录;

        groupadd:创建组

groupadd [OPTIONS] GROUPNAME

-g GID: 指明组ID;

-r: 创建系统组;

               

[root@test1 ~]# groupadd database

[root@test1 ~]# groupadd sql

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

id [OPTION]... [USER]

-u: UID

-g: GID

-G: Groups

-n: NAME

[root@test1 ~]# id -G Oracle

3000 501 502

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

切换方式:

su USERNAME: 非完全切换;非登录式切换

su - USERNAME或su -l USERNAME: 完全切换;登录式切换


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

su - USERNAME -c 'COMMAND'


usermod:用户属性修改

usermod [OPTION]... LOGIN

-u UID

-g GID

-G GID[,GID,...]:修改用户所属的附加组;同时使用-a选项;

-s SHELL

-c 'COMMENT'

-d HOME: 修改用户的家目录为新位置时,用户原来的文件是不会被                            移动至新家;-m选项可实现同时将其迁至新的家目录;

-l LOGIN:


-L:lock user

-U: unlock user

[root@test1 ~]# useradd nicai

[root@test1 ~]# usermod -l Oralce nicai

[root@test1 ~]# cat /etc/passwd

Oracle:x:3000:3000::/home/database:/bin/bash

Oralce:x:3001:3001::/home/nicai:/bin/bash


passwd:给用户添加密码

passwd [OPTION] [UserName]


-l: lock user

-u: unlock user


-n mindays: 最短使用期限;

-x maxdays:默认为99999天;

-w warndays:

-i inactivedays:


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


echo 'centos' | passwd --stdin centos


userdel:删除用户

userdel [-r] USERNAME

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

    wKiom1XeYlTg0uDEAAMO6p1pBx8337.jpg


groupmod: 组属性修改

groupmod [OPTION] GROUPNAME

-n GROUP_NAME

-g GID


        gpasswd:设定组密码


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


groupdel:删除组

chage:修改用户账号及密码的属性

chage [OPTION]... LOGIN

其它命令:chfn, chsh, finger, whoami, who

例如:

    创建用户Oracle,所属附加组database和sql,ID号为3000, 家目录为/home/database;

    [root@test1 ~]# useradd Oracle -G database,sql -u 3000 -d /home/databasewKiom1XeWGzx9B-qAAEa3zuPUu0620.jpg


你可能感兴趣的:(linux,加密,用户,Linux权限)