自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Linux中配置sudo訪問權(quán)限

系統(tǒng) Linux
Linux 系統(tǒng)中 root 用戶擁有 Linux 中全部控制權(quán)力。Linux 系統(tǒng)中 root 是擁有最高權(quán)力的用戶,可以在系統(tǒng)中實(shí)施任意的行為。

[[262981]]

 Linux 系統(tǒng)中 root 用戶擁有 Linux 中全部控制權(quán)力。Linux 系統(tǒng)中 root 是擁有***權(quán)力的用戶,可以在系統(tǒng)中實(shí)施任意的行為。

如果其他用戶想去實(shí)施一些行為,不能為所有人都提供 root 訪問權(quán)限。因?yàn)槿绻蛩隽艘恍╁e(cuò)誤的操作,沒有辦法去糾正它。

為了解決這個(gè)問題,有什么方案嗎?

我們可以把 sudo 權(quán)限發(fā)放給相應(yīng)的用戶來克服這種情況。

sudo 命令提供了一種機(jī)制,它可以在不用分享 root 用戶的密碼的前提下,為信任的用戶提供系統(tǒng)的管理權(quán)限。

他們可以執(zhí)行大部分的管理操作,但又不像 root 一樣有全部的權(quán)限。

什么是 sudo?

sudo 是一個(gè)程序,普通用戶可以使用它以超級(jí)用戶或其他用戶的身份執(zhí)行命令,是由安全策略指定的。

sudo 用戶的訪問權(quán)限是由 /etc/sudoers 文件控制的。

sudo 用戶有什么優(yōu)點(diǎn)?

在 Linux 系統(tǒng)中,如果你不熟悉一個(gè)命令,sudo 是運(yùn)行它的一個(gè)安全方式。

  • Linux 系統(tǒng)在 /var/log/secure/var/log/auth.log 文件中保留日志,并且你可以驗(yàn)證 sudo 用戶實(shí)施了哪些行為操作。
  • 每一次它都為當(dāng)前的操作提示輸入密碼。所以,你將會(huì)有時(shí)間去驗(yàn)證這個(gè)操作是不是你想要執(zhí)行的。如果你發(fā)覺它是不正確的行為,你可以安全地退出而且沒有執(zhí)行此操作。

基于 RHEL 的系統(tǒng)(如 Redhat (RHEL)、 CentOS 和 Oracle Enterprise Linux (OEL))和基于 Debian 的系統(tǒng)(如 Debian、Ubuntu 和 LinuxMint)在這點(diǎn)是不一樣的。

我們將會(huì)教你如何在本文中提及的兩種發(fā)行版中執(zhí)行該操作。

這里有三種方法可以應(yīng)用于兩個(gè)發(fā)行版本。

  • 增加用戶到相應(yīng)的組?;?RHEL 的系統(tǒng),我們需要添加用戶到 wheel 組?;?Debain 的系統(tǒng),我們添加用戶到 sudoadmin 組。
  • 手動(dòng)添加用戶到 /etc/group 文件中。
  • visudo 命令添加用戶到 /etc/sudoers 文件中。

如何在 RHEL/CentOS/OEL 系統(tǒng)中配置 sudo 訪問權(quán)限?

在基于 RHEL 的系統(tǒng)中(如 Redhat (RHEL)、 CentOS 和 Oracle Enterprise Linux (OEL)),使用下面的三個(gè)方法就可以做到。

方法 1:在 Linux 中如何使用 wheel 組為普通用戶授予超級(jí)用戶訪問權(quán)限?

wheel 是基于 RHEL 的系統(tǒng)中的一個(gè)特殊組,它提供額外的權(quán)限,可以授權(quán)用戶像超級(jí)用戶一樣執(zhí)行受到限制的命令。

注意,應(yīng)該在 /etc/sudoers 文件中激活 wheel 組來獲得該訪問權(quán)限。

  1. # grep -i wheel /etc/sudoers
  2.  
  3. ## Allows people in group wheel to run all commands
  4. %wheel ALL=(ALL) ALL
  5. # %wheel ALL=(ALL) NOPASSWD: ALL

