天天看点

用户和组、权限

                   用户和组管理

  要想对用户和组的管理有更深入的了解,应该先了解相应的概念,然后对相应的命令进行记忆和操作,记住要多加练习。

一、相关知识

UNIX操作系统:是通过多用户、多任务环境实现的          

 密码:验证用户身份的凭证;

权限:界定不同的使用者本身所能够操作的资源的范围的

SAM数据库:用来验证用户密码、存储密码和用户,是强加密文件

linux用户密码存放实现加密:

 MD5:Message Degist 信息摘要,数据的指纹,数据特征码;唯一标识一段数据的;

① 单项加密:只能根据特征码取得数据,不能通过特征码还原数据;

特征:1、雪崩效应:避免防暴力破解;

2、 输入数据是任意大小,输出数据是定长的

           ② 采用单项加密技术

  例:MD5(输出数据128bit) ----linux当中用户是通过MD5加密

SHA1(输出数据160bit)---------安全哈希算法

SHA256(输出数据256bit)

长度越长,安全性越好,计算时间越长,效率越低

二、用户与组

1、用户

用户:是获取特定资源的集合,权限集合的映射,是权限的集合,是获取资源的凭证

uid(user identification):是用户的标识符,是用来识别用户        

用户名:可公开,是用户的外部表示;

用户:管理员-----------root   ID=0

      系统用户--------ID=1-499; 让后台进程运行所给的用户

      普通用户--------ID>=500

用户信息存放在文件/etc/passwd中,可用命令id来查询用户标志。

2、组

组:group ,是具有某种联系或关系的用户集合,需要密码

组名:是组的外部表示

GID :是组的标识符

组:由多个用户组成,用于实现权限的分类;组是权限的容器  

组:两种分类方式:1.私有组,系统组,公共组

                  2. 基本组,额外组(附加组)   

用户组信息存放在文件/etc/group中,可用命令id来查询用户组标志。

安全上下文:发起的命令由进程运行,以发起者的身份运行;

3、权限

文件权限:r------读          w------写          x:-------执行

目录权限:r-------查看ls  w-----建立或删除文件    x---cd换至此目录,或者ls -l 文件     

二进制表示:---  000  0

            --x  001  1

            -w-  010  2

            -wx  011  3

            r--  100   4

            r-x  101   5

            rw-  110   6

            rwx  111   7

用户:/etc/passwd    644

密码:/etc/shadow    400   

组:  /etc/group

组密码:/etc/gshadow

/etc/passwd -----系统用户数据库文件,包括系统内所有已经注册用户的信息;格式:

username:[password]:uid:pid: CECOS:[comment]:dir:[shell]

username------用户名,以字符开头,不使用大写字母

password-----密码;在redhat系统中设置为“x”

uid----用户标识号

pid-----用户组标识号

CECOS:补充信息

comment-----说明域,包括用户详细信息说明;不能包含冒号,可以为空

dir------用户家目录$HOME,即用户登录成功后的工作目录或当前目录

shell------shell程序,默认是/bin/bash

/etc/shadow----影子密码文件,启动时,用于存放系统内用户的加密后的密码和用户登录控制信息;密码最短使用时间:不做限制(尽可能的指定密码):密码过期的警告时间:密码过期之后必禁用:明确密码禁用:目前尚未使用

 username:password:lastchanged:minimum:maximum::::

username------与passwd内容对应的用户名

password-------加密后的密码;为空,表示无密码;当开头的两个字符为“!!”,标识用户被上锁没加密,不允许登录;一般情况下,新创建的用户是被上锁的

lastchanged-----从某天(19700101)到上次修改密码时间的间隔天数

minimum-----必须修改密码的天数间隔,密码最短使用期限;默认为0

maximum-----新密码的最长有效天数;不做限制(尽可能的指定密码)

warndays-------密码过期的警告时间

密码过期之后必禁用

明确密码禁用

目前尚未使用

/etc/group----组定义文件,格式:

groupname:password:gid:userlist

groupname---组名

password-----组密码;为空,则不需要密码;在redhat系统中设置为“x”,可用gpasswd设置密码,并有newgrp等命令使用

gid------组标志号

userlist------组成员元,为以逗号分隔的用户;附加组

#cat /etc/shells----用户的合法shell

     /sbin/nologin-------禁止用户登录

用户管理命令:

useradd-------添加用户

用法:#useradd USERNAME

      选项: -u  UID-----指定UID

           -g  GID------指定GID,组事先存在;如果组不存在,会报错

           -c   "string" --------- 注释,说明;不含“:”,和回车的长度<512的字符串

           -d   PATH ----------- 指定家目录,创建家目录在/home目录下;家目录不存在

           -s   SHELL---------指定shell   /etc/shells

           -G  grp1,grp2,…-----------指定附加组

           -M   ----------不创建家目录

           -m   ----------创建家目录

           -D   -----------设置默认值

                -b  HOMEPATH --------家目录,默认指定

                -s   SHELL---------默认指定

 /etc/group   以此附加组用户列表

添加用户,背后做的工作:

添加一行:/etc/passwd  | /etc/shadow  | /etc/group  /home/USERNAME---环境配置文件 

添加用户的默认值的位置--------- /ect/defult/useradd 

用户设置密码: passwd  USERNAME 

用法:passwd   USERNAME 

        选项:-l-------锁定指定用户账号

              -u-------解锁用户账号的锁定

              --stdin  实现在管道中传递的,实现密码和用户使用同一个名

                   eg: echo redhat | passwd –stdin gentoo

-n-----密码最短使用期限

添加密码时用户属性的默认值的位置---------/etc/login.defs添加密码时

#cd /etc/skel----  用户的环境变量

$1$:1代表UID5

bc-----------计算器

scale=2  精度的多少

pwck------检测文件密码是否仍然在有效期内

       #less/etc/login.defs:UID\GID的最大值和最小值

用户帐号管理;修改相关信息:

chfn   USERNAME----------改变finger信息

chsh   USERNAME-----------改变shell

usermod------------用户修改的相关信息

     -u  UID

     -g  GID

     -G   附加组存在会覆盖    -a -G       追加附加的组

     -c----------注释

     -d  家目录 -------家目录不存在    -m –d--------

     -s  SHELL

     -l   NEWLOGNAME-------改变用户名,登录名

     -L   锁定用户账号

     -U   解锁用户账号

     -o   两个用户可以使用同一个账号

     -e   用户帐号的锁定时间,失效时间

chage --------- 改变用户密码的失效时间

        -m  最短使用时间

userdel -----------删除用户

       -r   删除用户和家目录

finger  USERNAME--------显示用户的名称,是否登录

id  -----------显示用户的标识信息

用法:id      USERNAME

选项:-u ----------显示uid

 -g-----------显示gid

 -G--------显示groups

      -n -------- 显示名字

关于组的相关信息:

groupadd

        -g  GID

        -r  把此组添加为系统组

groupmod   修改组信息

        -g   修改GID

        -n   修改组名

groupdel---------删除组

gpasswd   GRPNAME----------添加组密码

newgrp-------登入另一个组

继续阅读