用户身份与文件权限

声明:本文是《Linux就该这么学》第五章 用户身份与文件权限的知识点总结

一、用户身份与能力

       Linux系统中的管理员是用户身份号码UID数值为0的用户,默认是root管理员。系统中通过UID值判断用户身份,一般有以下三种类型的用户:

  • 管理员UID为0:系统的管理员用户
  • 系统用户UID1~999:默认服务程序有独立的系统用户负责
  • 普通用户UID从1000开始:由管理员创建

Linux使用用户组号码GID管理同一组的用户,创建用户时自动创建同名的基本用户组,只有该用户一个人。若将该用户加入其他用户组,那么其他用户组称为扩展用户组

useradd命令

用于创建新的用户,格式:useradd [选项] 用户名   默认家目录为/home,默认Shell解释器为/bin/bash

可选参数以及作用如下:

  • -d,指定用户的家目录
  • -e,账户的到期时间,格式为YYYY-MM-DD
  • -u,指定默认的UID
  • -g,指定初始的用户基本组
  • -G,指定扩展用户组
  • -N,不创建与用户同名的基本用户组
  • -s,指定该用户默认的解释器
groupadd命令

用于创建用户组,格式:groupadd [选项] 群组名

usermod命令

用于修改用户的属性,格式:usermod [选项] 用户名

  • -d -m,重新指定用户的家目录并把旧数据转移过去
  • -e,-g,-G,-s,-u,作用同useradd命令
  • -L,锁定用户禁止其登录系统
  • -U,解锁用户
passwd命令

用于修改用户密码、过期时间、认证信息等,格式:passwd [选项] [用户名]    

  • -l,锁定用户,禁止登录
  • -u,解锁用户
  • --stdin,通过标准输入修改密码,如echo "NewPasswd" | passwd --stdin username
  • -d,可使用空密码登录系统
  • -e,在下次登录时修改密码
  • -S,显示密码是否被锁定,以及采用的加密算法
userdel命令

用于删除用户,格式:userdel [选项] 用户名

  • -f,强制删除
  • -r,同时删除用户家目录
chmod命令

用来设置文件或目录的权限,格式:chmod [参数] 权限 文件或目录名称

eg:chmod 760 test 

        chmod u+/-x test(表示文件所有者增加/减少执行的权限,g表示所属组,o表示其他人,s表示特殊权限,t代表SBIT权限)

chown命令

用来设置文件或目录的所有者和所属组,格式:chown [参数] 所有者:所属组  文件或目录名称

二、文件权限与归属

       Linux中使用不同的符号来区分文件类型,常见的有  -:普通文件,d:目录文件,l:链接文件,b:块设备文件,c:字符设备文件,p:管道文件。每个文件的所有者、所属组和其他人对文件拥有可读r、可写w、可执行x等权限,分别用数字421来表示。例如rwxrw-r--,数字表示法为764,所有者权限为可读可写可执行,所属组为可读可写,其他人只有可读权限。

       对目录来说,“可读”表示能够读取目录内的文件列表,“可写”表示能在目录内新增、删除、重命名文件,“可执行”表示能够进入该目录。

三、文件的特殊权限

1、SUID

      一种对二进制程序进行设置的特殊权限,让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。所有者权限由rwx变成rws,若为rw-则变成rwS。

2、SGID

有以下两个功能:

(1)让执行者临时拥有属组的权限(只能对拥有执行权限的二进制程序进行设置)

(2)在目录中创建的文件自动继承该目录的用户组(只能对目录进行设置),例如在部门内设置共享目录,在该目录上设置SGID特殊权限位,这样部门内任何人在里面创建的文件都归属于该目录的所属组,则部门内的所有人都能读取目录内容。

3、SBIT

     当对某个目录设置SBIT特殊权限后,该目录中的文件只能被其所有者删除,即用户只能删除自己的文件,不能删除其他人的文件,/tmp默认设置了SBIT。目录设置此权限后,文件的其他人权限部分的x被替换成t(有x权限)或T(无x)。

四、文件的隐藏属性

chattr命令

      用于设置文件的隐藏属性,格式:chattr [参数] 文件  若要把某个隐藏功能添加到文件上,则在命令后面追加“+参数”,若要移除隐藏功能则追加“-参数”。

  • i,无法对文件进行修改;若对目录设置了该参数,则仅能修改子文件内容不能新建或删除文件
  • a,仅允许补充内容,无法覆盖/删除内容
  • S,文件内容变更后立即同步到硬盘
  • s,彻底从硬盘删除
  • A,不再修改最后访问时间
  • b,不再修改存取时间
  • D,检查压缩文件中的错误
  • d,使用dump命令备份时忽略本文件
  • c,默认将文件或目录压缩
  • u,删除文件后保留硬盘中的数据
  • t,让文件系统支持尾部合并
  • X,可直接访问压缩文件中的内容
lsattr命令

用于显示文件的隐藏权限,格式:lsattr [参数] 文件  

五、文件访问控制列表

      访问控制列表可对某个指定的用户进行单独的权限控制,基于文件或目录设置ACL就是针对指定的用户或用户组设置文件或目录的操作权限。若对目录设置ACL,目录中的文件会继承其ACL。

setfacl命令

用于管理文件的ACL规则,格式:setfacl [参数] 文件名称  针对目录使用-R递归参数,普通文件使用-m参数,删除ACL使用-b参数。使用ls命令查看,若文件权限最后一个点(.)变成了加号(+),说明文件设置了ACL。

例如:setfacl -Rm u:linuxprobe:rwx /root    为用户linuxprobe提供root目录的读写执行权限

getfacl命令

用于显示文件上设置的ACL信息,格式:getfacl 文件名称

六、su命令与sudo服务

      su命令使得当前用户在不退出登录的情况下,切换到其他用户。su - linuxprobe,-意味完全切换即把环境变量也更新为新用户的相关信息。

     sudo命令把特定命令的执行权限赋予给指定用户,既可以保证普通用户完成特定的工作,也可以避免泄露root密码。即给普通用户提供额外的权限来完成原本root管理员才能完成的任务,格式:sudo [参数] 命令名称

  • -h,列出帮助信息
  • -l,列出当前用户可执行的命令
  • -u 用户名,以指定的用户身份执行命令
  • -k,清空密码的有效时间,下次执行sudo时需要进行密码验证
  • -b,在后台执行指定的命令
  • -p,更改询问密码的提示语
我set
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值