日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux常用命令:sudo 命令

發(fā)布時間:2025/3/15 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux常用命令:sudo 命令 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

sudo命令用來以其他身份來執(zhí)行命令,預(yù)設(shè)的身份為root。

1.命令格式:

  sudo ?[參數(shù)] ?[命令]

2.命令功能:

? ? 功能: ?sudo可以針對單個命令授予臨時權(quán)限。用戶也可以通過su切換到root用戶運行命令,su啟動一個root shell允許用戶運行之后的所有的命令。

? ? 1)sudo與su的不同之處:sudo僅在需要時授予用戶權(quán)限,減少了用戶因為錯誤執(zhí)行命令損壞系統(tǒng)的可能性;sudo也可以用來以其他用戶身份執(zhí)行命令。此外,sudo可以記錄用戶執(zhí)行的命令,以及失敗的特權(quán)獲取。

? ? 2)提醒:在/etc/sudoers中設(shè)置了可執(zhí)行sudo指令的用戶。若其未經(jīng)授權(quán)的用戶企圖使用sudo,則會發(fā)出警告的郵件給管理員。用戶使用sudo時,必須先輸入密碼,之后有5分鐘的有效期限,超過期限則必須重新輸入密碼。

? ? 3)[root@localhost etc]# cat sudoers ?查看/etc下的只有root才能打開的文件配置文件sudoers

[xiong@localhost ~]$ yum update mysql                      //yum的執(zhí)行需要root權(quán)限 已加載插件:fastestmirror, langpacks 您需要 root 權(quán)限執(zhí)行此命令。 [xiong@localhost ~]$ sudo yum update mysql                   //默認(rèn)情況下sudo獲得root用戶的權(quán)限 We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things:#1) Respect the privacy of others.#2) Think before you type.#3) With great power comes great responsibility.[sudo] password for xiong: xiong 不在 sudoers 文件中。此事將被報告。                     //此時sunmeng還沒有使用sudo的權(quán)限 View Code

 4)給普通用使用sudo命令的授權(quán):

## Sudoers allows particular users to run various commands as ## the root user, without needing the root password. ## 該文件允許特定用戶像root用戶一樣使用各種各樣的命令,而不需要root用戶的密碼 ## ## Examples are provided at the bottom of the file for collections ## of related commands, which can then be delegated out to particular ## users or groups. ## 在文件的底部提供了很多相關(guān)命令的示例以供選擇,這些示例都可以被特定用戶或 ## 用戶組所使用 ## ## This file must be edited with the 'visudo' command. ## 該文件必須使用"visudo"命令編輯## Host Aliases ## Groups of machines. You may prefer to use hostnames (perhaps using ## wildcards for entire domains) or IP addresses instead. ## 對于一組服務(wù)器,你可能會更喜歡使用主機名(可能是全域名的通配符) ## 、或IP地址,這時可以配置主機別名 # Host_Alias FILESERVERS = fs1, fs2 # Host_Alias MAILSERVERS = smtp, smtp2## User Aliases ## These aren't often necessary, as you can use regular groups ## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname ## rather than USERALIAS ## 這并不很常用,因為你可以通過使用組來代替一組用戶的別名 # User_Alias ADMINS = jsmith, mikem## Command Aliases ## These are groups of related commands... ## 指定一系列相互關(guān)聯(lián)的命令(當(dāng)然可以是一個)的別名,通過賦予該別名sudo權(quán)限, ## 可以通過sudo調(diào)用所有別名包含的命令,下面是一些示例## Networking 網(wǎng)絡(luò)操作相關(guān)命令別名 # 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## Installation and management of software 軟件安裝管理相關(guān)命令別名 # Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum## Services 服務(wù)相關(guān)命令別名 # Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig## Updating the locate database 本地數(shù)據(jù)庫升級命令別名 # Cmnd_Alias LOCATE = /usr/bin/updatedb## Storage 磁盤操作相關(guān)命令別名 # Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe , /bin/mount, /bin/umount## Delegating permissions 代理權(quán)限相關(guān)命令別名 # Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp ## Processes 進(jìn)程相關(guān)命令別名 # Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall## Drivers 驅(qū)動命令別名 # Cmnd_Alias DRIVERS = /sbin/modprobe# Defaults specification# # Disable "ssh hostname sudo <cmd>", because it will show the password in clear. # You have to run "ssh -t hostname sudo <cmd>". # 一些環(huán)境變量的相關(guān)配置,具體情況可見man soduers Defaults requiretty //設(shè)為默認(rèn)的目標(biāo)用戶,69行是系統(tǒng)自帶的,是對所有用戶的默認(rèn),如果設(shè)sunmeng為默認(rèn)目標(biāo)用戶,則語法為:Defaults:foobar runas_default=rene (冒號必不可少) Defaults env_reset Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS" Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE" Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES" Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE" Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin## Next comes the main part: which users can run what software on ## which machines (the sudoers file can be shared between multiple ## systems). ## 下面是規(guī)則配置:什么用戶在哪臺服務(wù)器上可以執(zhí)行哪些命令(sudoers文件可以在多個系統(tǒng)上共享) ## Syntax(語法): ## ## user MACHINE=COMMANDS 用戶 登錄的主機=(可以變換的身份) 可以執(zhí)行的命令 ## ## The COMMANDS section may have other options added to it. ## 命令部分可以附帶一些其它的選項 ## ## Allow root to run any commands anywhere ## 允許root用戶執(zhí)行任意路徑下的任意命令 root ALL=(ALL) ALL //第一個ALL是指網(wǎng)絡(luò)中的主機,我們后面把它改成了主機名。第二個括號里的ALL是指目標(biāo)用戶,也就是以誰的身份去執(zhí)行命令。最后一個ALL當(dāng)然就是指命令名了。 ## Allows members of the 'sys' group to run networking, software, ## service management apps and more. ## 允許sys中戶組中的用戶使用NETWORKING等所有別名中配置的命令 # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE , DRIVERS## Allows people in group wheel to run all commands ## 允許wheel用戶組中的用戶執(zhí)行所有命令 %wheel ALL=(ALL) ALL## Same thing without a password ## 允許wheel用戶組中的用戶在不輸入該用戶的密碼的情況下使用所有命令 # %wheel ALL=(ALL) NOPASSWD: ALL## Allows members of the users group to mount and unmount the ## cdrom as root ## 允許users用戶組中的用戶像root用戶一樣使用mount、unmount、chrom命令 # %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom## Allows members of the users group to shutdown this system ## 允許users用戶組中的用戶關(guān)閉localhost這臺服務(wù)器 # %users localhost=/sbin/shutdown -h now## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment) ## 讀取放置在/etc/sudoers.d/文件夾中的文件(此處的#不意味著這是一個聲明) #includedir /etc/sudoers.d View Code

