教育网站设计案例,网站开发实习总结,成都市建设厅网站,cms wordpresssudo介绍
sudo命令可以让普通用户在执行需要超级用户权限的命令时#xff0c;临时提升为超级用户。例如#xff0c;普通用户可以使用sudo执行系统管理任务#xff0c;如安装软件、修改系统配置等。访问控制#xff1a;sudo命令通过sudoers文件中的配置#xff0c;可以对用…sudo介绍
sudo命令可以让普通用户在执行需要超级用户权限的命令时临时提升为超级用户。例如普通用户可以使用sudo执行系统管理任务如安装软件、修改系统配置等。访问控制sudo命令通过sudoers文件中的配置可以对用户和用户组进行细粒度的访问控制。管理员可以指定哪些用户可以使用sudo以及可以执行哪些命令。审计和日志记录sudo命令可以记录用户执行的每个sudo命令包括命令的时间、执行者和执行的命令本身。这对于安全审计和故障排除非常有用。环境变量控制sudo命令可以通过Defaults行中的配置控制sudo命令执行时的环境变量。这有助于确保以root权限执行命令时环境变量不会被滥用或篡改。密码验证sudo命令通常需要用户输入自己的密码来验证身份。这增加了安全性确保只有授权的用户可以执行特权命令。
sudo apt install net-tools
sudo dmesg
sudo lshw /etc/sudoers文件介绍
rootbsp-PowerEdge-R6525:~# cat /etc/sudoers
#
# This file MUST be edited with the visudo command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL(ALL:ALL) ALL
# See sudoers(5) for more information on #include directives:
#includedir /etc/sudoers.d Defaults env_reset: 这个行指定了默认的环境变量重置规则当用户使用sudo命令时环境变量将被重置为默认值。Defaults mail_badpass: 这个行指定了当用户输入错误密码时系统会发送邮件通知。Defaults secure_path/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin: 这个行指定了sudo命令的安全路径即sudo命令可以在这些路径下执行。root ALL(ALL:ALL) ALL: 这个行指定了用户root可以在任何主机上以任何用户身份执行任何命令。%admin ALL(ALL) ALL: 这个行指定了admin组的成员可以在任何主机上以任何用户身份执行任何命令。%sudo ALL(ALL:ALL) ALL: 这个行指定了sudo组的成员可以在任何主机上以任何用户身份执行任何命令。#includedir /etc/sudoers.d: 这个行是一个注释指示可以使用#include指令来包含其他sudoers文件的路径。在这个例子中它指定了/etc/sudoers.d目录下的文件将被包含进来。 visudo修改/etc/sudoers文件
如何给用户添加sudo权限
修改/etc/sudoers
在下面添加
# User privilege specification
root ALL(ALL:ALL) ALL
arron ALL(ALL:ALL) ALL
arron ALL(ALL:ALL) ALL: 这个行指定了用户arron可以在任何主机上以任何用户身份执行任何命令。 添加输出密码提示
修改/etc/sudoersDefaults badpass_messagePassword is wrong, please try again 添加重试次数
修改/etc/sudoersDefaults passwd_tries5 sudo生效持续时间默认5分钟 timestamp_timeout Number of minutes that can elapse before sudo will ask for a passwd again. The timeout may include a fractional component if minute granularity is insufficient, for example 2.5. The default is 15. Set this to 0 to always prompt for a password. If set to a value less than 0 the users time stamp will not expire until the system is rebooted. This can be used to allow users to create or delete their own time stamps via “sudo -v” and “sudo -k” respectively. 修改/etc/sudoersDefaults timestamp_timeout 10 等待用户输入时间 passwd_timeout Number of minutes before the sudo password prompt times out, or 0 for no timeout. The timeout may include a fractional component if minute granularity is insufficient, for example 2.5. The default is 0. 修改/etc/sudoersDefaults passwd_timeout2 sudo log设置 Logging sudoers can log both successful and unsuccessful attempts (as well as errors) to syslog(3), a log file, or both. By default, sudoers will log via syslog(3) but this is changeable via the syslog and logfile Defaults settings. See LOG FORMAT for a description of the log file format. DefaultsSERVERS log_year, logfile/var/log/sudo.log 修改/etc/rsyslog.conf文件local2.debug /var/log/sudo.log修改/etc/sudoersDefaults logfile/var/log/sudo.log
Defaults loglinelen0
Defaults !syslog创建日志文件
touch /var/log/sudo.log
systemctl restart rsyslogsu介绍
su命令是在Unix和类Unix系统上使用的命令用于切换用户身份。下面是su命令的一些常见用法和功能 1. 切换用户su命令可以让当前用户切换到另一个用户的身份例如从普通用户切换到root用户。默认情况下su命令会切换到root用户但也可以指定其他用户。 2. 执行命令su命令可以在切换用户后直接执行命令。例如可以使用su命令切换到root用户然后执行需要root权限的命令。 3. 环境变量su命令可以在切换用户时保留原用户的环境变量。这对于需要在新用户身份下执行命令但需要使用原用户的环境变量的情况非常有用。 4. 密码验证su命令通常需要用户输入目标用户的密码来验证身份。这增加了安全性确保只有授权的用户可以切换到目标用户的身份。 su命令用法
1. 切换到root用户 su 执行上述命令后系统会提示输入root用户的密码。输入密码后即可切换到root用户身份。
2. 切换到其他用户 su username 执行上述命令后系统会提示输入目标用户的密码。输入密码后即可切换到目标用户身份。
3. 切换并执行命令 su -c command 执行上述命令后系统会提示输入root用户的密码。输入密码后系统会以root用户身份执行指定的命令。
4. 切换并保留原用户的环境变量 su -m username 执行上述命令后系统会提示输入目标用户的密码。输入密码后系统会切换到目标用户身份并保留原用户的环境变量。
5. 切换并指定shell su -s /bin/bash username 执行上述命令后系统会提示输入目标用户的密码。输入密码后系统会切换到目标用户身份并使用/bin/bash作为shell。 rootadmin:/home# adduser arron-build
Adding user arron-build ...
Adding new group arron-build (1010) ...
Adding new user arron-build (1010) with group arron-build ...
Creating home directory /home/arron-build ...
Copying files from /etc/skel ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for arron-build
Enter the new value, or press ENTER for the defaultFull Name []: Room Number []: Work Phone []: Home Phone []: Other []:
Is the information correct? [Y/n]
rootadmin:/home#
rootadmin:/home#
rootadmin:/home#
rootadmin:/home#
rootadmin:/home# visudo
rootadmin:/home#
rootadmin:/home# su arron-build
arron-buildadmin:/home$ su和sudo区别
1. su命令需要目标用户的密码而sudo命令需要当前用户的密码。使用su命令切换到目标用户身份时需要输入目标用户的密码。而使用sudo命令执行需要root权限的命令时需要输入当前用户的密码。
2. su命令切换到目标用户身份后会保留原用户的环境变量。而sudo命令执行命令时默认情况下会清除原用户的环境变量只保留少量的安全环境变量。
3. su命令切换到目标用户身份后会一直保持该身份直到使用exit命令退出。而sudo命令执行完命令后会自动返回原用户身份。
4. su命令需要使用root用户或具有sudo权限的用户才能使用。而sudo命令只需要当前用户具有sudo权限即可使用。
总的来说sudo命令更加灵活和安全因为它只需要输入当前用户的密码而且执行命令时会清除大部分环境变量从而减少了潜在的安全风险。但是在需要长时间使用root权限的情况下su命令更加方便因为它可以一直保持目标用户身份而不需要反复输入密码。