xxx is not in the sudoers file解決方法

用sudo時提示"xxx is not in the sudoersfile. This incident will bereported.其中XXX是你的用戶名,也就是你的用戶名沒有權限使用sudo,咱們只要修改一下/etc/sudoers文件就好了。

1.下面是修改方法:ubuntu


1)進入超級用戶模式。也就是輸入"su -",系統會讓你輸入超級用戶密碼,輸入密碼後就進入了超級用戶模式。(固然,你也能夠直接用root用)
2)添加文件的寫權限。也就是輸入命令"chmod u+w /etc/sudoers"。
3) 編輯/etc/sudoers文件。也就是輸入命令"vim /etc/sudoers",輸入"i"進入編輯模式,找到這一 行:"rootALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(這裏的xxx是你的用戶名),而後保存(就是先按一下Esc鍵,而後輸入":wq")退出。
4)撤銷文件的寫權限。也就是輸入命令"chmod u-w /etc/sudoers"。vim

2.另外一種修改sudoers的方法服務器

sudo都提供了一個編輯該文件的命令:visudo來對該文件進行修改。強烈推薦使用該命令修改 sudoers,由於它會幫你校驗文件配置是否正確,若是不正確,在保存退出時就會提示你哪段配置出錯的。oracle

(改命令需超級用戶:su -) visodo /bin/sudoerside

3.對sudoers文件詳細講解ui

A.首先寫sudoers的缺省配置:
###########################################################
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#ci

Defaults   env_reset
# Host alias specificationcmd

# User alias specificationit

# Cmnd alias specificationio

# Defaults specification

# User privilege specification
root    ALL=(ALL) ALL

# Uncomment to allow people in group wheel to run all commands
# %wheel        ALL=(ALL)       ALL

# Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
########################################################

B。最簡單的配置,讓普通用戶ubuntu具備root的全部權限
執行visudo以後,能夠看見缺省只有一條配置:

root    ALL=(ALL) ALL
那麼你就在下邊再加一條配置:
ubuntu ALL=(ALL) ALL
普通用戶ubuntu就可以執行root權限的全部命令。
以ubuntu用戶登陸以後,執行:
sudo su -
而後輸入ubuntu用戶本身的密碼,就能夠切換成root用戶了。
C。讓普通用戶ubuntu只能在某幾臺服務器上,執行root能執行的某些命令。
首先須要配置一些Alias,這樣在下面配置權限時,會方便一些,不用寫大段大段的配置。Alias主要分紅4種
Host_Alias
Cmnd_Alias
User_Alias
Runas_Alias

1) 配置Host_Alias:就是主機的列表
Host_Alias     HOST_FLAG = hostname1, hostname2, hostname3
2) 配置Cmnd_Alias:就是容許執行的命令的列表
Cmnd_Alias    COMMAND_FLAG=cmd1,cmd2,cmd3
3) 配置User_Alias:就是具備sudo權限的用戶的列表
User_Alias USER_FLAG = user1, user2, user3
4) 配置Runas_Alias:就是用戶以什麼身份執行(例如root,或者oracle)的列表
Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
5) 配置權限
配置權限的格式以下:
USER_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
若是不須要密碼驗證的話,則按照這樣的格式來配置
USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG

配置示例:
#
# Host alias specification
Host_Alias      EPG = 192.168.1.1, 192.168.1.2

# User alias specification

# Cmnd alias specification
Cmnd_Alias      SQUID = /opt/vtbin/squid_refresh, /sbin/service, /bin/rm

# Defaults specification

# User privilege specification root    ALL=(ALL) ALL ubuntu EPG=(ALL) NOPASSWD: SQUID

相關文章
相關標籤/搜索