分享

账号和权限管理

 夜猫速读 2022-05-05 发布于湖北

一、用户和组账号的概述;

二、用户及组账号的管理;

三、管理目录及文件的属性;

四、扩展;

一、用户和组账号的概述;

1.概念:用户:包含一个名和密码,人在计算机中的体现方式,包含root、普通用户、程序用户;

           组:用户的集合,批量管理用户群权限,包含基本组、附加组(一个用户只能属于一个基本组,但是可以属于多个附加组);

           权限:限制用户访问资源(文件、app、进程、硬件等);

           UID:每个用户账号都有一个数字标识(身份证),root(0)、普通用户(500-60000)、程序用户(1-499);

           GID:每个组账号的唯一身份标识;root(0)、普通组账号(500-60000)、程序组账号(1-499);

2.用户和组的文件;

  /etc/passwd        ##账号文件

  /etc/shadow        ##密码文件

  /etc/group        ##组账号文件

  /etc/gshadow        ##组密码文件,很少使用

3.用户账号文件格式:/etc/passwd

     用户名:密码占位符:UID:GID:全名:家目录:登陆shell解释器

        密码占位符:可能是以密文的字符串代表或者X密码占位符;

        登陆shell解释器:用户默认的的解释器,默认情况用户使用/bin/bash作为shell,若修改为/sbin/nologin(禁止登陆),

4.用户密码文件格式;/etc/shadow

  用户名:MD5加密的密码字串信息:上次修改密码到现在的时间:密码最短有效天数:密码最长有效天数:提前几天警        告用户密码将要过期:在密码过期多少天后禁用账户:账号失效时间(默认为空,表示永久);保留字段

        密码字串信息:

          !!:未初始化密码,新建用户的默认状态

          密码字符串:修改密码后的状态

          !!加密字符串或*加密字符串:密码被锁定,不能登陆

          空:登陆不需要密码,只能本地登录(无需密码)

5.组账号文件:/etc/group

  组名:密码占位符:GID:成员列表

二、用户及组账号的管理;

1.用户的管理:

  增:useradd 选项 用户名

          选项:-d        ##指定家目录                -M   ##不指定家目录

                  -s        ##指定用户的登陆shell

                  -g          ##指定用户的基本组

                  -G          ##指定用户的附加组(可指定GID)

  删:userdel -r 用户名

        删除用户的同时也将家目录一并删除

  改:usermod 选项 用户名

         选项:包含创建用户的所有选项

           passwd 用户名                ##为用户设置密码

         passwd 选项 用户名

          选项:-d        ##清空用户的密码(不用密码登录)

                   -l                ##锁定用户

                   -u                ##解锁用户

                   -S                ##查看用户锁定状态

         chsh -s 解释器目录 用户名        ##更改用户的shell解释器

  查:

         grep 用户名 /etc/passwd                ##查看账号信息

         id 用户名        ##显示用户UID和所属组

         w                ##查看当前主机的登陆情况

2.组的管理:

  增:groupadd 组名

        选项-g可指定GID;

  删:groupdel 组名

  改:gpasswd 选项 用户名 组名

        选项:-a         ##将单个用户添加到某个组

                 -M  ##将多个用户添加到某个组,用户之间用逗号隔开

                 -d         ##将某个用户在某个组中删除

  查:

        groups 用户名                ##查看用户属于哪个组

        grep 组名        /etc/group                ##查看组信息

三、管理目录及文件的属性;

1.概念:

  访问权限:读取(r)、写入(w)、执行(x)

  归属:属主:拥有该文件的用户

           属组:拥有该文件的组账号