假設(shè)我們已經(jīng)創(chuàng)建了一個(gè)用戶賬號(hào)來執(zhí)行這些操作。在此,我將會(huì)使用 daygeek 這個(gè)用戶賬號(hào)。

執(zhí)行下面的命令,添加用戶到 wheel 組。

  1. # usermod -aG wheel daygeek

我們可以通過下面的命令來確定這一點(diǎn)。

  1. # getent group wheel
  2. wheel:x:10:daygeek

我將要檢測(cè)用戶 daygeek 是否可以訪問屬于 root 用戶的文件。

  1. $ tail -5 /var/log/secure
  2. tail: cannot open /var/log/secure for reading: Permission denied

當(dāng)我試圖以普通用戶身份訪問 /var/log/secure 文件時(shí)出現(xiàn)錯(cuò)誤。 我將使用 sudo 訪問同一個(gè)文件,讓我們看看這個(gè)魔術(shù)。

  1. $ sudo tail -5 /var/log/secure
  2. [sudo] password for daygeek:
  3. Mar 17 07:01:56 CentOS7 sudo: daygeek : TTY=pts/0 ; PWD=/home/daygeek ; USER=root ; COMMAND=/bin/tail -5 /var/log/secure
  4. Mar 17 07:01:56 CentOS7 sudo: pam_unix(sudo:session): session opened for user root by daygeek(uid=0)
  5. Mar 17 07:01:56 CentOS7 sudo: pam_unix(sudo:session): session closed for user root
  6. Mar 17 07:05:10 CentOS7 sudo: daygeek : TTY=pts/0 ; PWD=/home/daygeek ; USER=root ; COMMAND=/bin/tail -5 /var/log/secure
  7. Mar 17 07:05:10 CentOS7 sudo: pam_unix(sudo:session): session opened for user root by daygeek(uid=0)

方法 2:在 RHEL/CentOS/OEL 中如何使用 /etc/group 文件為普通用戶授予超級(jí)用戶訪問權(quán)限?

我們可以通過編輯 /etc/group 文件來手動(dòng)地添加用戶到 wheel 組。

只需打開該文件,并在恰當(dāng)?shù)慕M后追加相應(yīng)的用戶就可完成這一點(diǎn)。

  1. $ grep -i wheel /etc/group
  2. wheel:x:10:daygeek,user1

在該例中,我將使用 user1 這個(gè)用戶賬號(hào)。

我將要通過在系統(tǒng)中重啟 Apache httpd 服務(wù)來檢查用戶 user1 是不是擁有 sudo 訪問權(quán)限。讓我們看看這個(gè)魔術(shù)。

  1. $ sudo systemctl restart httpd
  2. [sudo] password for user1:
  3.  
  4. $ sudo grep -i user1 /var/log/secure
  5. [sudo] password for user1:
  6. Mar 17 07:09:47 CentOS7 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/systemctl restart httpd
  7. Mar 17 07:10:40 CentOS7 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/systemctl restart httpd
  8. Mar 17 07:12:35 CentOS7 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/grep -i httpd /var/log/secure

方法 3:在 Linux 中如何使用 /etc/sudoers 文件為普通用戶授予超級(jí)用戶訪問權(quán)限?

sudo 用戶的訪問權(quán)限是被 /etc/sudoers 文件控制的。因此,只需將用戶添加到 sudoers 文件中 的 wheel 組下即可。

只需通過 visudo 命令將期望的用戶追加到 /etc/sudoers 文件中。

  1. # grep -i user2 /etc/sudoers
  2. user2 ALL=(ALL) ALL

在該例中,我將使用 user2 這個(gè)用戶賬號(hào)。

我將要通過在系統(tǒng)中重啟 MariaDB 服務(wù)來檢查用戶 user2 是不是擁有 sudo 訪問權(quán)限。讓我們看看這個(gè)魔術(shù)。

  1. $ sudo systemctl restart mariadb
  2. [sudo] password for user2:
  3.  
  4. $ sudo grep -i mariadb /var/log/secure
  5. [sudo] password for user2:
  6. Mar 17 07:23:10 CentOS7 sudo: user2 : TTY=pts/0 ; PWD=/home/user2 ; USER=root ; COMMAND=/bin/systemctl restart mariadb
  7. Mar 17 07:26:52 CentOS7 sudo: user2 : TTY=pts/0 ; PWD=/home/user2 ; USER=root ; COMMAND=/bin/grep -i mariadb /var/log/secure

