RHCE-Day05-用户及文件管理

RHCE-Day05-用户及文件管理

1.用户管理

管理员UID为0:系统的管理员用户。

系统用户UID为1~999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。

普通用户UID从1000开始:是由管理员创建的用于日常工作的用户。

useradd命令

useradd命令用于创建新的用户,格式为“useradd [选项] 用户名”。

参数作用
-d指定用户的家目录(默认为/home/username)
-e账户的到期时间,格式为YYYY-MM-DD.
-u指定该用户的默认UID
-g指定一个初始的用户基本组(必须已存在)
-G指定一个或多个扩展用户组
-N不创建与用户同名的基本用户组
-s指定该用户的默认Shell解释器

请注意/sbin/nologin,它是终端解释器中的一员,与Bash解释器有着天壤之别。一旦用户的解释器被设置为nologin,则代表该用户不能登录到系统中。

groupadd命令

groupadd命令用于创建用户组,格式为“groupadd [选项] 群组名”。

usermod命令

usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。

参数作用
-c填写用户账户的备注信息
-d -m参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e账户的到期时间,格式为YYYY-MM-DD
-g变更所属用户组
-G变更扩展用户组
-L锁定用户禁止其登录系统
-U解锁用户,允许其登录系统
-s变更默认终端
-u修改用户的UID

passwd命令

passwd命令用于修改用户密码、过期时间、认证信息等,格式为“passwd [选项] [用户名]”。

参数作用
-l锁定用户,禁止其登录
-u解除锁定,允许用户登录
–stdin允许通过标准输入修改用户密码,如echo “NewPassWord” | passwd --stdin Username
-d使该用户可用空密码登录系统
-e强制用户在下次登录时修改密码
-S显示用户的密码是否被锁定,以及密码所采用的加密算法名称

userdel命令

userdel命令用于删除用户,格式为“userdel [选项] 用户名”。

参数作用
-f强制删除用户
-r同时删除用户及用户家目录

2.文件权限与归属

-:普通文件。

d:目录文件。

l:链接文件。

b:块设备文件。

c:字符设备文件。

p:管道文件。

文件权限的字符与数字表示
在这里插入图片描述
在这里插入图片描述
通过ls命令查看到的文件属性信息

3.文件的特殊权限

SUID

SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限。

chmod  u+s

所有者的权限由rwx变成了rws,其中x改变成s就意味着该文件被赋予了SUID权限。如果原本的权限是rw-,原先权限位上没有x执行权限,那么被赋予特殊权限后将变成大写的S。

SGID

SGID主要实现如下两种功能:

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

在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。

chmod  g+s

chmod和chown

chmod命令是一个非常实用的命令,能够用来设置文件或目录的权限,格式为“chmod [参数] 权限 文件或目录名称”。

chown,其格式为“chown [参数] 所有者:所属组 文件或目录名称”。

针对目录进行操作时需要加上大写参数-R来表示递归操作

SBIT

SBIT特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件

chmod  o+t

文件的其他人权限部分的x执行权限就会被替换成t或者T,原本有x执行权限则会写成t,原本没有x执行权限则会被写成T

4.文件的隐藏属性

chattr命令

chattr命令用于设置文件的隐藏权限,格式为“chattr [参数] 文件”

参数作用
i无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S文件内容在变更后立即同步到硬盘(sync)
s彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)
A不再修改这个文件或目录的最后访问时间(atime)
b不再修改文件或目录的存取时间
D检查压缩文件中的错误
d使用dump命令备份时忽略本文件/目录
c默认将文件或目录进行压缩
u当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t让文件系统支持尾部合并(tail-merging)
x可以直接访问压缩文件中的内容

lsattr命令

lsattr命令用于显示文件的隐藏权限,格式为“lsattr [参数] 文件”。在Linux系统中,文件的隐藏权限必须使用lsattr命令来查看,平时使用的ls之类的命令则看不出端倪。

5.文件访问控制

基于普通文件或目录设置ACL其实就是针对指定的用户或用户组设置文件或目录的操作权限。另外,如果针对某个目录设置了ACL,则目录中的文件会继承其ACL;若针对文件设置了ACL,则文件不再继承其所在目录的ACL。

setfacl命令

setfacl命令用于管理文件的ACL规则,格式为“setfacl [参数] 文件名称”。文件的ACL提供的是在所有者、所属组、其他人的读/写/执行权限之外的特殊权限控制,使用setfacl命令可以针对单一用户或用户组、单一文件或目录来进行读/写/执行权限的控制。其中,针对目录文件需要使用-R递归参数;针对普通文件则使用-m参数;如果想要删除某个文件的ACL,则可以使用-b参数。

[root@linuxprobe ~]# setfacl -Rm u:linuxprobe:rwx /root

常用的ls命令是看不到ACL表信息的,但是却可以看到文件的权限最后一个点(.)变成了加号(+),这就意味着该文件已经设置了ACL了。

[root@linuxprobe ~]# ls -ld /root
dr-xrwx---+ 14 root root 4096 May 4 2017 /root

getfacl命令

getfacl命令用于显示文件上设置的ACL信息,格式为“getfacl 文件名称”。查看ACL,则用的是getfacl命令。

[root@linuxprobe ~]# getfacl /root
getfacl: Removing leading '/' from absolute path names
# file: root
# owner: root
# group: root
user::r-x
user:linuxprobe:rwx
group::r-x
mask::rwx
other::---

6.su vs sudo

su命令与用户名之间有一个减号(-),意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。强烈建议在切换用户身份时添加这个减号(-)。

sudo命令用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务,格式为“sudo [参数] 命令名称”。

参数作用
-h列出帮助信息
-l列出当前用户可执行的命令
-u 用户名或UID值以指定的用户身份执行命令
-k清空密码的有效时间,下次执行sudo时需要再次进行密码验证
-b在后台执行指定的命令
-p更改询问密码的提示语

总结来说,sudo命令具有如下功能:

限制用户执行指定的命令:

记录用户执行的每一条命令;

配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;

验证密码的后5分钟内(默认值)无须再让用户再次验证密码。

可以使用sudo命令提供的visudo命令来配置用户权限。这条命令在配置用户权限时将禁止多个用户同时修改sudoers配置文件,还可以对配置文件内的参数进行语法检查,并在发现参数错误时进行报错。

只有root管理员才可以使用visudo命令编辑sudo服务的配置文件。

在sudo命令的配置文件中,按照下面的格式将第99行(大约)填写上指定的信息:

谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表

如果需要让某个用户只能使用root管理员的身份执行指定的命令,切记一定要给出该命令的绝对路径,否则系统会识别不出来。

[root@linuxprobe ~]# visudo
 96 ##
 97 ## Allow root to run any commands anywhere
 98 root ALL=(ALL) ALL
 99 linuxprobe ALL=(ALL) ALL

这时可以添加NOPASSWD参数**(8版本不适用)**使得用户执行sudo命令时不再需要密码验证:

[linuxprobe@linuxprobe ~]$ exit
logout
[root@linuxprobe ~]# whereis poweroff
poweroff: /usr/sbin/poweroff /usr/share/man/man8/poweroff.8.gz
[root@linuxprobe ~]# visudo
 96 ##
 97 ## Allow root to run any commands anywhere
 98 root ALL=(ALL) ALL
 99 linuxprobe ALL=NOPASSWD: /usr/sbin/poweroff

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值