免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
用戶切換和用戶狀態(tài)命令su,sudo
用戶切換和用戶狀態(tài)命令
用戶切換命令
系統(tǒng)管理員應該養(yǎng)成良好的習慣:以一個普通用戶登錄系統(tǒng)進行不同操作,當需要超級用戶身份進行系統(tǒng)管理
時再切換超級用戶執(zhí)行系統(tǒng)管理命令。有如下兩種方式:
su
直接切換為超級用戶
普通用戶要切換為超級用戶必須知道超級用戶的口令
適用于系統(tǒng)中只有單個系統(tǒng)管理員的情況
sudo
直接使用 sudo 命令前綴執(zhí)行系統(tǒng)管理命令
執(zhí)行系統(tǒng)管理命令時無需知道超級用戶的口令,使用普通用戶自己的口令即可
由于執(zhí)行系統(tǒng)管理命令時無需知曉超級用戶口令,所以適用于系統(tǒng)中有多個系統(tǒng)管理員的情況,因為這
樣不會泄露超級用戶口令。當然系統(tǒng)只有單個系統(tǒng)管理員時也可以使用。
su
su 用于切換當前用戶到指定的用戶賬號,命令的格式如下:
su [-|-p] [-c command] [username]
其中:
- : 在切換當前用戶時切換用戶工作環(huán)境
-p : 在切換當前用戶時不切換用戶工作環(huán)境,即保持當前用戶工作環(huán)境,此為缺省值
-c command : 以指定的用戶身份執(zhí)行命令 command
username : 為要切換的用戶,省略時表示 root
例如:
# 切換為超級用戶,不切換用戶身份
[osmond@cnetos5 ~]$ su
Password: # 輸入超級用戶口令
[root@cnetos5 osmond]# env|egrep'USER|LOGNAME|PATH|MAIL'
USER=osmond
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/osmond/bin
MAIL=/var/spool/mail/osmond
LOGNAME=osmond
[root@cnetos5 osmond]# exit
# 切換為超級用戶 root,同時切換用戶身份
[osmond@cnetos5 ~]$ su -
Password: # 輸入超級用戶口令
內容提要
1. 理解 su 和 sudo 的不同
2. 掌握 su 和 sudo 的使用
3. 學會使用 id groups newgrp 等命令
[root@cnetos5 ~]# env|egrep 'USER|LOGNAME|PATH|MAIL'
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bi
LOGNAME=root
[root@cnetos5 ~]# exit
[osmond@cnetos5 ~]$
# 切換為普通用戶 crq,同時切換用戶身份
[osmond@cnetos5 ~]$ su - crq
Password: # 輸入用戶 crq 的口令
[crq@cnetos5 ~]$
[crq@cnetos5 ~]$ exit
# 以超級用戶身份和環(huán)境執(zhí)行命令
[osmond@cnetos5 ~]$ su - -c 'tail -1 /etc/shadow'
Password: # 輸入超級用戶口令
qu10m:!!:13862:0:99999:7:::
[osmond@cnetos5 ~]$
sudo
sudo 簡介
sudo (su “do”) 允許系統(tǒng)管理員(root)為幾個用戶或組委派權利,使之能運行部分或全部由 root(或另
一個)用戶執(zhí)行的命令。sudo 設計者的宗旨是:給用戶盡可能少的權限但仍允許完成他們的工作。sudo 是設
置了 SUID 位的執(zhí)行文件。
sudo 具有以下特點:
sudo 能夠限制指定用戶在指定主機上運行某些命令。
sudo 可以提供日志,忠實地記錄每個用戶使用sudo做了些什么,并且能將日志傳到中心主機或者日志服務
器。
sudo 為系統(tǒng)管理員提供配置文件,允許系統(tǒng)管理員集中地管理用戶的使用權限和使用的主機。它默認的存
放位置是 /etc/sudoers。
sudo 使用時間戳文件來完成類似“檢票”的系統(tǒng)。當用戶執(zhí)行 sudo 并且輸入密碼后,用戶獲得了一張默
認存活期為5分鐘的“入場券”(默認值可以在編譯的時候改變)。超時以后,用戶必須重新輸入密碼。
用戶執(zhí)行 sudo 的執(zhí)行過程:
1. 在 /var/run/sudo/$HOME 目錄中查找時間戳文件
I. 若時間戳已過期,提示用戶輸入自己的口令
a. 若口令輸入錯誤則退出 sudo 的執(zhí)行
b. 若口令輸入正確則繼續(xù) sudo 的執(zhí)行過程
II. 若文件存在繼續(xù) sudo 的執(zhí)行過程
2. 讀取配置文件 /etc/sudoers,判斷用戶是否具有執(zhí)行此 sudo 命令的權限
I. 若有權限執(zhí)行則執(zhí)行 sudo 后面的命令
II. 若無權執(zhí)行則退出 sudo 的執(zhí)行
sudo 命令的格式
sudo 命令的格式為:
sudo -V | -h | -k | -l | -v
sudo [-Hb] [-u username|#uid] { -i | -s |<command> }
其中:
-V : 顯示版本信息,并退出。
-h : 顯示幫助信息。
-l : 顯示當前用戶(執(zhí)行 sudo 的使用者)的權限,只有在 /etc/sudoers里的用戶才能使用該選項。
-v : 延長密碼有效期限5分鐘。
-k : 將會強迫使用者在下一次執(zhí)行 sudo 時問密碼(不論有沒有超過 5 分鐘)。
-H : 將環(huán)境變數(shù)中的 $HOME 指定為要變更身份的使用者家目錄(如不加 -u 參數(shù)就是 /root )。
-b : 在后臺執(zhí)行指令。
-u username|#uid : 以指定的用戶作為新的身份。身略此參數(shù)表示以 root 的身份執(zhí)行指令。
-i : 模擬一個新用戶身份的初始 Shell。
-s : 執(zhí)行環(huán)境變量 $SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的shell。
command : 為以新用戶身份要執(zhí)行的命令。
配置 sudo
默認情況下,只有 root 用戶可以使用 sudo 命令。要分派其他用戶使用 sudo 命令,需要修改配置文
件 /etc/sudoers,下面是 CentOS 默認的 配置文件 /etc/sudoers:
# cat /etc/sudoers |egrep -v ^#|egrep -v ^$
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
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date,/usr/bin/yum
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
Cmnd_Alias LOCATE = /usr/sbin/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
Cmnd_Alias DRIVERS = /sbin/modprobe
Defaults requiretty
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRCKDEDIR \
LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME \
LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL \
LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
root ALL=(ALL) ALL
root 用戶可以使用如下命令修改 sudo 的配置文件 /etc/sudoers :
# visudo
上面的命令將啟動 vi 編輯文件 /etc/sudoers。之所以使用 visudo有兩個原因:一是它能夠防止兩個用戶同
時修改它;二是它也能進行有限的語法檢查。
/etc/sudoers 文件的語法相對復雜,詳細說明請參見其手冊 man sudoers,下面做簡單說明:
/etc/sudoers 中的特殊字符和保留字:
以 # 開始的行為注釋行
保留字 ALL 表示所有
% 后的名字表示組名
! 表示邏輯非
行末的 \ 為續(xù)行符
下面的字符作為一個詞的一部分(例如,一個用戶名或者一個主機名)出現(xiàn)時必需使用反斜線(“\”)來轉義:”
@”,”!”,”=”,”:”, ”,”, ”(”, ”)”, “\”
/etc/sudoers 的組成部分:
1. 別名定義部分:包括 User_Alias, Host_Alias, Runas_Alias,Cmnd_Alias
2. 配置選項部分:由 Defaults 設置
3. 權限分配部分:這是整個配置文件的核心部分,其格式為:
User Host = (Runas) Cmnd
用戶 主機 = (可切換的其他用戶) 可執(zhí)行的命令
說明:
在 Cmnd 部分之前可以使用 NOPASSWD: 參數(shù),表示不用輸入密碼即可執(zhí)行 Cmnd
(Runas) 部分可以省略,省略時表示 (root) ,即表示僅能切換為 root 用戶身份
四個部分均可設置多個項目,每個項目用逗號間隔
四個部分均可使用別名定義來簡化配置,即用 User_Alias 定義用戶別名、用 Host_Alias定義主機別
名、用 Runas_Alias 定義切換用戶別名、用 Cmnd_Alias定義命令別名。別名必須使用大些字母。這些
別名語句的格式為:
User_Alias USER_ALIAS_NAME = user1, user2, ......
Host_Alias HOST_ALIAS_NAME = host1, host2, ......
Runas_Alias RUNAS_ALIAS_NAME = runas1, runas2, ......
Cmnd_Alias COMMAND_ALIAS_NAME = cmnd1, cmnd2, ......
下面給出一些配置片段:
# 讓 osmond 用戶和 wheel 組的成員可以在任何主機上以任何人的身份運行任何命令。
osmond ALL = (ALL) ALL
%wheel ALL = (ALL) ALL
# 專職系統(tǒng)管理員(millert,mikef和dowdy)可以在任何主機上執(zhí)行任何命令而不需要進行身份驗證。
User_Alias FULLTIMERS = millert, mikef, dowdy
FULLTIMERS ALL = NOPASSWD: ALL
# 兼職系統(tǒng)管理員(bostley,jwfox和crawl)可以在任何主機上運行任何命令,
# 但他們首先必須進行身份驗證(因為這個條目沒有NOPASSWD標簽)。
User_Alias PARTTIMERS = bostley, jwfox, crawl
PARTTIMERS ALL = ALL
# 兼職管理員(jalala, sonar和huge)可以在任何主機上運行 BROWSE、PROCESSES、USERS中的命令
# 同時可以修改除了 root 用戶之外的所有用戶口令
User_Alias PARTTIMERS2 = jalala, sonar , huge
Cmnd_Alias BROWSE = /bin/ls, /bin/cd, /bin/cat
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill,/usr/bin/killall
Cmnd_Alias USERS = /usr/sbin/useradd [A-z]*,/usr/sbin/userdel-r [A-z]*
PARTTIMERS2 ALL=USERS,PROCESSES,BROWSE,/usr/bin/passwd [A-z]*,!/usr/bin/passwd root
# 允許sys 組的成員運行 networking, software, service 等管理命令
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
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date,/usr/bin/yum
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
Cmnd_Alias LOCATE = /usr/sbin/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
Cmnd_Alias DRIVERS = /sbin/modprobe
%sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE,DELEGATING, \
PROCESSES, LOCATE, DRIVERS
# WEBMASTERS(will, wendy,和 wim)中的用戶都能夠在主機www上
# 以www的身份執(zhí)行任何命令,或者使用 su www 命令
User_Alias WEBMASTERS = will, wendy, wim
WEBMASTERS www = (www) ALL, (root) /usr/bin/su www
sudo 使用舉例
[crq@cnetos5 ~]$ sudo -V # 顯示當前 sudo 的軟件版本
Sudo version 1.6.8p12
[crq@cnetos5 ~]$ sudo tail /etc/shadow # 首次運行 sudo 命令
We trust you have received the usual lecture from the localSystem
Administrator. It usually boils down to these threethings:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
Password: # 輸入 crq 用戶自己的口令
crq is not in the sudoers file. This incident will bereported.
# 因為 crq 用戶未在 /etc/sudoers 文件中,所以未能執(zhí)行 tail 命令
[crq@cnetos5 ~]$
# 以 root 用戶身份執(zhí)行命令
[osmond@cnetos5 ~]$ sudo touch /root/sudotest
Password: # 輸入 osmond 用戶自己的口令
[osmond@cnetos5 ~]$ ls /root/sudotest
ls: /root/sudotest: Permission denied
[osmond@cnetos5 ~]$ sudo ls -l /root/sudotest
# 5 分鐘之內再使用 sudo 命令無需再輸入口令
-rw-r--r-- 1 root root 0 Dec 19 01:51 /root/sudotest
# 以其他用戶身份執(zhí)行命令
[osmond@cnetos5 ~]$ sudo -u crq touch /home/crq/sudotest
[osmond@cnetos5 ~]$ ls -l /home/crq/sudotest
ls: /home/crq/sudotest: Permission denied
[osmond@cnetos5 ~]$ sudo ls -l /home/crq/sudotest
-rw-r--r-- 1 crq crq 0 Dec 19 01:53 /home/crq/sudotest
# 顯示當前用戶 osmond 的 sudo 權限
[osmond@cnetos5 ~]$ sudo -l
User osmond may run the following commands on this host:
(ALL) ALL
# 以 root 用戶身份執(zhí)行子shell
[osmond@cnetos5 ~]$ sudo -s
[root@cnetos5 ~]#
[root@cnetos5 ~]# exit
[osmond@cnetos5 ~]$
用戶狀態(tài)命令
常用的用戶狀態(tài)命令包括:whoami、id、groups、newgrp 等。
whoami:用于顯示當前用戶的名稱
groups:用于顯示指定用戶所屬的組
id:用戶顯示用戶身份
newgrp:用戶轉換用戶的當前組到指定的附加組,用戶必須屬于該組才可以進行
下面給出這些命令的使用舉例:
# 創(chuàng)建一個新組staff
[root@cnetos5 ~]# groupadd staff
# 將用戶crq 加入staff 附加組,并為其設置口令
[root@cnetos5 ~]# usermod -G staff crq
# 顯示當前用戶的名稱
[root@cnetos5 ~]# whoami
root
# 顯示當前用戶所屬的組
[root@cnetos5 ~]# groups
root bin daemon sys adm disk wheel
# 顯示指定用戶所屬的組
[root@cnetos5 ~]# groups crq
crq : crq staff
# 顯示用戶當前的uid、gid和用戶所屬的組列表
[root@cnetos5 ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),
2(daemon),3(sys),4(adm),6(disk),10(wheel)
#切換當前用戶到crq(超級用戶切換到普通用戶無需口令),同時切換用戶工作環(huán)境
[root@cnetos5 ~]# su - crq
[crq@cnetos5 ~]$
# 顯示用戶當前的uid、gid和用戶所屬的組列表
[crq@cnetos5 ~]$ id
uid=504(crq) gid=504(crq) groups=504(crq),3001(staff)
# 創(chuàng)建一個新文件,并查看其用戶和組
[crq@cnetos5 ~]$ touch abc
[crq@cnetos5 ~]$ ll abc
-rw-rw-r-- 1 crq crq 0 Dec 19 02:13 abc
# 切換用戶的當前組到指定的附加組staff
[crq@cnetos5 ~]$ newgrp staff
# 顯示用戶當前的uid、gid和用戶所屬的組列表
[crq@cnetos5 ~]$ id
uid=504(crq) gid=3001(staff) groups=504(crq),3001(staff)
# 創(chuàng)建一個新文件,并查看其用戶和組(比較abc和xyz的組)
[crq@cnetos5 ~]$ touch xyz
[crq@cnetos5 ~]$ ll
total 0
-rw-rw-r-- 1 crq crq 0 Dec 19 02:13 abc
-rw-r--r-- 1 crq staff 0 Dec 19 02:14 xyz
# 返回上一次 crq 的登錄
[crq@cnetos5 ~]$ exit
exit
# 返回上一次root的登錄
[crq@cnetos5 ~]$ exit
logout
[root@cnetos5 ~]#

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Linux用戶配置sudo權限(visudo)的方法
linux權限之su和sudo的差別
linux下su與sudo
關于su和sudo以及visudo的很好的介紹性文檔
Linux 系統(tǒng)中的超級權限的控制
轉貼:Ubuntu進入root權限命令
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服