Linux自学笔记——用户和组管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux自学笔记——用户和组管理相关的知识,希望对你有一定的参考价值。

资源分派:

       Authentication:认证

       Authorization:授权

       Accouting:审计

              Audition

       token,identity(username/password)

linux用户:username/UID

       管理员:root,0

       普通用户:1-65535

              系统用户:1-499,1-999

                     对守护进程获取资源进行权限分配;

              登录用户:500+,1000+

                     交互式登录;

Linux组:groupname/GID

       管理员组:root,0

       普通组:

              系统组:1-499, 1-999

              普通组:500+, 1000+

Linux安全上下文:

       运行中的程序:进程(process)

              以进程发起者的身份运行;

                     root:cat

                     tom:cat

              进程所能够访问的所有资源的权限取决于进程的发起者的身份;

Linux组的类别:

       用户的基本组(主组)

              组名同用户名,且仅包含一个用户:私有组

       用户的附加组(额外组):

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

       /etc/passwd:用户及其属性信息(名称、UID、基本组ID等等);

       /etc/group:组及其属性信息;

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

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

/etc/passwd

       name:password:UID:GID:GECOS:directory:shell

       用户名:密码:UID:GID:GECOS:主目录:默认shell

/etc/group

       group_name:password:GID:user_list

       组名:组密码:GID:以当前组为附加组的用户列表(分隔符为逗号)

/etc/shadow                                                                root:$6$QBOOu5fJ9rGlA8mU$2Gi8zdRUONPxkaYhcwfR/cSangkqV0bnXnxMqrLNGU1xOfL5EmVfsKNz84Oop41THyXMUtzQsCsv80Bn7fwqe0::0:99999:7:::

用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:最大密码使用期限:密码警告时间段:密码禁用期:账户过期日期:保留字段

  加密机制:

         加密:明文 à 密文

         解密:密文 à 明文

        

         单向加密:提取数据指纹

                md5:message digest ,128bits

                sha1:secure hash  algorithm,160bits

                sha224:224bits

                sha256:256bits

                sha384:384bits

                sha512:512bits

        

                雪崩效应:初始的条件的微小改变,将会引起结果的巨大改变;

                定长输出:

  密码的复杂性策略:

1.      使用数字、大写字母、小写字母及特殊字符中至少3种;

2.      足够长;

3.      使用随机密码;

4.      定期更换;不要使用最近曾经使用过的密码;

 

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

用户创建:useradd

       useradd [options]  LOGIN

              -u  UID:[UID_MIN,UID_MAX],定义在/etc/login.defs

              -g  GID:指明用户的所属基本组,可为组名,也可以为GID;

              -c “COMMENT”:用户的注释信息;

              -d  /path/to/home_dir:以指定的路径为家目录;

              -s  SHELL:知名用户的默认shell程序,可用列表在/etc/shells文件中;

              -G  GROUP1[,GROUP2,…]:为用户指明附加组;组必须事先存在;

              -r:创建系统用户

                     Centos6:ID<500

                     Centos7:ID<1000

       默认值设定:/etc/default/useradd文件中

 

组创建:groupadd

       groupadd  [option] … groupname

              -g GID: 指明GID号;[GID_MIN, GID_MAX]

              -r: 创建系统组;

                     CentOS 6: ID<500

                     CentOS 7: ID<1000

 

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

       id  [option] … [user]

              -u:UID

              -g:GID

              -G:GROUPS

              -n:Name

 

切换用户或以其他用户身份执行命令:su

       su  [options]  [-]  [user  [args…]]

              切换用户的方式:

                     su  username:非登录式切换,即不会读取目标用户的配置文件;

                     su  - username:登录式切换,会读取目标用户的配置文件;完全切换;

 

                     Note:root  su至其他用户无需密码;非root用户切换时需要密码;

              换个身份执行命令:

                     su [-] username  -c  ‘COMMAND’

              选项:

                     -l:“su -l  username”相当于“su  -  username”

 