??? 5)簡單的測試:

visudo后得到的格式為:賬戶名 主機名稱=(可切換的身份) 可用的指令//比如root賬戶root ALL=(ALL) ALL對于新增的賬戶就在下面加上test ALL=(root) ALL//允許test用sudo命令執(zhí)行root的所有命令 同理對于組使用者也是一個,但是要加上%%testgroup       ALL=(root)                    ALL需要注意的是:每次切換,你都需要密碼才可以,使用如下命令可以避免輸入密碼:test ALL=(root) NOPASSWD: ALL-------------------------------[root@localhost xiong]# visudo              //這里的visudo不需要任何參數(shù),因為它是打開sudoers的專屬命令 //改過的地方 ## user MACHINE=COMMANDS ## ## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL xiong ALL=(ALL) ALL View Code [xiong@localhost ~]$ ls                                   //當(dāng)前身份執(zhí)行命令 Desktop Documents Downloads Music Pictures Public Templates Videos [xiong@localhost ~]$ sudo ls                               //利用root身份執(zhí)行命令 Desktop Documents Downloads Music Pictures Public Templates Videos [xiong@localhost ~]$ yum update mysql                           //當(dāng)前身份執(zhí)行命令,提醒需要root身份 已加載插件:fastestmirror, langpacks 您需要 root 權(quán)限執(zhí)行此命令。 [xiong@localhost ~]$ sudo yum update mysql                        //以root身份執(zhí)行命令(在終端中第一次用這個命令時會提醒輸入密碼) 已加載插件:fastestmirror, langpacks base | 3.6 kB 00:00 extras | 3.4 kB 00:00 updates | 3.4 kB 00:00 Loading mirror speeds from cached hostfile* base: mirrors.cqu.edu.cn* extras: mirrors.cqu.edu.cn* updates: mirrors.cqu.edu.cn No packages marked for update View Code

3.命令參數(shù):

? ? ? 1)?-b       在后臺運行命令

 ?? 2)?-u user    ?以指定用戶身份運行命令(或編輯文件)

? ? ? 3) -l       ?查看當(dāng)前用戶可以執(zhí)行的命令

