Ò»¡¢Óû§±êʶ·û£ºUIDÓëGID
ÿ¸öµÇ¼Óû§ÖÁÉÙ¶¼»áÈ¡µÃÁ½¸öID£¬Ò»¸öÊÇÓû§ID(UserID£¬UID)£¬Ò»¸öÊÇÓû§×éID(GroupID£¬GID)¡£
ÿ¸öÎļþ¶¼»áÓÐËùÓÐÕßIDÓëÓû§×éID£¬µ±ÏÔʾÎļþÊôÐÔʱ£¬ÏµÍ³»áÒÀ¾Ý/etc/passwdÓë/etc/groupµÄÄÚÈÝ£¬ÕÒµ½UIDºÍGID¶ÔÓ¦µÄÕ˺ÅÓë×éÃûÏÔʾ³öÀ´¡£UIDÓëÕ˺ÅÊÇÒ»Ò»¶ÔÓ¦µÄ¡£
¶þ¡¢Óû§Õ˺Å
¸úÓû§Õ˺ÅÓйصÄÁ½¸öÎļþ°üÀ¨/etc/passwdºÍ/etc/shadow£¬¾ßÌåÈçÏ£º
1./etc/passwdÎļþ½á¹¹£º´ËÎļþÿһÐдú±íÒ»¸öÕ˺Å
²é¿´/etc/passwdÎļþµÄÊôÐÔ£¬ÎļþµÄȨÏÞΪrootÓû§¿ÉÒÔ¶Áд£¬ÆäËüÓû§ÎªÖ»¶Á£º
[root@hs-uf21 ~]# ll /etc/passwd
-rw-r--r-- 1 root root 2767 Apr 21 21:00 /etc/passwd
²é¿´/etc/passwdÎļþÄÚÈÝ£¬¹²ÓÐ7¸ö×ֶΣ¬Ã¿¸ö×Ö¶ÎʹÓ÷ֺš°:¡±¸ô¿ª£¬·Ö±ðÊÇ£º
[root@hs-uf21 ~]# head /etc/passwd
root : x : 0 : 0 : root : /root : /bin/bash
[ 1 ] [2] [3] [4] [ 5 ] [ 6 ] [ 7 ]
......
[1]£ºÕ˺ÅÃû³Æ
[2]:ÃÜÂë
[3]:UID
[4]:GID
[5]:Óû§ÐÅϢ˵Ã÷
[6]:Ö÷Îļþ¼Ð
[7]:Shell
2./etc/shadowÎļþ½á¹¹£º
²é¿´/etc/shadowÎļþµÄÊôÐÔ£¬ÎļþµÄȨÏÞΪrootʹÓÃÖ»¶Á£º
[root@hs-uf21 ~]# ll /etc/shadow
-r-------- 1 root root 1684 Apr 10 21:28 /etc/shadow
²é¿´/etc/shadowÎļþµÄÄÚÈÝ£¬¹²ÓÐ9¸ö×ֶΣ¬Ã¿¸ö×Ö¶ÎʹÓ÷ֺš°:¡±¸ô¿ª£¬·Ö±ðÊÇ£º
[root@hs-uf21 ~]# head /etc/shadow
root:$1$yI2Xb6os$9C5hnN3POy6sdl0TY8FZv.:15805:0:99999:7:::
......
[1]£ºÕ˺ÅÃû³Æ
[2]:ÃÜÂë
[3]:×î½ü¸üÐÂÃÜÂëµÄÈÕÆÚ
[4]:ÃÜÂë²»¿ÉÒÔ±»¸ü¸ÄµÄÌìÊý
[5]:ÃÜÂëÐèÒªÖØÐ¸ü¸ÄµÄÌìÊý
[6]:ÃÜÂëÐèÒª¸ü¸ÄÆÚÏÞǰµÄ¾¯¸æÌìÊý
[7]:ÃÜÂë¹ýÆÚºóµÄÕ˺ſíÏÞʱ¼ä£¨ÃÜÂëʧЧÈÕ£©
[8]:Õ˺ÅʧЧÈÕÆÚ
[9]:ϵͳ±£Áô
Èý¡¢Óû§×é
¸úÓû§×éÏà¹ØµÄÁ½Îļþ°üÀ¨/etc/groupºÍ/etc/gshadow,¾ßÌåÈçÏ£º
1./etc/groupµÄÎļþ½á¹¹£º
²é¿´/etc/groupÎļþµÄÄÚÈÝ£º¹²4¸ö×ֶΣ¬Ã¿¸ö×Ö¶ÎʹÓ÷ֺš°:¡±¸ô¿ª£¬·Ö±ðÊÇ£º
[root@hs-uf21 etc]# head -n 2 group
root:x:0:root
bin:x:1:root,bin,daemon
[1]:Óû§×éÃû
[2]:Óû§×éÃÜÂë
[3]:GID
[4]:´ËÓû§×éÖ§³ÖµÄÕ˺ţ¬¿ÉÒÔÓжà¸öÕ˺ÅͬÊôÓÚÒ»¸ö×é
²é¿´OracleÓû§ÐÅÏ¢ÓëÓû§×éÐÅÏ¢
[root@hs-uf21 ~]# grep oracle /etc/passwd /etc/group/etc/gshadow
/etc/passwd:oracle:x:501:502::/home/oracle:/bin/bash
/etc/group:dba:x:501:oracle
ÓÐЧÓû§×éÓë³õʼÓû§×é
ʹÓÃgroupsÃüÁî²é¿´oracleÓû§Ö§³ÖµÄÓû§×飬µÚÒ»¸öÏÔʾµÄÓû§×éΪÓÐЧÓû§×飺
[oracle@hs-uf21 ~]$ groups
oinstall dba
¸Ä±äoracleÓû§µÄÓÐЧÓû§×飬ʹÓÃnewgrpÃüÁ
[oracle@hs-uf21 ~]$ newgrpdba
[oracle@hs-uf21 ~]$ groups
dba oinstall
Óû§Ð´´½¨ÎļþµÄËùÊô×éÃûΪµ±Ç°ÓÐЧÓû§×飺
[oracle@hs-uf21 ~]$ touch test.txt
[oracle@hs-uf21 ~]$ ll
-rw-r--r-- 1oracle dba 0 Apr 21 21:40 test.txt
2./etc/gshadowµÄÎļþ½á¹¹£º
²é¿´/etc/gshadowµÄÄÚÈÝ£º¹²4¸ö×ֶΣ¬Ã¿¸ö×Ö¶ÎʹÓ÷ֺš°:¡±¸ô¿ª£¬·Ö±ðÊÇ£º
[root@hs-uf21 etc]# head -n 2 gshadow
root:::root
bin:::root,bin,daemon
[1]:Óû§×éÃû
[2]:Óû§×éÃÜÂë
[3]:Óû§×é¹ÜÀíÔ±ÓÐÕ˺Å
[4]:¸ÃÓû§×éµÄËùÊôÕ˺ţ¨Óë/etc/groupÏàͬ£©
ËÄ¡¢Õ˺ŹÜÀí
1.ÐÂÔöÓû§useradd:
Óï·¨£ºuseradd [-u UID] [-g ³õʼÓû§×é] [-G ´ÎÒªÓû§×é] [-mM][-c Óû§ËµÃ÷] [-d Óû§Ö÷Îļþ¼Ð£¨¾ø¶Ô·¾¶£©] [-s shell] Óû§Õ˺Å
²ÎÊý£º
[-u]:ºóÃæ½ÓUID£¬ÊÇÒ»×éÊý×Ö£¬Ö±½ÓÖ¸¶¨Ò»¸ö´ý¶¨µÄUID¸øÕâ¸öÕ˺Å
[-g]:ºóÃæ½ÓÓû§³õʼÓû§×éÃûinitialgroup
[-G]:ºóÃæ½Ó´ÎÒª×éÃû£¬¼´´ËÕ˺ݹ¿ÉÒÔ¼ÓÈëµÄ×éÃû
[-m]:Ç¿ÖÆ£¡Òª´´½¨Óû§Ö÷Îļþ¼Ð£¨ÆÕͨÕ˺ÅĬÈÏ£©
[-M]:Ç¿ÖÆ£¡²»Òª´´½¨Óû§Ö÷Îļþ¼Ð£¨ÏµÍ³Õ˺ÅĬÈÏ£©
[-c]:
[-d]:Ö¸¶¨Ä³¸öĿ¼ΪÓû§µÄÖ÷Îļþ¼Ð£¬¶ø²»Ê¹ÓÃĬÈÏÖµ£¬±ØÐèʹÓþø¶Ô·¾¶
[-r]:´´½¨Ò»¸öϵͳÕ˺ţ¬Õâ¸öÕ˺ŵÄUID»áÓÐÏÞÖÆ£¨²Î¿¼/etc/login.defs£©
[-s]:ºóÃæ½Óshell,ÈôûÓÐÖ¸¶¨¸ÕĬÈÏÊÇ/bin/bash
[-e]:ºóÃæ½ÓÒ»¸öÈÕÆÚ£¬ÉèÖôËÕ˺ŵÄʧЧÈÕ£¬¸ñʽΪ¡°YYYY-MM-DD¡±´ËÏî»áдÈëshadowµÄµÚ°Ë¸ö×Ö¶Î
[-f]:ºóÃæ½ÓshadowµÄµÚÆß¸ö×ֶΣ¬Ö¸¶¨ÃÜÂëÊÇ·ñ»áʧЧ£¬0ΪÁ¢¿ÌʧЧ£¬-1ΪÓÀÔ¶²»Ê§Ð§
[-D]:²é¿´useraddÃüÁîµÄĬÈÏÖµ
²é¿´useraddÃüÁîµÄĬÈÏÖµ£º
[root@hs-uf21 etc]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
ÐÂÓû§user1(ʹÓÃϵͳĬÈϲÎÊý):
[root@hs-uf21 etc]# useradd user1
[root@hs-uf21 etc]# grep user1 passwd shadow groupgshadow
passwd:user1:x:502:503::/home/user1:/bin/bash
shadow:user1:!!:15817:0:99999:7:::
group:user1:x:503:
gshadow:user1:!::
¸øÓû§user1ÉèÖÃÃÜÂ룺
[root@hs-uf21 etc]# passwd user1
Changing password for user user1.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updatedsuccessfully.
²é¿´user1Óû§µÄÖ÷Îļþ¼Ð£ºÄ¬ÈÏȨÏÞÊÇ700
[root@hs-uf21 etc]# ll -d /home/user1
drwx------ 4user1 user1 4096 Apr 22 21:27 /home/user1
×¢Ò⣺ʹÓÃrootÓû§ÉèÖÃÆäËüÓû§µÄÃÜÂë
˵Ã÷£º´´½¨ÆÕͨÓû§Ê±£¬UIDĬÈÏÊÇ´óÓÚ500µÄ£¬²¢ÇÒ»áн¨Ò»¸ö¸úÓû§ÃûÏàͬµÄÓû§×é×öΪ´ËÓû§µÄ³õʼÓû§×é
ÐÂÓû§user2£¬²¢Ö¸¶¨UIDΪ114£¬Ö¸¶¨³õʼÓû§×éΪusers,Ç¿ÖÆ²»´´½¨Ö÷Îļþ¼Ð£º
[root@hs-uf21 etc]# useradd -u 114 -g users -M user2
[root@hs-uf21 etc]# ll -d /home/user2
ls: /home/user2: No such file or directory
[root@hs-uf21 etc]# grep user2 passwd shadow group
passwd:user2:x:114:100::/home/user2:/bin/bash
shadow:user2:!!:15817:0:99999:7:::
×¢Ò⣺ָ¶¨³õʼÓû§×éºó£¬groupÎļþÖÐûÓÐuser2µÄÏà¹ØÐÅÏ¢
ʹÓÃ-r²ÎÊý´´½¨Ò»¸öϵͳÕ˺ţº
[root@hs-uf21 etc]# useradd -r user3
[root@hs-uf21 etc]# ll -d /home/user3
ls: /home/user3: No such file or directory
[root@hs-uf21 etc]# grep user3 passwd shadow group
passwd:user3:x:115:115::/home/user3:/bin/bash
shadow:user3:!!:15817::::::
group:user3:x:115:
×¢Ò⣺ĬÈÏ´´½¨ÏµÍ³Õ˺ŵÄUIDÊÇСÓÚ500µÄ£¬²¢ÇÒûÓд´½¨Óû§Ö÷Îļþ¼Ð£¬Í¬Ê±Ð´´½¨¸úÓû§Í¬ÃûµÄÓû§×é×öΪ´ËÓû§µÄ³õʼÓû§×é
´´½¨ÐÂÓû§Éæ¼°µÄÎļþ£º
Óû§Õ˺ÅÓëÃÜÂë²ÎÊý·½ÃæµÄÎļþ£º/etc/passwd¡¢/etc/shadow
Óû§×éÏà¹Ø·½ÃæµÄÎļþ£º/etc/group ¡¢/etc/gshadow
Óû§Ö÷Îļþ¼Ð£º/home/Õ˺ÅÃû³Æ
useradd²Î¿¼Îļþ£º/etc/default/useradd£¨Ò²¿ÉÒÔʹÓÃÃüÁîuseradd -D²é¿´£©
[root@hs-uf21 etc]# cat /etc/default/useradd
# useradd defaults file
GROUP=100 <<==ĬÈÏÓû§×é
HOME=/home <<==ĬÈÏÖ÷Îļþ¼ÐËùÓÐĿ¼
INACTIVE=-1 <<==ÃÜÂëʧЧÈÕ
EXPIRE= <<==Õ˺ÅʧЧÈÕ
SHELL=/bin/bash <<==ĬÈÏshell
SKEL=/etc/skel <<==Ö¸¶¨Óû§Ö÷Îļþ¼ÐµÄ²Î¿¼»ù׼Ŀ¼
UID/GID¼°ÃÜÂë²ÎÊýµÄ²Î¿¼Îļþ£º/etc/login.defs
[root@hs-uf21 etc]# cat /etc/login.defs
MAIL_DIR /var/spool/mail <<==Óû§Ä¬ÈÏÓʼþÐÅÏä·ÅÖÃĿ¼
PASS_MAX_DAYS 99999 <<==/etc/shadowÄڵĵÚ5ÁУ¬ÉèÖöà¾ÃÐèÒª¸ü¸ÄÃÜÂëµÄÌìÊý
PASS_MIN_DAYS 0 <<==/etc/shadowÄڵĵÚ4ÁУ¬ÉèÖöà¾Ã²»¿ÉÖØÐÂÉèÖÃÃÜÂëµÄÌìÊý
PASS_MIN_LEN 5 <<==ÃÜÂë×î¶ÌµÄ×Ö·û³¤¶È£¬ÒѾ±»pamÄ£Ê½Ìæ´ú£¬Ê§È¥Ð§ÓÃ
PASS_WARN_AGE 7 <<==/etc/shadowÄڵĵÚ6ÁУ¬ÉèÖÃÃÜÂë¹ýÆÚǰµÄ¾¯¸æÌìÊý
UID_MIN 500 <<==Óû§×îСµÄUID,СÓÚ500µÄUIDΪϵͳ±£Áô
UID_MAX 60000 <<==Óû§×î´óµÄUID
GID_MIN 500 <<==Óû§×Ô¶¨Òå×éµÄ×îСGID,СÓÚ500µÄΪϵͳ±£Áô
GID_MAX 60000 <<==Óû§×Ô¶¨Òå×éµÄ×î´óGID
CREATE_HOME yes <<==ÔÚ²»¼Ó-M¼°-mʱ£¬ÊÇ·ñÖ÷¶¯´´½¨Óû§Ö÷Îļþ¼Ð
2.Óû§ÉèÖÃÃÜÂ룺passwd/chage
passwd:
Óï·¨£ºpasswd[--stdin][-l][-u][-S][-n ÈÕÊý][-x ÈÕÊý][-wÈÕÊý][-i ÈÕÆÚ] Õ˺Å
²ÎÊý£º
[--stdin]:
[-l]:LockµÄÒâ˼£¬»á½«/etc/shadowµÚ¶þÁÐ×îÇ°Ãæ¼ÓÉÏ¡°!¡±Ê¹ÓÃÃÜÂëʧЧ
[-u]:Óë-lÊÇÏà¶ÔµÄ£¬UnlockµÄÒâ˼
[-S]:ÁгöÃÜÂëµÄÏà¹Ø²ÎÊý£¬¼´shadowÎļþÄڵĴ󲿷ÖÐÅÏ¢
[-n]:ºóÃæ½ÓÌìÊý£¬ÐÞ¸ÄshadowÎļþµÄµÚ4ÁУ¬¶à¾Ã²»¿ÉÒÔÐÞ¸ÄÃÜÂëµÄÌìÊý
[-x]:ºóÃæ½ÓÌìÊý£¬ÐÞ¸ÄshadowÎļþµÄµÚ5ÁУ¬¶à¾Ã±ØÐèÒª¸Ä¶¯ÃÜÂëµÄÌìÊý
[-w]:ºóÃæ½ÓÌìÊý£¬ÐÞ¸ÄshadowÎļþµÄµÚ6ÁУ¬ÃÜÂë¹ýÆÚǰµÄ¾¯¸æÌìÊý
[-i]:ºóÃæ½ÓÈÕÆÚ£¬ÐÞ¸ÄshadowÎļþµÄµÚ7ÁУ¬ÃÜÂëʧЧÈÕÆÚ
ÐÞ¸ÄOracleÓû§µÄÃÜÂ룺
[root@hs-uf21 ~]# passwdoracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updatedsuccessfully.
×¢Ò⣺ҪÐÞ¸ÄÆäËüÓû§µÄÃÜÂ룬ÐèҪʹÓá°passwd Õ˺š±µÄ¸ñʽ£¬passwdºóÃæ²»½ÓÓû§±íʾÐÞ¸Ä×Ô¼ºµÄÃÜÂë¡£µ«Ò»°ãÓû§ÐÞ¸Ä×Ô¼ºµÄÃÜÂëʱ£¬ÐèÒªÏÈÊäÈë×Ô¼ºµÄÔÃÜÂ룬¶ørootÓû§²»Óá£LinuxʹÓÃpamģʽÀ´¹ÜÀíÃÜÂ룬Õâ¸ö¹ÜÀíµÄ»úÖÆÐ´ÔÚ/etc/pam.d/passwdµ±ÖС£
ʹÓñê×¼ÊäÈëÐÞ¸ÄÓû§µÄÃÜÂ룺
[root@hs-uf21 ~]# echo "oracle" | passwd --stdin oracle
Changing password for user oracle.
passwd: all authentication tokens updated successfully.
×¢Ò⣺ʹÓÃ--stdinÐÞ¸ÄÓû§ÃÜÂëʱ£¬²»ÐèÒªÔÙ´ÎÊäÈëÃÜÂë¡£µ«ÊÇÐÞ¸ÄÐÅÏ¢»á±»¼Ç¼µ½historyÖС£
chage:change user password expiry information
Óï·¨£ºchage [-ldEImMW] Õ˺Å
²ÎÊý£º
[-l]:Áгö¸ÃÕ˺ŵÄÏêϸÃÜÂë²ÎÊý¡£
[-d]:ºóÃæ½ÓÈÕÆÚ£¬ÐÞ¸ÄshadowÎļþµÄµÚ3ÁУ¨×î½üÒ»´Î¸ü¸ÄÃÜÂëµÄÈÕÆÚ£©£¬¸ñʽ¡°YYYY-MM-DD¡±¡£
[-E]:ºóÃæ½ÓÈÕÆÚ£¬ÐÞ¸ÄshadowÎļþµÄµÚ8ÁУ¨Õ˺ÅʧЧÈÕÆÚ£©£¬¸ñʽ¡°YYYY-MM-DD¡±¡£
[-I]:ºóÃæ½ÓÌìÊý£¬ÐÞ¸ÄshadowÎļþµÄµÚ7ÁУ¬ÃÜÂëʧЧÈÕÆÚ
[-m]:ºóÃæ½ÓÌìÊý£¬ÐÞ¸ÄshadowÎļþµÄµÚ4ÁУ¬¶à¾Ã²»¿ÉÒÔÐÞ¸ÄÃÜÂëµÄÌìÊý
[-M]:ºóÃæ½ÓÌìÊý£¬ÐÞ¸ÄshadowÎļþµÄµÚ5ÁУ¬¶à¾Ã±ØÐèÒª¸Ä¶¯ÃÜÂëµÄÌìÊý
[-W]:ºóÃæ½ÓÌìÊý£¬ÐÞ¸ÄshadowÎļþµÄµÚ6ÁУ¬ÃÜÂë¹ýÆÚǰµÄ¾¯¸æÌìÊý
²é¿´oracleÓû§µÄÃÜÂëÐÅÏ¢£º
[root@hs-uf21 ~]# chage -l oracle
Minimum: 0
Maximum: 99999
Warning: 7
Inactive: -1
Last Change: Apr 24, 2013
Password Expires: Never
Password Inactive: Never
Account Expires: Never
3.usermod:
Óï·¨£ºusermod[-cdegGlsuLu] username
˵Ã÷£ºusermodµÄ²ÎÊý»ù±¾ÒªuseraddÏàͬ¡£
4.userdel:
Óï·¨£ºuserdel[-r] username
²ÎÊý£º
[-r]:Á¬Í¬Óû§µÄÖ÷Îļþ¼ÐҲɾ³ý
ɾ³ýuser3Óû§¼°ÆäÖ÷Îļþ¼Ð£º
[root@hs-uf21 ~]# userdel -r user3
userdel: error removing directory /home/user3
[root@hs-uf21 ~]# ll -a /home/user3
ls: /home/user3: No such file or directory
5.idÃüÁ²é¿´Óû§µÄ»òÕß×Ô¼ºÏà¹ØµÄUID/GIDµÈÐÅÏ¢
Óï·¨£ºid[username]
²é¿´oracleÓû§µÄUID/GIDµÈÐÅÏ¢£º
[root@hs-uf21 ~]# id oracle
uid=501(oracle) gid=502(oinstall)groups=502(oinstall),501(dba)
²é¿´µ±Ç°Óû§µÄUID/GIDµÈÐÅÏ¢£º
[root@hs-uf21 ~]# id
uid=0(root) gid=0(root)groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
You have new mail in /var/spool/mail/root
Îå¡¢Óû§Éí·ÝÇл»
1.suÃüÁî
Óï·¨£ºsu [-lm] [-c ÃüÁî] [username]
²ÎÊý£º
[- ]:µ¥´¿Ê¹ÓÃ- ±íʾʹÓÃlogin-shellµÄ±äÁ¿Îļþ¶ÁȡʽÀ´µÇ¼ϵͳ£¬Èç¹ûûÓÐÓû§Ãû£¬Ôò±íʾÇл»ÎªrootÉí·Ý¡£
[-l]:Óë - ÀàËÆ£¬µ«ºóÃæÐèÒª½ÓÓûÇл»µÄÓû§Õ˺ţ¬Ò²ÊÇlogin-shellµÄ·½Ê½
[-m]:±íʾʹÓÃĿǰµÄ»·¾³ÉèÖ㬶ø²»¶ÁÈ¡ÐÂÓû§µÄÅäÖÃÎļþ
[-c]:½ö½øÐÐÒ»´ÎÃüÁºóÃæ½ÓÐèÒªÖ´ÐеÄÃüÁî
×¢Ò⣺ÈôÒªÍêÕûµØÇл»µ½ÐÂÓû§µÄ±äÁ¿£¬±ØÐëʹÓá°us - username¡±»òÕß¡°su -l username¡±µÄ·½Ê½£¬²¢ÇÒʹÓÃrootÇл»³ÉΪÈκÎÓû§Ê±£¬²¢²»ÐèÒªÊäÈëÐÂÓû§Ãû¡£
2.sudoÃüÁî
sudo¿ÉÒÔÒÔÆäËüÓû§µÄÉí·ÝÖ´ÐÐÃüÁͨ³£ÊÇʹÓÃrootµÄÉí·ÝÀ´Ö´ÐÐÃüÁ£¬µ«²¢·ÇËùÓÐÈ˶¼Äܹ»Ö´ÐÐsudo£¬½öÓÐ/etc/sudoersÄÚµÄÓû§²ÅÄÜÖ´ÐÐsudoÃüÁî¡£
Óï·¨£ºsudo [-b] [-u ÐÂÓû§Õ˺Å]
²ÎÊý£º
[-b]:½«ºóÃæµÄÃüÁîÈÃϵͳ×ÔÐÐÖ´ÐУ¬¶ø²»ÓëĿǰµÄshell²úÉúÓ°Ïì
[-u]:ºóÃæ¿ÉÒÔ½ÓÓûÇл»µÄÓû§£¬ÈôÎÞ´ËÏîÔò´ú±íÇл»Éí·ÝΪroot
rootÓû§Ê¹ÓÃsudoÃüÁîÒÔuser1µÄÉí·ÝÔÚ/home/user1/ÏÂÃæ´´½¨µÄtest.txtÎļþËùÊôÓû§Îªuser1:
[root@hs-uf21 ~]# sudo -u user1 touch/home/user1/test.txt
[root@hs-uf21 ~]# ll -a /home/user1/test.txt
-rw-r--r-- 1 user1 user1 0 Apr 23 22:29 /home/user1/test.txt
3.visudoÓë/etc/sudoers
ÈôÏëÒª³ýÁËrootÖ®ÍâµÄÆäËûÕ˺ÅʹÓÃsudoÃüÁîÖ´ÐÐÊôÓÚrootµÄȨÏÞÃüÁÔòrootÐèÒªÏÈʹÓÃvisudoÈ¥ÐÞ¸Ä/etc/sudoersÎļþ£¬ÈøÃÕ˺ÅÄܹ»Ê¹ÓÃÈ«²¿»ò²¿·ÖµÄrootµÄÃüÁÄÜ¡£Ò²¿ÉÒÔÖ±½ÓʹÓÃvi»òÕßvim±à¼£¬µ«sudoersÎļþÓÐ×Ô¼ºµÄÓï·¨½á¹¹£¬Èç¹ûÉèÖôíÎó»áµ¼ÖÂsudoÃüÁîÎÞ·¨Ê¹Óá£
ϵͳĬÈÏÖ»ÓÐrootÓû§²Å¿ÉÒÔÖ´ÐÐsudoÃüÁ
[Oracle@hs-uf21 ~]$ sudo -u user1 touch/home/user1/test.txt
Password:
oracle is not in the sudoers file. This incident will be reported.
ʹÓÃvisudoÃüÁîÐÞ¸Ä/etc/sudoersÎļþ£¬Ê¹oracleʹÓÿÉÒÔʹÓÃsudoÖ´ÐÐrootÓû§µÄÈ«²¿ÃüÁ
[root@hs-uf21 ~]# visudo
# sudoers file.
root ALL=(ALL) ALL
oracle ALL=(ALL) ALL <<==Ôö¼Ó´ËÐÐ
[root@hs-uf21 ~]# su - oracle
[oracle@hs-uf21 ~]$ sudo -u user1 touch/home/user1/test2.txt
[oracle@hs-uf21 ~]$ sudo ls -al /home/user1/test2.txt
-rw-r--r-- 1 user1 user1 0 Apr 23 22:43 /home/user1/test2.txt
˵Ã÷£º
root ALL=(ALL) ALL
[Óû§Õ˺Å][µÇ¼ÕßµÄÀ´Ô´Ö÷»úÃû][(¿ÉÇл»µÄÉí·Ý)][¿ÉÖ´ÐеÄÃüÁî]
[Óû§Õ˺Å]£ºÏµÍ³µÄÄǸöÕ˺ſÉÒÔʹÓÃsudoÃüÁĬÈÏÕ˺ÅÖ»ÓÐroot¡£
[µÇ¼ÕßµÄÀ´Ô´Ö÷»úÃû]£ºÕâ¸öÕ˺ÅÓÉÄÇ̨Ö÷»úÁ¬½Óµ½±¾LinuxÖ÷»ú£¬Ä¬ÈÏroot¿ÉÒÔÀ´×ÔÈκÎÒ»Ì¨ÍøÂçÖ÷»ú¡£
[(¿ÉÇл»µÄÉí·Ý)]£ºÕâ¸öÕ˺ſÉÒÔÇл»³ÉʲôÉí·ÝÀ´Ö´ÐкóÐøµÄÃüÁĬÈÏroot¿ÉÒÔÇл»³ÉʹÓÃÓû§¡£
[¿ÉÖ´ÐеÄÃüÁî]£ºÕâ¸öÃüÁî±ØÐëʹÓþø¶Ô·¾¶£¬Ä¬ÈÏroot¿ÉÒÔÇл»ÈκÎÉí·Ý£¬ÇÒÖ´ÐÐÈκÎÃüÁî¡£
ÓÃoracleÓû§²é¿´/etc/shadowÎļþ»áÌáʾûÓÐȨÏÞ£¬µ«Ê¹ÓÃsudo¿ÉÒԲ鿴£º
[oracle@hs-uf21 ~]$ head -n 10 /etc/shadow
head: cannot open `/etc/shadow' for reading:Permission denied
[oracle@hs-uf21 ~]$ sudo head -n 10 /etc/shadow
Password:
root:$1$yI2Xb6os$9C5hnN3POy6sdl0TY8FZv.:15805:0:99999:7:::
.........
ÀûÓÃÓû§×éÒÔ¼°ÃâÃÜÂëµÄ¹¦ÄÜ´¦Àívisudo:
[root@hs-uf21 ~]# visudo
# sudoers file.
# %wheel ALL=(ALL) ALL
%user1 ALL=(ALL) ALL <<==Ôö¼Ó´ËÐÐ,ʹÓÃÓû§×é¿ÉÒÔʹÓÃÓû§×éuser1ÏÂÃæµÄÓû§¿ÉÒÔʹÓÃsudoÃüÁî
[user1@hs-uf21 ~]$ head /etc/shadow
head: cannot open `/etc/shadow' for reading:Permission denied
[user1@hs-uf21 ~]$ sudo head /etc/shadow
Password:
root:$1$yI2Xb6os$9C5hnN3POy6sdl0TY8FZv.:15805:0:99999:7:::
bin:*:15805:0:99999:7:::
ʹÓÃvisudo±à¼/etc/sudoersÎļþ£¬¿ÉÒÔÈÃÓû§ÃâÊä³öÃÜÂëÖ´ÐÐsudoÃüÁ
[root@hs-uf21 ~]# visudo
# sudoers file.
# %wheel ALL=(ALL) NOPASSWD: ALL
%user1 ALL=(ALL) NOPASSWD: ALL
[root@hs-uf21 ~]# su user1
[user1@hs-uf21 root]$ sudo head /etc/shadow
root:$1$yI2Xb6os$9C5hnN3POy6sdl0TY8FZv.:15805:0:99999:7:::
×¢Ò⣺±¾´ÎʹÓÃsudoÖ´ÐÐÃüÁîûÓÐÊäÈëÃÜÂë¡£
ÓÐÏÞÖÆµÄ²Ù×÷ÃüÁ
[root@hs-uf21 ~]# visudo
# User privilege specification
root ALL=(ALL) ALL
oracle ALL=(ALL) ALL
adminpwd ALL=(root) /usr/bin/passwd
[adminpwd@hs-uf21 ~]$ sudo passwd user1
Changing password for user user1.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updatedsuccessfully.
Ö»Ö´ÐÐsudopasswdʱÌáʾ¸ü¸ÄrootÓû§µÄÃÜÂ룺
[adminpwd@hs-uf21 ~]$ sudo passwd
Changing password for user root.
New UNIX password:
ʹÓÃvisudoÃüÁîÐÞ¸Ä/etc/sudoersÎļþ£¬È«adminpwdÓû§Ö»ÄÜʹÓóýÁËrootµÄÖ®ÍâµÄÆäËüÓû§µÄÃÜÂ룺
[root@hs-uf21 ~]# visudo
# User privilege specification
root ALL=(ALL) ALL
oracle ALL=(ALL) ALL
#adminpwd ALL=(root) /usr/bin/passwd <<==´ËÐиü¸ÄΪÏÂÃæµÄд·¨
adminpwd ALL=(root) !/usr/bin/passwd,!/usr/bin/passwdroot,/usr/bin/passwd [A-Za-z]*
[root@hs-uf21 ~]# su - adminpwd
[adminpwd@hs-uf21 ~]$ sudo passwd
Sorry, user adminpwd is not allowed to execute'/usr/bin/passwd' as root on hs-uf21.
ͨ¹ý±ðÃûÉèÖÃvisudo:
[root@hs-uf21 ~]# visudo
# sudoers file.
# User alias specification
User_Alias ADMINPWD = oracle, adminpwd,user1
# Cmnd alias specification
Cmnd_Alias ADMINCMD =!/usr/bin/passwd,!/usr/bin/passwd root,/usr/bin/passwd [A-Za-z]*
# User privilege specification
root ALL=(ALL) ALL
#oracle ALL=(ALL) ALL
#adminpwd ALL=(root) !/usr/bin/passwd,!/usr/bin/passwdroot,/usr/bin/passwd [A-Za-z]*
ADMINPWD ALL=(root) ADMINCMD
[root@hs-uf21 ~]# su oracle
[oracle@hs-uf21 root]$ sudo head /etc/shadow
Password:
Sorry, user oracle is not allowed to execute'/usr/bin/head /etc/shadow' as root on hs-uf21.
[oracle@hs-uf21 root]$ sudo passwd
Sorry, user oracle is not allowed to execute'/usr/bin/passwd' as root on hs-uf21.
[oracle@hs-uf21 root]$ sudo passwd user3
Changing password for user user3.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updatedsuccessfully.
×¢Ò⣺User_Alias£¬Cmnd_Alias£¬Host_AliasµÄÃû³ÆÒ»¶¨ÒªÊ¹Óôóд¡£
×÷Õߣºzhang_ruihua