在 Debian/Ubuntu 系統(tǒng)中如何配置 sudo 訪問權(quán)限?

在基于 Debian 的系統(tǒng)中(如 Debian、Ubuntu 和 LinuxMint),使用下面的三個(gè)方法就可以做到。

方法 1:在 Linux 中如何使用 sudo 或 admin 組為普通用戶授予超級(jí)用戶訪問權(quán)限?

sudoadmin 是基于 Debian 的系統(tǒng)中的特殊組,它提供額外的權(quán)限,可以授權(quán)用戶像超級(jí)用戶一樣執(zhí)行受到限制的命令。

注意,應(yīng)該在 /etc/sudoers 文件中激活 sudoadmin 組來獲得該訪問權(quán)限。

  1. # grep -i 'sudo\|admin' /etc/sudoers
  2.  
  3. # Members of the admin group may gain root privileges
  4. %admin ALL=(ALL) ALL
  5.  
  6. # Allow members of group sudo to execute any command
  7. %sudo ALL=(ALL:ALL) ALL

假設(shè)我們已經(jīng)創(chuàng)建了一個(gè)用戶賬號(hào)來執(zhí)行這些操作。在此,我將會(huì)使用 2gadmin 這個(gè)用戶賬號(hào)。

執(zhí)行下面的命令,添加用戶到 sudo 組。

  1. # usermod -aG sudo 2gadmin

我們可以通過下面的命令來確定這一點(diǎn)。

  1. # getent group sudo
  2. sudo:x:27:2gadmin

我將要檢測(cè)用戶 2gadmin 是否可以訪問屬于 root 用戶的文件。

  1. $ less /var/log/auth.log
  2. /var/log/auth.log: Permission denied

當(dāng)我試圖以普通用戶身份訪問 /var/log/auth.log 文件時(shí)出現(xiàn)錯(cuò)誤。 我將要使用 sudo 訪問同一個(gè)文件,讓我們看看這個(gè)魔術(shù)。

  1. $ sudo tail -5 /var/log/auth.log
  2. [sudo] password for 2gadmin:
  3. Mar 17 20:39:47 Ubuntu18 sudo: 2gadmin : TTY=pts/0 ; PWD=/home/2gadmin ; USER=root ; COMMAND=/bin/bash
  4. Mar 17 20:39:47 Ubuntu18 sudo: pam_unix(sudo:session): session opened for user root by 2gadmin(uid=0)
  5. Mar 17 20:40:23 Ubuntu18 sudo: pam_unix(sudo:session): session closed for user root
  6. Mar 17 20:40:48 Ubuntu18 sudo: 2gadmin : TTY=pts/0 ; PWD=/home/2gadmin ; USER=root ; COMMAND=/usr/bin/tail -5 /var/log/auth.log
  7. Mar 17 20:40:48 Ubuntu18 sudo: pam_unix(sudo:session): session opened for user root by 2gadmin(uid=0)

或者,我們可以通過添加用戶到 admin 組來執(zhí)行相同的操作。

運(yùn)行下面的命令,添加用戶到 admin 組。

  1. # usermod -aG admin user1

我們可以通過下面的命令來確定這一點(diǎn)。

  1. # getent group admin
  2. admin:x:1011:user1

讓我們看看輸出信息。

  1. $ sudo tail -2 /var/log/auth.log
  2. [sudo] password for user1:
  3. Mar 17 20:53:36 Ubuntu18 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/usr/bin/tail -2 /var/log/auth.log
  4. Mar 17 20:53:36 Ubuntu18 sudo: pam_unix(sudo:session): session opened for user root by user1(uid=0)

方法 2:在 Debian/Ubuntu 中如何使用 /etc/group 文件為普通用戶授予超級(jí)用戶訪問權(quán)限?

我們可以通過編輯 /etc/group 文件來手動(dòng)地添加用戶到 sudo 組或 admin 組。

只需打開該文件,并在恰當(dāng)?shù)慕M后追加相應(yīng)的用戶就可完成這一點(diǎn)。

  1. $ grep -i sudo /etc/group
  2. sudo:x:27:2gadmin,user2