? ? ? 4) -v      ?更新用戶的時間戳而不執(zhí)行命令(注意:在輸入密碼之后,5分鐘內(nèi)執(zhí)行sudo不需要再次輸入密碼。)

? ? ? 5) -V       顯示sudo的版本信息

? ? ? 6) -i       ?以目標(biāo)用戶登錄一個shell

4.使用實例:

示例1:指定用戶名

命令: sudo -u root yum install mysql-devel

[xiong@localhost Desktop]$ sudo -u root yum install mysql-devel  -u參數(shù)比較有用的地方是在多用戶時,可以臨時獲得權(quán)限打開用戶獨占的文件 已加載插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile* base: mirrors.cqu.edu.cn* extras: mirrors.cqu.edu.cn* updates: mirrors.cqu.edu.cn 正在解決依賴關(guān)系 --> 正在檢查事務(wù) ...... --> 解決依賴關(guān)系完成 依賴關(guān)系解決 =============================================================================================================Package 架構(gòu) 版本 源 大小 ============================================================================================================= 正在安裝:mariadb-devel x86_64 1:5.5.47-1.el7_2 ...... 作為依賴被升級:krb5-libs.x86_64 0:1.13.2-12.el7_2 krb5-workstation.x86_64 0:1.13.2-12.el7_2 openssl.x86_64 1:1.0.1e-51.el7_2.5 openssl-libs.x86_64 1:1.0.1e-51.el7_2.5 pcre.x86_64 0:8.32-15.el7_2.1 zlib.x86_64 0:1.2.7-15.el7 完畢!

?

示例2:sudo命令與rpm命令結(jié)合使用的幾個例子

[xiong@localhost Desktop]$ sudo rpm -q MySQL-embedded-5.5.28-1.linux2.6.i386.rpm [sudo] password for xiong: 未安裝軟件包 MySQL-embedded-5.5.28-1.linux2.6.i386.rpm [xiong@localhost Desktop]$ sudo rpm -qpR MySQL-embedded-5.5.28-1.linux2.6.i386.rpm MySQL-devel libaio.so.1 libaio.so.1(LIBAIO_0.1) libaio.so.1(LIBAIO_0.4) libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.3) libcrypt.so.1 libcrypt.so.1(GLIBC_2.0) libdl.so.2 libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libm.so.6 libm.so.6(GLIBC_2.0) libm.so.6(GLIBC_2.1) libncurses.so.5 libpthread.so.0 libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.1) libpthread.so.0(GLIBC_2.2) libpthread.so.0(GLIBC_2.3.2) librt.so.1 librt.so.1(GLIBC_2.2) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1

?

示例3:列出用戶可以執(zhí)行的命令

命令:sudo -l

[xiong@localhost Desktop]$ sudo -l 匹配此主機上 xiong 的默認(rèn)條目:requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRCKDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAMELC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin用戶 xiong 可以在該主機上運行以下命令:(ALL) ALL

?

示例4:以目標(biāo)身份登錄一個shell

命令:sudo -i   

[root@localhost Desktop]# sudo -i [root@localhost ~]# sudo -i

?

示例5:顯示詳細(xì)的sudo的版本信息

命令: sudo -V