用户属性修改:usermod

       usermod  [option]  login

              -u  UID:新的UID;

              -g  GID:新基本组

              -G  GROUP1[,GROUP2,…]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append

              -s  SHELL:新的默认shell

              c 'COMMENT':新的注释信息;

              -d HOME: 新的家目录;原有家目录中的文件不会同时移动至新的家目录;若要移动,则同时使用-m选项;

              -l login_name: 新的名字;

              -L: lock指定用户

              -U: unlock指定用户

              -e  YYYY-MM-DD: 指明用户账号过期日期;

              -f  INACTIVE: 设定非活动期限;

给用户添加密码:passwd

       passwd  [OPTION] username:修改指定用户的密码,仅root用户权限

       passwd:修改自己的密码;

              常用选项:

                     -l:锁定指定用户;

                     -u:解锁指定用户;

 

                     -n  mindays:指定最短使用期限;

                     -x  maxdays:最大使用期限

                     -w  warndays:提前多少天开始警告

                     -I  inactivedays:非活动期限

 

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

                            echo “PASSWORD”| passwd  --stdin  USERNAME

删除用户:userdel

       userdel  [option] …   login

              -r:删除用户家目录;

组属性修改:groupmod

       groupmod  [option]…   group

              -n  group_name:新名字

              -g GID:新的GID;

组删除:groupdel

       groupdel  GROUP

组密码:gpasswd

       gpasswd  [option]  GROUP

              -a  user:将user添加至指定组中;

              -d  user:删除用户user的以当前组为组名的附加组;

 

              -A user1,user2,…:设置有管理权限的用户列表

       newgrp命令:临时切换基本组;

              如果用户本不属于此组,则需要组密码;

修改用户属性:chage

       chage [OPTION]... LOGIN

              -d LAST_DAY

              -E, --expiredate EXPIRE_DATE

              -I, --inactive INACTIVE

              -m, --mindays MIN_DAYS

              -M, --maxdays MAX_DAYS

              -W, --warndays WARN_DAYS

权限管理:

文件的权限主要针对三类对象进行定义:

       owner: 属主, u

       group: 属组, g

       other: 其他, o

每个文件针对每类访问者都定义了三种权限:

       r: Readable

       w: Writable

       x: eXcutable

 

文件:

              r: 可使用文件查看类工具获取其内容;

              w: 可修改其内容;

              x: 可以把此文件提请内核启动为一个进程;

       目录:

              r: 可以使用ls查看此目录中文件列表;

              w: 可在此目录中创建文件,也可删除此目录中的文件;

              x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录;

       --- 000 0

       --x 001 1

       -w- 010 2

       -wx 011 3

       r-- 100 4

       r-x 101 5

       rw- 110 6

       rwx 111 7

             

例如:

              640: rw-r-----

              rwxr-xr-x: 755

修改文件权限:chmod

chmod [OPTION]... OCTAL-MODE FILE...

              -R: 递归修改权限

chmod [OPTION]... MODE[,MODE]... FILE...

              MODE:

                     修改一类用户的所有权限:

                            u=

                            g=

                            o=

                            ug=

                            a=

                            u=,g=

                     修改一类用户某位或某些位权限

                            u+

                            u-

       chmod [OPTION]... --reference=RFILE FILE...

              参考RFILE文件的权限,将FILE的修改为同RFILE;

修改文件的属主和属组:

       仅root可用;

       修改文件的属主:chown

              chown [OPTION]... [OWNER][:[GROUP]] FILE...

                     用法:

                            OWNER

                            OWNER:GROUP

                            :GROUP

                     Note: 命令中的冒号可用.替换;

                     -R: 递归

              chown [OPTION]... --reference=RFILE FILE...

修改文件的属组:chgrp

      chgrp [OPTION]... GROUP FILE...

              chgrp [OPTION]... --reference=RFILE FILE...

              -R

文件或目录创建时的遮罩码:umask

    FILE: 666-umask

          Note: 如果某类的用户的权限减得的结果中存在x权限,则将其权限+1

DIR: 777-umask    

 

    umask: 查看

    umask #: 设定

 


以上是关于Linux自学笔记——用户和组管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux自学笔记——linux进程及作业管理

Linux 自学笔记——内核管理初步及编译

linux自学笔记——rpm程序包管理

CentOS 学习笔记 [自学记录]

Ubuntu自学笔记四

linux自学笔记--iptables