Linux中账号和权限管理

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

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 文件路径 ##解锁文件

3.特殊权限之setuid 权限和 setgid 权限;

 语法:  chmod u+s 文件或目录位置  # 设置setuid权限

chmod g+s 文件或目录位置  # 设置setgid权限

  /etc/passwd的权限为 -rw-r--r--。也就是说:该文件的所有者拥有读写的权限,而用户组成员和其它成员只有查看的权限。我们知道,在系统中我们要修改一个用户的密码,root用户和普通用户均可以用“/usr/bin/passwd 用户名” 这个命令来修改这个/etc/passwd这个文件,root用户本身拥有对/etc/passwd的写权限,可以理解;那普通用户没有写权限,那他怎么也能修改呢?这里就用到了setuid,setuid的作用是让执行该命令的用户以该命令拥有者的权限去执行,就是普通用户执行passwd时会拥有root的权限,这样就可以修改/etc/passwd这个文件了。它的标志为:s,会出现在x的地方,例:-rwsr-xr-x  。而setgid的意思和它是一样的,即让执行文件的用户以该文件所属组的权限去执行。

4.特殊权限之stick bit(粘滞位)权限;

 语法:  chmod o+t xxx #设置stick bit权限,针对目录

  我们知道/tmp是系统的临时文件目录,所有的用户在该目录下拥有所有的权限,也就是说在该目录下可以任意创建、修改、删除文件,那如果用户A在该目录下创建了一个文件,用户B将该文件删除了,这种情况我们是不能允许的。为了达到该目的,就出现了stick  bit(粘滞位)的概念。它是针对目录来说的,如果该目录设置了stick  bit(粘滞位),则该目录下的文件除了该文件的创建者和root用户可以删除和修改/tmp目录下的stuff,别的用户均不能动别人的,这就是粘滞位的作用。

5.特殊权限之facl(文件的访问控制列表)的设置;

  在不改变文件或目录的归属的情况下,使除属主属组外的用户对文件或目录有权限。

  语法:setfacl -m u:用户名:rwx 文件或目录

 setfacl -d -m u:用户名:rwx 目录 ##设置目录的默认facl并目录下所有子文件子目录都使用父目录的默认facl

 getfacl 目录或文件 ##查看目标文件或目录的acl规则

      setfacl -b 文件或目录 ##删除文件所有的acl规则

 setfacl -x u:root 文件或目录 ##删除文件的一条acl规则

 setfacl  -m  m:w    /mnt/test ##设置有效权限mask,有效权限(mask) 即用户或组所设置的权限必须要存在于mask的权限设置范围内才会生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值