1 [root@localhost ~]# sudo -V 2 Sudo 版本 1.8.6p7 3 當(dāng)前選項:--build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --prefix=/usr --sbindir=/usr/sbin --libdir=/usr/lib64 --docdir=/usr/share/doc/sudo-1.8.6p7 --with-logging=syslog --with-logfac=authpriv --with-pam --with-pam-login --with-editor=/bin/vi --with-env-editor --with-ignore-dot --with-tty-tickets --with-ldap --with-ldap-conf-file=/etc/sudo-ldap.conf --with-selinux --with-passprompt=[sudo] password for %p: --with-linux-audit --with-sssd 4 Sudoers 策略插件版本 1.8.6p7 5 Sudoers 文件語法版本 42 6 7 Sudoers 路徑:/etc/sudoers 8 nsswitch 路徑:/etc/nsswitch.conf 9 ldap.conf 路徑:/etc/sudo-ldap.conf 10 ldap.secret 路徑:/etc/ldap.secret 11 認(rèn)證方法: 'pam' 12 若使用了 syslog,用于記錄日志的 syslog 設(shè)施:authpriv 13 用戶認(rèn)證成功時使用的 syslog 優(yōu)先級:notice 14 用戶認(rèn)證不成功時使用的 syslog 優(yōu)先級:alert 15 忽略 $PATH 中的“.” 16 在用戶不在 sudoers 列表中時發(fā)送郵件 17 對每個用戶/終端組合使用獨立的時間戳 18 在用戶第一次運行 sudo 時向他致辭 19 默認(rèn)要求用戶認(rèn)證 20 root 可以運行 sudo 21 總是將 $HOME 設(shè)為目標(biāo)用戶的主目錄 22 允許收集一些信息,以提供有用的錯誤消息 23 只允許擁有終端的用戶執(zhí)行 sudo 24 Visudo 將優(yōu)先考慮 EDITOR 環(huán)境變量 25 設(shè)置 LOGNAME 和 USER 環(huán)境變量 26 日志文件折行的長度(0 則不折行):80 27 認(rèn)證時間戳延時:5.0 分鐘 28 密碼提示延時:5.0 分鐘 29 輸入密碼的嘗試次數(shù):3 30 要使用的 umask,或 0777 使用用戶的:022 31 郵件程序路徑:/usr/sbin/sendmail 32 郵件程序標(biāo)志:-t 33 發(fā)送郵件的地址:root 34 郵件消息的主題行:*** SECURITY information for %h *** 35 密碼錯誤消息:Sorry, try again. 36 認(rèn)證時間戳文件夾的路徑:/var/db/sudo 37 默認(rèn)密碼提示:[sudo] password for %p: 38 運行命令的默認(rèn)用戶:root 39 覆蓋用戶的 $PATH 變量的值:/sbin:/bin:/usr/sbin:/usr/bin 40 visudo 所使用的編輯器的路徑:/bin/vi 41 何時為“l(fā)ist”偽命令請求密碼:any 42 何時為“verify”偽命令請求密碼:all 43 >= 3 的文件描述符將會在執(zhí)行命令前關(guān)閉 44 將環(huán)境重設(shè)為默認(rèn)的變量集 45 要檢查完整性的環(huán)境變量: 46 TERM 47 LINGUAS 48 LC_* 49 LANGUAGE 50 LANG 51 COLORTERM 52 要移除的環(huán)境變量: 53 RUBYOPT 54 RUBYLIB 55 PYTHONUSERBASE 56 PYTHONINSPECT 57 PYTHONPATH 58 PYTHONHOME 59 TMPPREFIX 60 ZDOTDIR 61 READNULLCMD 62 NULLCMD 63 FPATH 64 PERL5DB 65 PERL5OPT 66 PERL5LIB 67 PERLLIB 68 PERLIO_DEBUG 69 JAVA_TOOL_OPTIONS 70 SHELLOPTS 71 GLOBIGNORE 72 PS4 73 BASH_ENV 74 ENV 75 TERMCAP 76 TERMPATH 77 TERMINFO_DIRS 78 TERMINFO 79 _RLD* 80 LD_* 81 PATH_LOCALE 82 NLSPATH 83 HOSTALIASES 84 RES_OPTIONS 85 LOCALDOMAIN 86 CDPATH 87 IFS 88 要保留的環(huán)境變量: 89 XAUTHORITY 90 _XKB_CHARSET 91 LINGUAS 92 LANGUAGE 93 LC_ALL 94 LC_TIME 95 LC_TELEPHONE 96 LC_PAPER 97 LC_NUMERIC 98 LC_NAME 99 LC_MONETARY 100 LC_MESSAGES 101 LC_MEASUREMENT 102 LC_IDENTIFICATION 103 LC_COLLATE 104 LC_CTYPE 105 LC_ADDRESS 106 LANG 107 USERNAME 108 QTDIR 109 PS2 110 PS1 111 MAIL 112 LS_COLORS 113 KDEDIR 114 INPUTRC 115 HISTSIZE 116 HOSTNAME 117 DISPLAY 118 COLORS 119 解析 sudoers 時使用的區(qū)域設(shè)置:C 120 使用 zlib 壓縮 I/O 日志 121 用于保存輸入/輸出日志的目錄:/var/log/sudo-io 122 用于保存輸入/輸出日志的文件:%{seq} 123 在分配偽終端時向 utmp/utmpx 文件中添加一條記錄 124 125 本地 IP 地址和網(wǎng)絡(luò)掩碼對: 126 192.168.0.15/255.255.255.0 127 fe80::20c:29ff:fe9f:bf8b/ffff:ffff:ffff:ffff:: 128 129 Sudoers I/O plugin version 1.8.6p7 View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/shujuxiong/p/9013130.html

總結(jié)

以上是生活随笔為你收集整理的linux常用命令:sudo 命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。