且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

用户和权限管理 ⑩

更新时间:2022-06-29 09:38:03

一、加密算法:

1、对称加密:加密和解密使用同一个密码就是对称加密。

  如:DES,3DES,AES

2、非对称加密(公钥加密):加密和解密使用不同的密码就是非对称加密,(私钥、公钥)

  如:DSA、RSA

3、单向加密:雪崩效应,定长输出,不可逆。

  如:MD5,SHA1,SHA256,SHA512

4、linux中/etc/shadow的加密信息详解:

root:$1$OxbRlipu$WgkOT/tBu/Dt70ZI7tX4u0:17071:0:99999:7:::

root:用户

$1:md5加密算法

$OxbRlipu:salt

$WgkOT/tBu/Dt70ZI7tX4u0:加密后的密码


二、用户和组:


1、用户类别:

(1)、管理员:root,uid=0

(2)、系统用户:uid=1-499,无家目录,不能登录,默认shell为/sbin/nologin.

(3)、登录用户:uid=500-65535

2、用户组:

基本组:显示在/etc/passwd中的gid为用户的基本组。

额外组也叫附加组:/etc/group

3、与用户相关的命令和文件:

(1)、useradd 

  -u:uid

  -g:gid基本组,但gid要事先存在

  -G:Gid附加组,但Gid要事先存在

  -d:指定用户的家目录,但要创建的家目录不要事先存在

  -c:comment 备注信息

  -s:指定默认shell,默认为/bin/bash

  -M:创建用户时,不创建用户的家目录

  -r:创建的用户为系统用户,id号1-499之间,不会为用户创建家目录,不能登录,

     默认shell为/sbin/nologin

(2)、userdel

(3)、usermod

  -u:uid

  -g:gid基本组,但gid要事先存在

  -G:Gid附加组,但Gid要事先存在,默认是覆盖原来的附加组;如果添加则使用-a选项。

  -c:comment 备注信息

  -s:指定默认shell,默认为/bin/bash

(4)、passwd:设定密码

   普通用户:passwd 

   管理员:

改自己的密码:passwd

改其他人的密码:passwd UserName

(5)、id:查看用户的相关信息,id UserName.

  -u:显示uid

  -g:显示基本组id,和-n 一起使用,显示基本组名。

  -G:显示附加组id,和-n 一起使用,显示所有组名。

(6)、/etc/passwd

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

  guangtq:x:501:501::/home/guangtq:/bin/bash

  用户名:密码占位符:uid:基本组id:备注信息:用户的家目录位置:默认shell

(7)、/etc/shadow

(8)、chsh:修改用户默认shell

(9)、chfn:修改用户注释

4、与组相关的命令和文件:

(1)、groupadd 

  -g:gid

(2)、groupdel

(3)、groupmod

(4)、/etc/group

    testgroup:x:888:user1

    组名:组密码占位符:组id:以这个组为附加组的用户列表(用户列表用,隔开)

三、su:switch user 切换用户

1、 su -:登录切换用户,如 su - testuser

1、 su :无-非登录切换用户,如 su testuser


四、权限管理:


1、chown:修改属主的命令。

重用选项:    

-R:递归

--reference:参照  

PS:chown也可以改一起改属主和属组,chown 属主:属组 FileName

  chown也可以单独属组,chown :属组 FileName

2、chgrp:修改属组的命令。

重用选项:    

-R:递归

--reference:参照 


3、chmod:修改文件权限的命令。

重用选项:    

-R:递归

--reference:参照 


使用chmod三类方式操作权限如下:

(1)、使用8进制形式。

   如:rw-r--r--==>rwxr-xr-- ,则命令为chmod 754 fileName

(2)、使用u,g,o,a来赋权,基于=或+/- 来进行。

 u:属主

 g:属组

 o:其它

 a:所有

 =:指定某类用户的权限,如u=,g=,o=,a=

 +/-:指定某类用户的单个权限,如u+x,u-x,g+r,o-x,+x即a+x使所有用户都有x权限。

如:rw-r--r--==>rwxr-xr-- ,则命令为chmod u=rwx,g=rx fileName

如:rw-r--r--==>rwxr-x--- ,则命令为chmod u=rwx,g=rx,o= fileName

如:rw-r--r--==>使fileName属主拥有x权限,则命令为chmod u+x fileName

(3)、使用--reference,参照其它文件的权限为当前文件赋权。

如:chmod --reference=myuser/.bash_logout myuser/.bash_profile

五、umask:用户遮罩码

(1)、创建文件:666-umask

             注意:文件默认决不允许出现执行权限,如果666-umask出现执行权限,要+1.

                        如,umask=023,那么666-023=643,那么+1后变为644

(2)、创建目录:777-umask

(3)、普通用户:如果用户名和基本组名一致,用户的umask为002,否则为022。

              root:umask为022

(4)、修改用户的umask:

        如:umask 023,修改当前用户的umask为023


六、权限应用模型:

   进程(当前用户)的属主,是否与文件的属主相同;如果相同,进程则以文件属主的权限类访问文件;否则,进程(当前用户)的属主所属的组,其中之一是否与文件的属组相同,如果相同,进程则以文件属组的权限类访问文件;否则,进程则以文件的其它用户的权限来访问文件。















本文转自lzf0530377451CTO博客,原文链接:http://blog.51cto.com/8757576/1874166 ,如需转载请自行联系原作者