2.查看文件或目录的属性:

  ls -ld 目录或文件位置

  格式:文件类型、权限、inode数量、属主、属组、大小、日期、文件名

  权限列表:

        第一个字符:文件类型,d目录、b块设备文件、c字符设备文件、l链接文件、-普通文件;

        第2-4个字符:属主对文件的权限;

        第5-7个字符:属组对文件的权限;

        第8-10个字符:任何用户对文件的权限;

  权限的表示:

        r:读取,查看内容,也可以用4表示;

        w:写入,写入(删除、更改、移动等)内容,也可用2表示;

        x:执行,执行此文件或cd到此目录,也可用1表示;

  3.设置文件或目录的权限;

        语法:chmod [ugoa] [+-=] [rwx] 文件或目录

        举例:chmod g-x, o-r 文件或目录

        选项:-R 表示递归权限,目录下的子目录子文件继承父级目录的权限;

        语法:chmod 775 文件或目录

.4.设置目录或文件的归属;

        语法:chown 属主 文件或目录                ##设置其属主

                 chown :属组 文件或目录                ##设置其属组

                 chown 属主:属组 文件或目录                ##设置其属主和属组

        注:选项-R 递归可将其子目录子文件继承父级目录的归属;

四、扩展:

1.umask文件反权限:

  umask                                ##查看系统的默认权限反掩码值,文件最大权限为666,目录最大权限为777

  umask ###                        ##手动更改文件权限的反掩码值,更改后创建文件或目录验证反掩码值

2.chattr锁定文件:

  chattr +i 文件路径                ##锁定文件,不得移动删除等

  chattr -i 文件路径                ##解锁文件

账号和权限管理课堂练习



tail /etc/passwd 查看账号文件

tail /etc/shadow 查看密码文件

useradd -d /tmp/u01 u01

新建用户u01并指定家目录为/tmp/u01,指定基本组为u01

tail /etc/passwd 验证创建的用户u01

tail /etc/shadow 验证创建的用户u01

passwd u01 为u01设置密码

123123

123123

passwd -S u01 查看用户状态

usermod -L u01 锁定用户u01

passwd -S u01 查看用户状态

passwd -u u01 解锁用户u01

passwd -S u01 查看用户状态

chsh -s /sbin/nologin u01

更改u01的登陆shell为/sbin/nologin

su - u01 登陆u01,发现不能登陆

chsh -s /bin/bash u01 更改u01的登陆shell为/bin/bash

su - u01 成功登陆u01

exit 退出会话

userdel -r u01 删除u01用户

tail /etc/passwd 验证无u01用户

tail /etc/group 查看组账号文件

groupadd -g 666 g01 创建GID为666的组g01

tail -1 /etc/group 验证创建的组g01

useradd u01 创建三个用户

useradd u02

useradd u03

gpasswd -M u02,u03 g01 将u02,u03添加到g01

gpasswd -a u01 g01 将u01添加到g01

groups u01 查看u01用户属于哪个组

grep g01 /etc/group 查看g01组都包含哪些用户

gpasswd -d u03 g01 将u03用户在g01组中删除

grep g01 /etc/group 验证g01组内成员

cd /tmp 将工作目录切换到/tmp

rm -rf ./* 删除当前目录下的所有文件

mkdir benet 创建目录benet

touch ./benet/1.file 创建benet目录下的文件1.file

ls -ld benet 查看benet目录的默认权限和归属

chmod g-x benet 将benet目录的属组去掉执行权限

ls -ld benet 验证benet目录的权限是否去除属组的执行权限

chmod 744 benet 将benet目录的权限设置为rwxr--r--

ls -ld benet 验证benet目录的权限是否同上

chmod a-r benet 将benet目录的所有人都去掉q读取权限

ls -ld benet 验证benet目录是否还有读取权限

chmod 755 benet -R 设置benet目录权限为rwxr-xr-x,并递归到其子文件子目录

ls -ld benet/1.file 验证benet目录下的子文件的权限是否同上

chown u01 benet/1.file 设置1.file文件的属主为u01

ls -ld benet/1.file 验证1.file文件的属主是否更改为u01

chown u02:g01 benet/1.file 同时设置1.file文件的属主为u02,属组为g01

ls -ld benet/1.file 验证1.file的归属



    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多