058-sudo配置文件解析

在工做過程當中,咱們離不開用戶,用戶組的管理。那麼裏邊的配置文件怎麼查看呢?想知道就往下看!linux

1.刪除用戶的經驗

a./etc/passwd 文件中註釋掉用戶,觀察一個月,出問題還原,操做前備份。shell

b.把登錄的shell改爲  /sbin/nologinvim

c.帳戶統一管理,庫裏幹掉用戶,所有都沒了 bash

2.修改密碼有效期限命令 chage

密碼過時時間調整 chage 網絡

-m:密碼可更改的最小天數。爲零時表明任什麼時候候均可以更改密碼。運維

-M:密碼保持有效的最大天數。學習

-w:用戶密碼到期前,提早收到警告信息的天數。this

-E:賬號到期的日期。過了這天,此賬號將不可用。spa

-d:上一次更改的日期。.net

-i:停滯時期。若是一個密碼已過時這些天,那麼此賬號將不可用。

-l:例出當前的設置。由非特權用戶來肯定他們的密碼或賬號什麼時候過時。

來自: http://man.linuxde.net/chage

[root@cnsz142728 ~]# chage -m 600 kaka
[root@cnsz142728 ~]# chage -l kaka
Last password change                                    : Oct 12, 2017
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 600
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

 配置文件/etc/default/useradd 

[root@cnsz142728 ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=   ###帳號終止日期,不設置表示不啓用
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@cnsz142728 ~]# useradd star -e 2017/11/11
[root@cnsz142728 ~]# chage -l star
Last password change                                    : Oct 23, 2017
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : Nov 11, 2017
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

3.sudo的配置文件

先講解一下sudo 配置文件(/etc/sudoers)的最小含義

命令行輸入visudo  98gg 進入98行。

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
kaka    ALL=(ALL)       /usr/sbin/useradd,/usr/sbin/userdel   
用戶名   機器=受權的角色   容許的命令

visudo -c  檢查語法

sudo -l  查看用戶本身的權限

sed -i '99a 添加內容' /etc/sudoers

4.sudo 配置文件的深刻解析

4.1 用戶別名

通常狀況下會寫%groupname ,而不是分開寫用戶名

## 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  %groupname

4.2 用戶身份別名

root   ALL=(ALL)   ALL 

小括號中的ALL 就是Runas_Alias的應用位置,能夠切換的用戶角色,好比root.

4.3 命令別名

Cmnd_Alias =命令細分 

4.4 主機別名

Host_Alias 

FILESERVERS = fs1, fs2

5.學習與實踐相互結合

開發人員:User_Alias KAIFA_ADMINS = kaifa01, kaifa02

                 命令權限:KFCMD

                 身份權限:OP1

運維人員: User_Alias OLD_ADMINS = kaka, %sa

                 命令權限:USERCMD DISKCMD NETMAGCMD CTRLCMD

                 身份權限:OP1 

網絡工程師: User_Alias OLD_NETADMINS = feifei, yanyan

                  命令權限:NETADMINS

                  身份權限:OP2 

解答:

用戶別名:

User_Alias KAIFA_ADMINS = kaifa01, kaifa02

User_Alias OLD_ADMINS = kaka, %sa

User_Alias OLD_NETADMINS = feifei, yanyan

崗位分類別名:

Cmnd_Alias  USERCMD = /usr/sbin/useradd, /usr/sbin/userdel, /bin/chown,/bin/chmod

Cmnd_Alias  DISKCMD = /sbin/fdisk, /sbin/parted

Cmnd_Alias NETMAGCMDS = /sbin/ifconfig, /etc/init.d/network

Cmnd_Alias CTRLCMD = /usr/sbin/reboot, /usr/sbin/halt

Cmnd_Alias KAIFACMD = /bin/grep, /usr/bin/tail,/bin/cat

角色 

Runas_Alias OP1 = root,kaka

Runas_Alias OP2 = root,yanyan

受權:

#root    ALL=(ALL)      ALL

KAIFA_ADMINS   ALL=(OP1)  KAIFACMD

OLD_ADMINS      ALL=(OP1)  USERCMD,DISKCMD,NETMAGCMD,CTRLCMD

OLD_NETADMINS ALL=(OP2)   NETMAGCMDS 

 

NOPASSWD:ALL,!/usr/bin/vi /etc/sudoers,!/bin/vi /etc/sudoers,!/usr/bin/vim /etc/sudoers,!/usr/sbin/visudo,!/usr/bin/passwd,/usr/bin/passwd [a-zA-Z]*,!/usr/bin/passwd root

看完這些以後,是否是對sudo配置文件更加熟悉了呢?

什麼? 尚未熟悉???拿就繼續看。。。 

相關文章
相關標籤/搜索