Linux 用户管理命令
sudo 命令
功能:以管理员权限执行命令(密码是当前用户的密码,非 root 密码)。
与
su区别:su功能:用于切换用户,默认情况下切换到 root 用户。su xia #需要输入的密码是 xia 的密码 su === su root #需要输入的密码是 root 的密码 sudo su #切换到root用户
sudo -l命令功能:列出当前用户可以通过
sudo执行的命令。

(ALL:ALL) ALL:上图中表示所有主机登录到 kali 用户,可以使用 sudo 执行任意命令。
/etc/sudoers:sudo 配置文件(仅 root 可查看)
root ALL=(ALL:ALL) ALL #root用户可以使用sudo执行任意命令。 xia ALL=(ALL:ALL) /usr/bin/find #xia 用户可以使用sudo命令执行find命令。 xia ALL=(ALL:ALL) NOPASSWD:/usr/bin/find #xia 用户可以使用sudo命令执行find命 #令,且不需要密码。%sudo:%开头为用户组标识。sudo 用户组中的用户可以使用 sudo 命令执行任意命令。
文件权限
基础权限
ls -l 命令
功能:可以查看一个文件的权限。

第一个字符表示文件类型,如果是
d表示是文件夹,l表示符号链接,-表示普通文件。第二组(u):表示该文件/文件夹对 属主 用户的权限。
第三组(g):表示该文件/文件夹对 属组 用户的权限。
第四组(o):表示该文件/文件夹对除属主/属组之外,其他用户 的权限。
r(4)read 读权限w(2)write 写权限x(1)execute 执行权限rw-rw-r-- 换成数字 664
chmod 命令
功能:修改权限。
方式一
chmod 644 /etc/sudoers chmod 777 /etc/sudoers方式二
chmod u+w /etc/sudoers #赋予 属主 用户 写 权限 chmod u-w /etc/sudoers #移除 属主 用户 写 权限 chmod o+r /etc/sudoers #赋予 其他 用户 读 权限 chmod a+w /etc/sudoers #赋予 所有 用户 写 权限 chmod 777 /etc/sudoers ===等价=== chmod a+rwx /etc/sudoers
实践:添加一个用户 xia,设置 xia 可以使用 sudo 执行 find 命令,最后切换到 xia,验证 sudo id 不行,sudo find 成功。
sudo useradd xia #创建用户 xia sudo passwd xia #为用户 xia 设置密码 sudo chmod u+w /etc/sudoers #赋予当前用户对 /etc/sudoers 文件的写权限 vim编辑 xia ALL=(ALL:ALL) /usr/bin/find #添加 xia 用户的 sudo find 的权限 :wq #保存修改并退出 sudo chmod u-w /etc/sudoers #恢复原本的权限 su xia #切换到 xia 用户 sudo id #验证 sudo find
拓展权限
s——setuid/suid:权限位——(4)
-rwsrw-r-- kali kali /usr/bin/find #该权限为 4764
悖论:现有用户 xia 可以自己修改自己的密码,使用 passwd 命令即可,而实际上改密码是将新密码写入到 /etc/passwd 或 /etc/shadow 中,但是用户 xia 不能写 /etc/passwd 或 /etc/shadow,因而产生悖论。
Linux 解决方式:/usr/bin/passwd 这个文件的权限是 4755 权限。
setuid/suid 权限 的作用:任何用户执行具有 suid 权限的文件,执行权限都是文件的属主用户权限。
该权限赋予 不可执行 的文件与文件夹是 无意义 的!!!
s——setgid/sgid:权限位——(2)
任何用户执行具有 sgid 权限的文件,执行权限都是文件的属组用户权限。
-rwxrwsr-- kali kali /usr/bin/find #该权限为 2774
t——sticky bit:粘滞位——(1)
粘滞位 赋予文件 是 无意义 的!!!
作用:只有属主用户才能写自己的文件。
drwxrwxrwt 15 root root 360 May 28 08:09 tmp在 Linux 系统中 /tmp 权限是 1777,表示所有用户可读可写可执行。
若 xia 上传到 /tmp 一个 pdf 文件,那么 zhang 是无法删除 xia 上传的文件的。

评论区