Linux巩固篇005-Linux 用户和文件

简介: 纸上得来终觉浅,绝知此事要躬行

前言

身为一个三年的运维工程师,从开发转测开再转运维,都是不断学习的过程,未必开发才是最优秀的,找到适合自己的职业不断深耕,你也会在自己的行业大放光彩,本系列依照《Linux就该这么学》系列随书学习练习操作,将一些课本上不顺畅的地方,全部以最简方式免费开源展示给大家,资源大家可以自行百度,也希望大家多关注刘遄老师的第二版关于centos8的丛书,学习最前沿的Linux相关技术。

常用命令汇总

用户常用命令

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

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

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

useradd 命令

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

image.png

[root@localhost ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin linuxwei

[root@localhost ~]# id linuxwei

uid=8888(linuxwei) gid=8888(linuxwei) groups=8888(linuxwei)

groupadd 命令

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

[root@linux ~]# groupadd ronny

usermod 命令

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

image.pngimage.png

[root@linuxwei~]# usermod -G root linuxwei

[root@linuxwei~]# id linuxwei

uid=1000(linuxwei) gid=1000(linuxwei) groups=1000(linuxwei),0(root)

[root@linuxwei~]# usermod -u 8888 linuxwei

[root@linuxwei~]# id linuxwei

uid=8888(linuxwei) gid=1000(linuxwei) groups=1000(linuxwei),0(root)

passwd 命令

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

image.png

[root@linuxwei~]# passwd

Changing password for user root.

New password: 此处输入密码值

Retype new password: 再次输入进行确认

passwd: all authentication tokens updated successfully.

[root@linuxwei~]# passwd linuxwei

Changing password for user linuxwei.

New password: 此处输入密码值

Retype new password: 再次输入进行确认

passwd: all authentication tokens updated successfully.


锁定指定用户,请注意解锁时要保证被锁用户有密码否则会失败

[root@localhost ~]# passwd -l linuxwei  

Locking password for user linuxwei.

passwd: Success

[root@localhost ~]# passwd -S linuxwei  

linuxwei LK 2022-10-13 0 99999 7 -1 (Password locked.)

[root@localhost ~]# passwd -u linuxwei  

Unlocking password for user linuxwei.

passwd: Warning: unlocked password would be empty.

passwd: Unsafe operation (use -f to force)

[root@localhost ~]# su - linuxwei  

This account is currently not available.

[root@localhost ~]# passwd linuxwei  

Changing password for user linuxwei.

New password:  此处输入密码值

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:  再次输入进行确认

passwd: all authentication tokens updated successfully.

[root@localhost ~]# passwd -u linuxwei  

Unlocking password for user linuxwei.

passwd: Success

[root@localhost ~]# passwd -S linuxwei  

linuxwei PS 2022-10-13 0 99999 7 -1 (Password set, MD5 crypt.)

userdel 命令

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

image.png

[root@localhost ~]# id linuxwei

uid=8888(linuxwei) gid=8888(linuxwei) groups=8888(linuxwei)

[root@localhost ~]# userdel -r linuxwei  

[root@localhost ~]# id linuxwei

id: linuxwei: no such user

文件普通权限

-:普通文件。

d:目录文件。

l:链接文件。

b:块设备文件。

c:字符设备文件。

p:管道文件。

image.png

rwxrw-r--,数字法表示即为764

image.png


类型为普通文件

所有者权限为可读、可写(rw-)

所属组权限为可读(r--)

其他人权限为可读(r--)

文件的磁盘占用大小是34298 字节

最近一次的修改时间为4 月2 日的凌晨23 分

文件的名称为install.log

文件特殊权限

SUID

SUID 权限x改变成s,普通用户临时获得程序所有者的身份

[root@linuxwei~]# ls -l /etc/shadow

----------. 1 root root 1004 Jan 3 06:23 /etc/shadow

[root@linuxwei~]# ls -l /bin/passwd

-rwsr-xr-x. 1 root root 27832 Jan 29 2017 /bin/passwd

SGID

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

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

[root@localhost tmp]# cd /tmp/

[root@localhost tmp]# mdir testdir/

Can't open /dev/fd0: No such file or directory

Cannot initialize 'A:'

[root@localhost tmp]# cd /tmp/

[root@localhost tmp]# mkdir testdir/

[root@localhost tmp]# ls -ald testdir/

drwxr-xr-x. 2 root root 6 Oct 14 16:36 testdir/

[root@localhost tmp]# chmod -Rf 777 testdir/

[root@localhost tmp]# chmod -Rf g+s testdir/

[root@localhost tmp]# ls -ald testdir/

drwxrwsrwx. 2 root root 6 Oct 14 16:36 testdir/

切换至一个普通用户,然后尝试在该目录中创建文件,会发现属组还是root

chmod 命令

设置文件或目录的权限,格式为“chmod [参数] 权限文件或目录名称”

chown 命令

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

两者均可通过加上大写参数-R 来表示递归操作

[root@linux ~]# chown root:bin test

[root@linux ~]# ls -l test

-rwxrw----. 1 root bin 15 Feb 11 11:50 test

SBIT

SBIT 特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件,当目录被设置SBIT 特殊权限位后,文件的其他人权限部分的x 执行权限就会被替换成t 或者T,原本有x 执行权限则会写成t,原本没有x 执行权限则会被写成T

[root@linux tmp]# su - linuxwei

Last login: Wed Feb 11 12:41:20 CST 2022 on pts/0

[linux@linux tmp]$ ls -ald /tmp

drwxrwxrwt. 17 root root 4096 Feb 11 13:03 /tmp

对其他目录来设置SBIT 特殊权限位,用chmod 命令就可以了。对应的参数o+t 代表设置SBIT 粘滞位权限,当对某个目录设置了SBIT 粘滞位权限,该目录中的文件只能被其所有者执行删除操作了

文件特殊属性

chattr 命令

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

图片.png

图片.png

加权命令

[root@localhost learnlinux]# chattr +a linuxwei

[root@localhost learnlinux]# lsattr linuxwei

-----a---------- linuxwei

减权命令

[root@localhost learnlinux]# chattr -a linuxwei

[root@localhost learnlinux]# lsattr linuxwei

---------------- linuxwei

lsattr 命令

lsattr 命令用于显示文件的隐藏权限,格式为“lsattr [参数] 文件”

文件访问控制

setfacl 命令

setfacl 命令用于管理文件的ACL 规则,格式为“setfacl [参数] 文件名称”

针对目录文件使用-R 递归参数

针对普通文件使用-m 参数

删除文件的ACL使用-b 参数

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

[root@linux ~]# su - andy

Last login: Sat Mar 21 15:45:03 CST 2017 on pts/1

[linux@linux ~]$ cd /root

[linux@linuxroot]$ ls

image.png

getfacl 命令

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

[root@localhost ~]# getfacl /root

getfacl: Removing leading '/' from absolute path names

# file: root

# owner: root

# group: root

user::r-x

user:andy:rwx

group::r-x

mask::rwx

other::---

su与sudo服务

su 命令与用户名之间有一个减号(-)完全切换到新的用户,环境变量信息也变更为新用户的相应信息,不保留原始的信息。

sudo 命令把特定命令的执行权限赋予给指定用户

image.png

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

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

[root@linux ~]# visudo

...

99 linuxwei ALL=NOPASSWD: /usr/sbin/poweroff

...

结语

简问简答

在RHEL 7 系统中,root 管理员是谁?

答:是UID 为0 的用户,默认是root 管理员


如何使用Linux 系统的命令行来添加或删除用户?

答:添加和删除用户的命令分别是useradd 与userdel


当普通用户使用sudo 命令时是否需要验证密码?

答:系统在默认情况下需要验证当前登录用户的密码,若不想要验证,可添加NOPASSWD参数

如果想上手操作的同学们可以通过阿里云ecs服务器免费试用参与或低价购买专属于自己的服务器入口如下

入口一:新老同学免费试用

入口二:新人服务器特惠礼包

入口三:大学生版低价特惠服务器

入口四:云服务器首购特惠&免费试用

入口五:云服务器特惠1.5折起

入口六:低价特惠建站


目录
相关文章
|
2月前
|
Linux 数据安全/隐私保护 Windows
命令方式:window向linux传文件
【10月更文挑战第6天】本文介绍了如何在Linux系统中通过命令`ip a`获取IP地址,并在Windows系统下使用CMD命令行工具和SCP命令实现文件传输。示例展示了如何将D盘中的`mm.jar`文件上传至IP地址为192.168.163.122的Linux系统的/up/目录下,最后在Linux系统中确认文件传输结果。
274 65
|
2月前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
323 5
|
2月前
|
Linux Shell 数据库
Linux文件查找新姿势:总有一种你没见过
【10月更文挑战第18天】文件查找是Linux用户提升工作效率的重要技能。本文介绍了几种实用的文件查找方法,包括基础的`find`命令、快速的`locate`和`mlocate`、高效的`fd`工具、以及结合`grep`和`rg`进行内容搜索。此外,还提供了编写Shell脚本和使用图形界面工具的建议,帮助你更灵活地管理文件。
85 3
|
2月前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
54 2
|
8天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
39 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
41 5
|
1月前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
49 6
|
1月前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
91 6
|
1月前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
66 4
|
2月前
|
Linux 开发工具 数据安全/隐私保护
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
这篇文章介绍了在CentOS 7系统中安装Docker时遇到的两个常见问题及其解决方法:用户不在sudoers文件中导致权限不足,以及yum被锁定的问题。
46 2
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
下一篇
DataWorks