linux sudo許可權分配

2021-08-25 08:48:02 字數 2105 閱讀 9741

背景:linux的安全很大程度上依賴於許可權的分配,而目前線上機器sudo許可權的分配統一以all的形式分配,很容易因為誤操作而造成一些不可恢復的錯誤,因此現在需要重新細化sudo許可權,以保障linux環境的安全。

原理:linux /etc/sudoers中已為我們提供了許可權細化的example,我們通過定義主機群,定義使用者組,定義指令組的方式來統一細化分配。sudo許可權還牽扯到使用者組,可以採用使用者組統一許可權,簡化/etc/sudoers。

實現步驟

(1)為指定使用者或批量使用者新增使用者組。若該使用者不存在則新增,若存在則直接分配使用者組,如wusheng分配到ops組。

(2)進入/etc/sudoers,指定user_alias。如user_alias admins = wusheng,admin,若許多使用者許可權上一致,可以採取該種方式進行許可權定義。

(3)指定cmnd_alias。如

cmnd_alias networking = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool, /usr/bin/netstat

cmnd_alias software = /bin/rpm, /usr/bin/up2date, /usr/bin/yum, /usr/bin/pip3

cmnd_alias services = /sbin/service, /sbin/chkconfig, /usr/bin/systemctl start, /usr/bin/systemctl stop, /usr/bin/systemctl reload, /usr/bin/systemctl restart, /usr/bin/systemctl status, /usr/bin/systemctl enable, /usr/bin/systemctl disable

cmnd_alias locate = /usr/bin/updatedb

cmnd_alias storage = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount

cmnd_alias delegating = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp

cmnd_alias processes = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall

#system services

cmnd_alias system = !/usr/sbin/reboot, !/usr/sbin/shutdown, !/usr/sbin/halt

若許可權較多,可使用反選方式。如以上cmnd_alias system,除reboot,shutdown,halt以外的指令都可以執行。以上指令必須都為絕對路徑。

(4)結合以上user_alias,cmnd_alias指定使用者或使用者組許可權。

(5)若同組使用者大多許可權保持一致,少數許可權不一樣,可通過設定使用者組公共許可權,再通過個人使用者指定不一樣的許可權。

如上圖,表示ops組中所有使用者都有networking指令集的許可權,但其中zhiyun和xujiguang分別在此基礎上擁有如圖顯示的許可權。

問題總結

(1)對於/etc/sudoers檔案操作要及其小心,一單其中發現語法等錯誤退出了會導致使用者無法進入修改,只可以通過root進行修改。

解決方法:對於/etc/sudoers檔案的編輯,linux有專門的指令visudo,在修改檔案後退出該指令會自動判斷/etc/sudoers是否存在語法錯誤,若存在可以重新進行編輯,保障安全性和不必要的麻煩。

(2)linux /etc/sudoers檔案已經為我們準備一些優化方式,認真檢視該檔案就會發現許多奧秘。

上班族副業 Linux sudo許可權提公升漏洞復現

0x01 簡介 sudo是linux系統管理指令,是允許系統管理員讓普通使用者執行一些或者全部的root命令的乙個工具,如halt,reboot,su等等。0x02 漏洞概述 編號 cve 2021 3156 在sudo解析命令列引數的方式中發現了基於堆的緩衝區溢位。任何本地使用者 普通使用者和系統...

mysql grant 許可權分配

密碼修改 1 資料庫中修改 mysql u root p 回車 輸入密碼 mysql user mysql mysql select user,password from user 檢視密碼 可以看到密碼41位,直接修改此表不為上策,但是可以通過函式計算密碼來修改 mysql select pass...

MySQL許可權分配

第一招 mysql服務的啟動和停止 net stop mysql net start mysql 第二招 登陸mysql 語法如下 mysql u使用者名稱 p使用者密碼 鍵入命令mysql uroot p,回車後提示你輸入密碼,輸入12345,然後回車即可進入到mysql中了,mysql的提示符是...