在該例中,我將使用 user2 這個(gè)用戶賬號(hào)。

我將要通過在系統(tǒng)中重啟 Apache httpd 服務(wù)來檢查用戶 user2 是不是擁有 sudo 訪問權(quán)限。讓我們看看這個(gè)魔術(shù)。

  1. $ sudo systemctl restart apache2
  2. [sudo] password for user2:
  3.  
  4. $ sudo tail -f /var/log/auth.log
  5. [sudo] password for user2:
  6. Mar 17 21:01:04 Ubuntu18 systemd-logind[559]: New session 22 of user user2.
  7. Mar 17 21:01:04 Ubuntu18 systemd: pam_unix(systemd-user:session): session opened for user user2 by (uid=0)
  8. Mar 17 21:01:33 Ubuntu18 sudo: user2 : TTY=pts/0 ; PWD=/home/user2 ; USER=root ; COMMAND=/bin/systemctl restart apache2

方法 3:在 Linux 中如何使用 /etc/sudoers 文件為普通用戶授予超級(jí)用戶訪問權(quán)限?

sudo 用戶的訪問權(quán)限是被 /etc/sudoers 文件控制的。因此,只需將用戶添加到 sudoers 文件中的 sudoadmin 組下即可。

只需通過 visudo 命令將期望的用戶追加到 /etc/sudoers 文件中。

  1. # grep -i user3 /etc/sudoers
  2. user3 ALL=(ALL:ALL) ALL

在該例中,我將使用 user3 這個(gè)用戶賬號(hào)。

我將要通過在系統(tǒng)中重啟 MariaDB 服務(wù)來檢查用戶 user3 是不是擁有 sudo 訪問權(quán)限。讓我們看看這個(gè)魔術(shù)。

  1. $ sudo systemctl restart mariadb
  2. [sudo] password for user3:
  3.  
  4. $ sudo tail -f /var/log/auth.log
  5. [sudo] password for user3:
  6. Mar 17 21:12:32 Ubuntu18 systemd-logind[559]: New session 24 of user user3.
  7. Mar 17 21:12:49 Ubuntu18 sudo: user3 : TTY=pts/0 ; PWD=/home/user3 ; USER=root ; COMMAND=/bin/systemctl restart mariadb
  8. Mar 17 21:12:49 Ubuntu18 sudo: pam_unix(sudo:session): session opened for user root by user3(uid=0)
  9. Mar 17 21:12:53 Ubuntu18 sudo: pam_unix(sudo:session): session closed for user root
  10. Mar 17 21:13:08 Ubuntu18 sudo: user3 : TTY=pts/0 ; PWD=/home/user3 ; USER=root ; COMMAND=/usr/bin/tail -f /var/log/auth.log
  11. Mar 17 21:13:08 Ubuntu18 sudo: pam_unix(sudo:session): session opened for user root by user3(uid=0)

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2017-02-06 18:00:26

Linuxsudo命令

2022-12-19 10:04:54

LinuxUEFI

2022-08-04 07:03:11

Linux配置命令

2019-11-26 10:34:13

Linuxsudo權(quán)限命令

2022-01-17 13:34:45

MySQLLinux數(shù)據(jù)庫

2018-03-09 09:45:52

LinuxSSH登錄導(dǎo)語

2017-02-05 17:48:04

Linuxsudo命令密碼會(huì)話

2015-10-22 13:07:29

USB設(shè)備權(quán)限Linux

2019-02-28 09:30:04

Ubuntusudo命令

2014-09-26 10:28:39

LinuxPuppet

2018-10-08 09:35:59

2020-10-09 11:15:14

LinuxLVM邏輯卷管理

2022-10-08 08:31:09

Linuxsudo

2024-01-04 12:05:22

LinuxRAID技術(shù)

2019-08-23 10:42:00

Linux復(fù)制文檔

2020-03-02 14:45:53

Linux編輯字幕命令

2022-11-25 10:19:48

2019-03-18 13:00:15

LinuxFish ShellBash

2014-02-12 10:58:05

Linux文件夾文件權(quán)限

2019-04-16 10:30:45

Windows 10配置鍵盤Windows
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)