centos 删除账户 centos7删除文件

大家好,今天来为大家解答centos 删除账户这个问题的一些问题点,包括centos7删除文件也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

CentOS系统管理_用户和用户组的详解

一:新建用户和用户组:useradd和groupadd

1,useradd的参数:

-u:指定UID标记号

-d:指定宿主目录,缺省为/home/用户名

-e:指定账号失效时间(下面usermod也有此选项)

-g:指定所属的基本组(组名或GID)

-G:指定所属的附加组(组名或GID)

-M:不为用户建立并初始化宿主目录、

-s:指定用户的登录shell(默认为/bin/bash,一般不用改,在建立非登录用户的时候可以指定

为/sbin/nologin)

注:这些参数都能分开用,不冲突的可以在建立用户的时候连着用。

示例1:添加用户stu01,指定UID为520,宿主目录为/public/stu01,指定基本组为users(注:系统中本身就

存在users这个组GID为100),附加组为tech:

[root@localhost~]#useradd-u520-d/public/stu04-gusers-Gtechstu01

[root@localhost~]#idstu01

uid=520(stu01)gid=100(users)groups=100(users),200(tech)

示例2:添加用户stu02,不为用户建立宿主目录:

[root@localhost~]#useradd-M-s/sbin/nologinstu02//创建一个非登录用户stu02

[root@localhost~]#cat/etc/passwd|grepstu02

stu02:x:1001:1001::/home/stu02:/sbin/nologin//-s参数指定bashshell

2,groupadd的参数:

gourpadd[-gGID]组名

-g参数指定了新建用户组的GID

[root@localhost~]#groupadd-g600stu//添加一个组stu,指定其GID为600

[root@localhost~]#cat/etc/group|grepstu//查看stu组的信息

stu:x:600:

二:删除用户和用户组

1,userdel

-格式:userdel[-r]用户名

添加-r选项,宿主目录/用户邮件也一并删除

示例:

[root@localhost~]#useradduser1;useradduser2//添加用户user1和user2

[root@localhost~]#ll-d/home/user1//var/mail/user1/home/user2//var/mail/user2//查看user1、user2的宿主目录和邮件文件是否存在

drwx------3user1user1409602-1809:53/home/user1/

drwx------3user2user2409602-1809:53/home/user2/

-rw-rw----1user1mail002-1809:53/var/mail/user1

-rw-rw----1user2mail002-1809:53/var/mail/user2

[root@localhost~]#userdeluser1;userdel-ruser2//加不加-r的区别

[root@localhost~]#ll-d/home/user1//var/mail/user1/home/user2//var/mail/user2

ls:/home/user2/:没有那个文件或目录//加-r之后删除宿主目录

ls:/var/mail/user2:没有那个文件或目录//加-r之后删除邮件文件

drwx------310021002409602-1809:53/home/user1/

-rw-rw----11002mail002-1809:53/var/mail/user1

[root@localhost~]#

2,groupdel:删除用户组

-格式:groupdel组名

-删除的目标组不能是用户的基本组。

-在删除用户组的时候,如果该组为某个成员的私有组,则无法删除,必须先删除组里面的成员,才能成功删除该组。

[root@localhost~]#iduser1//查看user1的基本组和附加组

uid=1002(user1)gid=1002(user1)groups=1002(user1),600(stu)

[root@localhost~]#grepstu/etc/group

stu:x:600:user1,user2

上面的操作可以看到,user1的基本组为user1,附加组为stu,那么现在只能删除stu,而不能直接删除组user1,因为user1组是一个基本组,要想删除user1,必须先删除user1用户,再删除user1组,而stu组不是一个基本组,只是user1和user2的附加组,所以可以直接删除。

[root@localhost~]#groupdeluser1//尝试删除user1用户组,因为user1组为user1的基本组,所以需要先删除user1用户,才能删除user1组。

groupdel:不能删除用户的主组。

[root@localhost~]#groupdelstu

[root@localhost~]#grepstu/etc/group//删除stu组之后,不能看到/etc/group文件里面的stu组的信息了。

三:为用户和用户组添加密码

1,为用户添加密码:

Passwd命令:

选项有:

-d:清空用户的密码,使之无需密码即可登录

-l:锁定用户账号

-S:查看用户账号的状态(是否被锁定)

-u:解锁用户账号

--stdin:标准输入(比如管道)取密码

注:删除密码用passwdd而不能用echo|passwd--stdin用户名

示例:

[root@localhosthome]#cat/etc/shadow|grepuser3//查看user3是否有密码

user3:$1$4vGPvNrT$xrFPE9XQhl.w1jchu10wo/:16119:0:99999:7:::

[root@localhosthome]#passwd-duser3//使用-d选项删除密码

Removingpasswordforuseruser3.

passwd:Success

[root@localhosthome]#cat/etc/shadow|grepuser3//再次查看,密码取消

user3::16119:0:99999:7:::

[root@localhosthome]#

示例:

如果修改一个用户的密码,可以直接输入passwd用户名,然后进入交互式的密码输入去人,使用--stdin使用非交互式设置密码,直接将密码导入。

[root@localhost/]#echo123|passwd--stdinuser3//设置user3的密码为123,使用--stdin为面交互式导入密码

Changingpasswordforuseruser3.

passwd:allauthenticationtokensupdatedsuccessfully.

[root@localhost/]#passwd-luser3//锁定user3账户

Lockingpasswordforuseruser3.

passwd:Success

[root@localhost/]#grepuser3/etc/shadow//查看锁定账户密码信息,有两个!

user3:!!$1$4vGPvNrT$xrFPE9XQhl.w1jchu10wo/:16119:0:99999:7:::

[root@localhost/]#passwd-Suser3//用-S查看是否被锁定

user3LK2014-02-180999997-1(Passwordlocked.)

[root@localhost/]#passwd-uuser3//-u参数为解锁

Unlockingpasswordforuseruser3.

passwd:Success.

[root@localhost/]#grepuser3/etc/shadow//解锁之后,该账户密码段没有!

user3:$1$4vGPvNrT$xrFPE9XQhl.w1jchu10wo/:16119:0:99999:7:::

[root@localhost/]#

2,用户组的密码gpasswd

gpasswd组名:进入交互式的密码输入确认。

gpasswdr组名:-r选项为移除密码,gpasswdr组名为清空该组密码

组密码的用途:主要是一些用户想要加入组,那么需要用到的这个组账户的密码,而这个用户加入的时候也是临时加入的,用exit即可退出该组。

四:用户组成员的添加和删除

1,gpasswd在用户组中的应用

-A:定义组管理员列表(可以在/etc/gshadow文件里查看组管理员和组成员)

-a:添加组成员,每次只能加一个

-d:删除组成员,每次只能删一个

-M:定义组成员列表,可设置多个(为覆盖操作,在定义之后,之前组内用户将被删除;注意在写多个成员列表的时候,用逗号隔开)

示例:

[root@localhost~]#grepuser/etc/gshadow

user:!::

[root@localhost~]#gpasswd-auser1user//将账户user1加入到user组中

正在将用户user1加入到user组中

[root@localhost~]#gpasswd-auser2user//将user2加入到user组中

正在将用户user2加入到user组中

[root@localhost~]#grepuser/etc/gshadow|tail-1//查看user用户组的成员

user:!::user1,user2

[root@localhost~]#gpasswd-Mstu01,stu02user//-M参数覆盖添加多个用户

[root@localhost~]#cat/etc/gshadow|tail-1//再次查看,user1和user2被覆盖

user:!::stu01,stu02

[root@localhost~]#gpasswd-dstu01user//将stu01从user组中删除

正在将用户stu01从user组中删除

[root@localhost~]#cat/etc/gshadow|tail-1

user:!::stu02//删除后只剩下stu02用户

[root@localhost~]#gpasswd-Astu02user//将stu02设置为管理员

[root@localhost~]#grepuser/etc/gshadow|tail-1

user:!:stu02:stu02//gshadow文件中,第三个字段为该组的管理员账户,为stu02

[root@localhost~]#

2,usermod主要是对用户的属性进行更改,可以增加用户成员的所属附加组

只是用usermod的-a-G选项(-a表示添加,-G指定组,-a-G为新加一个附加组)

命令:usermod-a-G用户组用户名

[root@localhost~]#usermod-a-Gtechstu02//为stu02增加一个附加组tech

[root@localhost~]#idstu02

uid=501(stu02)gid=1201(nsd)groups=1201(nsd),200(tech),1204(user)

五:用户和组属性的查看和修改

1,usermod:主要针对用户与组之间属性的更改

格式:usermod[选项](选项可以有多个)用户名

-l:更改用户账号的登录名称

-L:锁定用户账户(注:用usermodL锁定一个账户的时候可以用passwdu直接解锁,但是用passwdl锁定的账户,用usermodU解锁的时间,需要解锁两次,因为,passwdl锁定的账户密码前面有两个!,而usermodL锁定的账号密码前面有一个!,可以通过查看/etc/gshadow文件里面的密码段来验证。)

-U:解锁用户账户

-u、-d、-e、-g、-G、-s:与useradd相同

-a:和-G搭配使用为添加该用户的附加组(只是用-G的时候,为修改附加组)

示例:

usermod-e20140630(或2014-06-30)user1:为修改user1账户失效时间为20140630

但是在用chage-E2014-06-30user1的时候,不能用20140630

[root@localhost~]#cat/etc/shadow|grepuser1

user1:!!:16119:0:99999:7:::

[root@localhost~]#usermod-e20140630user1//修改user1的账户失效时间

[root@localhost~]#cat/etc/shadow|grepuser1

user1:!!:16119:0:99999:7::16251:

[root@localhost~]#usermod-luser01user1//修改user1的登录名为user01

usermod:警告:/var/spool/mail/user1不属于user1

[root@localhost~]#

2,chage:主要针对用户的密码进行设定

-l:列出密码有效信息

-E:指定账户过期时间,YYYY-MM-DD

-I:指定当密码失效后多少天锁定账号

-m:指定密码的最小天数

-M:指定密码的最大天数

示例:

[root@localhost~]#chage-luser01//查看user01的密码信息

最近一次密码修改时间:2月18,2014

密码过期时间:从不

密码失效时间:从不

帐户过期时间:从不

两次改变密码之间相距的最小天数:0

两次改变密码之间相距的最大天数:99999

在密码过期之前警告的天数:7

[root@localhost~]#cat/etc/shadow|grepuser01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:0:99999:7:::

[root@localhost~]#chage-E2014-07-10user01//修改user01的账户过期时间

[root@localhost~]#chage-I3user01//修改user01用户的密码失效3天后锁定

[root@localhost~]#chage-m10user01//密码修改之后10天内不准修改

[root@localhost~]#chage-M40user01//密码修改后40天之后必须再次修改密码

[root@localhost~]#cat/etc/shadow|grepuser01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:10:40:7:3:16261:

[root@localhost~]#chage-luser01

最近一次密码修改时间:2月18,2014

密码过期时间:3月30,2014

密码失效时间:4月02,2014

帐户过期时间:7月10,2014

两次改变密码之间相距的最小天数:10

两次改变密码之间相距的最大天数:40

在密码过期之前警告的天数:7

[root@localhost~]#

3,id

-在命令行输入id,为查看该账户的用户名及用户所属组等信息;

[root@localhost~]#su-frank

[frank@localhost~]$id//id命令直接查看当前用户的ID和所属组

uid=507(frank)gid=507(frank)groups=507(frank)

-id用户名:表示查看该用户的相关信息

[root@localhost~]#idfrank//查看frank用户的用户ID和所属组

uid=507(frank)gid=507(frank)groups=507(frank)

[root@localhost~]#iduser01//查看user01的用户ID和所属组

uid=1005(user01)gid=1005(user1)groups=1005(user1)

[root@localhost~]#

-idgn:查看当前用户的所属组

[root@localhost~]#su-frank

[frank@localhost~]$id-gn//查看当前所属组,为frank组,下面修改一下

frank

[frank@localhost~]$exit

logout

[root@localhost~]#usermod-gtechfrank//将frank的基本组修改为tech

[root@localhost~]#su-frank

[frank@localhost~]$id-gn//用id-gn查看当前组

tech

[frank@localhost~]$

4,newgrp

newgrp用户组:为当前用户临时增加一个用户的附加组(可以用exit退出该附加组)

示例:

[root@localhost~]#su-frank

[frank@localhost~]$id

uid=507(frank)gid=200(tech)groups=200(tech)

[frank@localhost~]$newgrpuser

密码://这个密码为用gpasswd来设置的用户组密码,当有新用户加入是,需要输入,如果没有密码,直接确定即可加入

[frank@localhost~]$id-gn

user//用户组为user,未修改之前为tech

[frank@localhost~]$id

uid=507(frank)gid=1204(user)groups=200(tech),1204(user)

[frank@localhost~]$exit//只是临时增加的附加组,可以用exit退出该组

exit

[frank@localhost~]$id

uid=507(frank)gid=200(tech)groups=200(tech)

[frank@localhost~]$id-gn

tech//退出后的用户组还未之前的tech

[frank@localhost~]$

5,groups:查看用户所属组

groups:查看当前用户的所属组(包括基本组和附加组)

groups用户名:查看该用户所属组(包括基本组和附加组,前面的为基本组)

注:也可以查看/etc/group和/etc/gshadow文件的第四段。

[root@localhost~]#groups//查看当前用户的所属组

rootbindaemonsysadmdiskwheel

[root@localhost~]#groupsuser2//查看user2用户的所属组

user2:user2tech//那么user2用户的基本组为user2,有一个附加组,为tech

[root@localhost~]#

六,附:用户和用户组的密码及新建用户宿主目录里面的隐藏文件

1,用户的密码:/etc/passwd和/etc/shadow

/etc/passwd文件:保存了用户账号的基本信息

[root@localhost~]#head-1/etc/passwd

root:x:0:0:root:/root:/bin/bash

1234567

可以看到passwd里面的内容分为7个字段,分别用:隔开,每个字段的含义:

第一段:用户账号的名称

注:可使用user-luser1user01修改

第二段:密码字符或占位符

注:加密后的密码保存在/etc/shadow文件中

第三段:用户账号的UID号

注:在建立的时候用useradd-u来指定UID号

第四段:所属基本组的GID号

注:在新建用户的时候,如果不指定基本组,会默认新建一个和用户同名的组,可以使用useradd-gusers/100来指定新建用户组的GID

第五段:用户全名

第六段:宿主目录

注:在新建用户的时间,用useradd-d来指定

第七段:登录shell程序的路径

注:在新建用户时候使用useradd-s来指定,也可以在后来使用usermod-s来指定

/etc/shadow文件:保存了密码字串,有效期等信息

[root@localhost/]#head-1/etc/shadow

root:$1$SmlKPNho$qNqybQOGBSnK6iWmviI6b1:15908:0:99999:7:::

123456789

第一段:用户账号的名称

第二段:加密后的密码字符串

注:在使用passwd-l锁定之后加两个!,用usermod-L锁定之后该字符串前面加一个!

第三段:上次修改密码的时间

第四段:密码的最短有效天数,默认为0

注:也就是在上次修改密码后多少天之内不准修改密码,可以使用chage-m来修改

第五段:密码的最长有效天数

注:也就是说,密码在到达有效天数之后,必须进行修改,可以使用chage-M修改

第六段:密码过期后的警告天数,默认为7

注:在密码最长有效天数的前7天进行提醒

第七段:密码过期后多少天禁用此账户,默认值为空

注:如果密码过期之后,也就是密码最长有效时间到了之后,用户还可以继续使用该账号,如果还不修改密码,那么,这个时间将起作用,该用户将被禁用。可以使用chage-I来修改

第八段:账号失效时间,默认值为空

可以使用chage-E或者usermod-e来修改账号的失效时间

例如:

[root@localhosthome]#chage-luser01

最近一次密码修改时间:2月18,2014

密码过期时间:3月30,2014

密码失效时间:4月02,2014

帐户过期时间:7月10,2014

两次改变密码之间相距的最小天数:10

两次改变密码之间相距的最大天数:40

在密码过期之前警告的天数:7

[root@localhost~]#cat/etc/shadow|grepuser01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:10:40:7:3:16261:

[root@localhost~]#usermod-e20140810user01//或chage-E20140810user01

[root@localhost~]#cat/etc/shadow|grepuser01

user01:$1$609lnAxS$qk/Yzf4qd727R9Q2dieQ1.:16119:10:40:7:3:16292:

[root@localhost~]#chage-luser01

最近一次密码修改时间:2月18,2014

密码过期时间:3月30,2014

密码失效时间:4月02,2014

帐户过期时间:8月10,2014

两次改变密码之间相距的最小天数:10

两次改变密码之间相距的最大天数:40

在密码过期之前警告的天数:7

第九段:该字段保留

2,新建一个用户时候的默认配置/etc/login.defs、/etc/useradd和/etc/skel

[root@localhost~]#grep-vE^#|^$/etc/login.defs

MAIL_DIR/var/spool/mail//定义邮件文件路径

PASS_MAX_DAYS99999//定义密码最长有效天数,/etc/shadow第五段

PASS_MIN_DAYS0//密码最短有效天数为0,/etc/shadow的第四段

PASS_MIN_LEN5//密码最小长度为5,这里不起作用,有其他文件来规定

PASS_WARN_AGE7//密码过期后的警告天数

UID_MIN500//UID的起始值,/etc/passwd中的第三段

UID_MAX60000//UID的最大值,/etc/passwd中的第三段

GID_MIN500//GID的起始值,/etc/passwd中的第四段

GID_MAX60000//GID的最大值,/etc/passwd中的第四段

CREATE_HOMEyes//是否创建宿主目录

UMASK077//umask值为077

USERGROUPS_ENAByes//

MD5_CRYPT_ENAByes//密码使用MD5加密

ENCRYPT_METHODMD5//

[root@localhost~]#cat/etc/default/useradd

#useradddefaultsfile

GROUP=100//

HOME=/home//定义创建用户的宿主目录在/home下

INACTIVE=-1//是否启用该账户,-1代表是

EXPIRE=//

SHELL=/bin/bash//指定新建用户的shell为/bin/bash

SKEL=/etc/skel//新建用户的宿主目录模板为/etc/skel

CREATE_MAIL_SPOOL=yes//是否创建用户的邮件文件

[root@localhost~]#ll-a/etc/skel///在新建一个用户的时候,宿主目录里面的内容就是将skel拷贝过去,然后放到/home目录下并改名为新建的用户名

总计64

drwxr-xr-x3rootroot40962013-07-10.

drwxr-xr-x97rootroot1228802-1816:24..

-rw-r--r--1rootroot332011-05-13.bash_logout

-rw-r--r--1rootroot1762011-05-13.bash_profile

-rw-r--r--1rootroot1242011-05-13.bashrc

-rw-r--r--1rootroot5152011-04-07.emacs

drwxr-xr-x4rootroot40962012-11-16.mozilla

3,全局配置文件~/.bash_profile、~/.bashrc和~/.bash_logout

注:可以在用户的宿主目录下使用ls-a查看。

~/.bash_profile:每次登录时执行

~/.bashrc:每次进入新的Bash环境时执行

~/.bash_logout:每次推出登录时执行

4,查看用户组信息:/etc/group和/etc/gpasswd

/etc/group查看用户组的信息

[root@localhost~]#cat/etc/group|tail-1

user:x:1204:user01,user2

第一段:组名

第二段:密码占位符

第三段:GID

第四段:组内成员(使用gpasswd-a添加,gpasswd-d删除,gpasswd-M覆盖添加多个)

[root@localhost~]#cat/etc/gshadow|tail-1

user:$1$u/W2qj.L$W8GJY5HxyLzphdtgLKpxW0:stu02:user01,user2

第一段:组名

第二段:密码(使用gpasswd来设置)

第三段:组管理员(使用gpasswd-A指定)

第四段:组内成员

总结:

学的时间也不短了,总是想找个时间将用户组这一章好好的做下笔记,这下好了,终于弄完了,哈哈

用户和用户组的管理这一章很绕口,理解也还算容易,命令不多,但是选项很多,一个题可能有好几种做法,比如说usermod-a-gtechuser01和gpasswd-auser01tech,虽然都是讲user01用户加入到tech组中,但是还有那么的不同,唉,慢慢搞吧!

详解CentOS操作系统账户管理

账户管理相关配置文件如下:账户信息文件是/etc/passwd、账户密码文件是/etc/shadow、群组信息文件是/etc/group、群组密码文件是/etc/gshadow。

1、/etc/passwd文件怎么看

如上图,/etc/passwd文件中每一行为一个账户,以冒号作为分割的每个字段意思按序号分别如下:

[1]账户名。改名使用命令usermod-l

[2]密码,该字段已启用。账户密码在/etc/shadow文件配置

[3] UID,账户的唯一标识。影响该字段值的命令包括:useradd-u、usermod-u

[4] GID,初始群组的唯一标识,关联/etc/group文件的第3个字段。该群组为账户默认的有效群组(有效群组可以使用newgrp命令进行切换)。影响该字段值的命令包括:useradd-g、usermod-g

[5]描述。影响该字段值的命令包括:useradd-c、usermod-c

[6]家目录绝对路径。影响该字段值的命令包括:useradd-d、usermod-d

[7] shell,账户默认启用的shell,当为/sbin/nologin时账户无法登录。账户能使用的shell可以用命令chsh-l查询(查询结果为/etc/shells文件的内容)。影响该字段值的命令包括:useradd-s、usermod-s

2、/etc/shadow文件怎么看

如上图,文件/etc/shadow的每一行对应一个账户的密码信息,以冒号作为分割的每个字段意思按序号分别如下:

[1]账户名,关联/etc/passwd文件的第1个字段

[2]密码,加密后的密文,加密算法由/etc/login.defs文件中的ENCRYPT_METHOD指定,此处为SHA512。影响该字段值的命令包括:usermod-L(前置!!冻结)、usermod-U(解冻)、passwd-l(冻结)、passwd-u(解冻)、

[3]创建日期,上图显示的是一个数字,该数字表示自1970-01-01以来所经历的天数。影响该字段值的命令包括:chage-d

[4]密码创建之后需经历多少天才能再次修改,0表示无此限制。影响该字段值的命令包括:passwd-n、chage-m

[5]密码创建多少天之后就过期,99999天约等于99999/365年,好几百年意味着密码不会过期。影响该字段值的命令包括:passwd-x、chage-M

[6]密码过期前多少天开始向用户发送警告信息。影响该字段值的命令包括:passwd-w、chage-W

[7]密码过期后还能宽限多少天,在此时间段内用户还可以登录和修改密码,过了这个时间段用户就不能够登录了。影响该字段值的命令包括:useradd-f、usermod-f、passwd-i、chage-I

[8]失效日期,一个数字,该数字表示自1970-01-01以来所经历的天数。过了这一天用户的密码就失效,无论是否过期均不可再登录。影响该字段值的命令包括:useradd-e、usermod-e、chage-E

[9]保留

3、/etc/group文件怎么看

如上图,文件/etc/group的每一行对应一个群组,以冒号作为分割的每个字段意思按序号分别如下:

[1]群组名。改名使用命令:groupmod-n

[2]密码,已启用,群组密码在/etc/gshadow文件中配置

[3] GID,群组唯一标识,由/etc/passwd文件中的第4个字段关联,作为对应账户的初始群组。影响该字段值的命令包括:groupadd-g、groupmod-g

[4]帐号名列表,以逗号隔开。这些帐号可以主动切换为该群组的成员,如上图用户mophee(初始群组为mophee)可使用newgrp命令将其生效群组切换为mysql或mail。影响该字段值的命令包括:useradd-G、usermod-[a]G

4、/etc/gshadow文件怎么看

如上图,文件/etc/gshadow中的每一行对应一个群组的密码信息,以冒号作为分割后的每个字段意思按序号分别如下:

[1]群组名,与/etc/group中的群组名对应

[2]密码,加密后的密文,使用命令gpasswd group_name可设置群组密码,使用gpasswd-r group_name删除密码

[3]群组管理员,使用命令gpasswd-A user1,... group_name可设置群组的管理员。注:群组管理员可以为群组成员设置密码

[4]群组成员,该字段与/etc/group的第4个字段相同且同步更改,除了使用useradd-G、usermod-G命令维护外,还可使用gpasswd-[adM]进行维护。影响该字段值的命令包括:useradd-G、usermod-[a]G

-----------------------------------------------

理论上,修改以上4个配置文件就可以进行账户管理,但不建议这样进行账户管理。Linux提供足够的命令对账户进行管理,虽然这些命令实质上也是修改这4个文件的内容,但建议使用这些命令:

useradd:添加账户

useradd mophee#建立群组mophee,建立账户mophee,建立家目录/home/mophee且权限为700。无密码,无法登录。useradd-u 519-g users mophee2#建立账目mophee2并指定UID为519,指定初始群组为usersuseradd-r mophee3#建立系统帐号mophee3,UID和GID范围:100~499,无家目录usermod:修改账户

userdel:删除账户

userdel mophee#删除账户mophee:#1、从/etc/passwd和/etc/shadow删除;#2、从/etc/group和/etc/gshadow的最后一个字段除移;#3、若其初始群组无其它成员账户,则删除群组userdel-r mophee#除了删除账户外,还删除其家目录和邮件目录passwd:账户密码管理

passwd-S mophee#列出帐号mophee相关的密码信息chage:修改账户密码,一般用户可用此命令修改自己的密码

chage-l mophee#列出帐号mophee相关的密码信息groupadd:添加群组

groupmod:修改群组

groupdel:删除群组

gpasswd:群组密码、群组管理员和成员管理

groups:查看所属群组

groups mophee#列出帐号mophee所属的群组newgrp:切换有效群组

----------------------------------------------

与账户管理有关的其它配置文件:/etc/login.defs、/etc/default/useradd(使用命令useradd时的一些默认值)。

1、文件/etc/default/useradd怎么看

GROUP:预设的群组ID

HOME:家目录的基准目录,添加账户且创建其家目录等同于在该基准目录下新建一个与账户名同名的目录,影响/etc/passwd的第6个字段

INACTIVE:设置密码过期后是否失效,-1表示不会失效,影响/etc/shadow的第7个字段

EXPIRE:密码失效日期,影响/etc/shadow的第8个字段

SHELL:默认的shell,影响/etc/passwd的第7个字段

SKEL:创建家目录是参考的初始内容,即创建家目录时会将该目录下的内容复制一份到家目录中

CREATE_MAIL_SPOOL:是否创建对应的mailbox目录,yes/no,yes时会在/var/spool/mail/目录下创建与帐号名同名的目录用于存储该账户的邮件

2、文件/etc/login.defs怎么看

MAIL_DIR:邮件目录的基准目录,一般为/var/spool/mail

PASS_MAX_DAYS:自密码创建之日起到过期的天数,影响/etc/shadow的第5个字段

PASS_MIN_DAYS:密码创建之后不允许更改的天数,影响/etc/shadow的第4个字段

PASS_MIN_LEN:设置密码允许的最短长度,已启用,由pam模块取代该功能

PASS_WARN_AGE:密码过期之前开始发送警告信息的天数,影响/etc/shadow的第6个字段

UID_MIN:小于该数字值的UID均为系统帐号,默认设为500。使用useradd且未添加-r选项时添加的账户UID均大于此值

UID_MAX:系统支持最大的UID值

GID_MIN:与UID_MIN功能类似,影响的是GID

GID_MAX:与UID_MAX功能类似,影响的是GID

CREATE_HOME:默认是否创建家目录,yes/no

UMASK:家目录默认权限的反码,即该值为077时,家目录的权限为700

USERGROUPS_ENAB:设置在使用userdel命令删除账户时,如果其初始群组下没有其它成员账户,是否将群组也删除。yes/no

ENCRYPT_METHOD:加密算法,如SHA512

如何在Ubuntu CentOS和Cisco系统中配置SNMPv3

简单网络管理协议(SNMP)是一种广泛使用的协议,用于收集设备内部正在进行中的信息。比如说,CPU和RAM的使用率,服务器的负载率,网络接口的流量状态,和的设备的很多其他性能都可以用SNMP来查询。

当前,SNMP有3个版本:v1, v2c and v3。SNMP

v1和v2c,可方便地进行配置,这在以前的文章中讨论过。SNMPv3增加了一些额外的功能,包括身份验证和加密方案(例如,MD5,SHA,AES和

DES)。这使得我们在Internet上运行SNMP查询时,SNMPv3的更安全,更可取的。

同SNMP v1或v2c相比,SNMPv3的配置有一点不同。下面详细解释了配置是如何进行的。

在Ubuntu和Debian配置SNMPv3

使用net-snmp-config tool工具进行配置。下面的例子中创建了一个只读权限的SNMPv3账户,用户名为“snmpv3user”密码为“snmpv3pass”。默认身份验证方法是MD5加密,默认DES使用。这些设定也可根据需要改变。

root@server:~# apt-get install snmp snmpd

root@server:~# service snmpd stop

root@server:~# net-snmp-config--create-snmpv3-user-ro-A snmpv3pass snmpv3user

## OUTPUT##

adding the following line to/var/lib/snmp/snmpd.conf:

createUser snmpv3user MD5"snmpv3pass" DES

adding the following line to/usr/share/snmp/snmpd.conf:

rouser snmpv3user

root@server:~# service snmpd start

SNMPv3测试

使用snmpwalk测试SNMP的配置。成功的测试结果应当有大量的输出数据。下面的例子使用上文建立的V3账户演示了snmpwalk的使用。Ubuntu和Debian的本地服务器IP地址192.168.1.1。

### SAMPLE OUTPUT###

iso.3.6.1.2.1.1.1.0= STRING:"Linux server 3.5.0-23-generic#35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64"

iso.3.6.1.2.1.1.2.0= OID: iso.3.6.1.4.1.8072.3.2.10

iso.3.6.1.2.1.1.3.0= Timeticks:(68028) 0:11:20.28

iso.3.6.1.2.1.1.7.0= INTEGER: 72

iso.3.6.1.2.1.1.8.0= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.2.1= OID: iso.3.6.1.6.3.10.3.1.1

iso.3.6.1.2.1.1.9.1.2.2= OID: iso.3.6.1.6.3.11.3.1.1

iso.3.6.1.2.1.1.9.1.2.3= OID: iso.3.6.1.6.3.15.2.1.1

iso.3.6.1.2.1.1.9.1.2.4= OID: iso.3.6.1.6.3.1

iso.3.6.1.2.1.1.9.1.2.5= OID: iso.3.6.1.2.1.49

iso.3.6.1.2.1.1.9.1.2.6= OID: iso.3.6.1.2.1.4

iso.3.6.1.2.1.1.9.1.2.7= OID: iso.3.6.1.2.1.50

iso.3.6.1.2.1.1.9.1.2.8= OID: iso.3.6.1.6.3.16.2.2.1

iso.3.6.1.2.1.1.9.1.3.1= STRING:"The SNMP Management Architecture MIB."

iso.3.6.1.2.1.1.9.1.3.2= STRING:"The MIB for Message Processing and Dispatching."

iso.3.6.1.2.1.1.9.1.3.3= STRING:"The management information definitions for the SNMP User-based Security Model."

iso.3.6.1.2.1.1.9.1.3.4= STRING:"The MIB module for SNMPv2 entities"

iso.3.6.1.2.1.1.9.1.3.5= STRING:"The MIB module for managing TCP implementations"

iso.3.6.1.2.1.1.9.1.3.6= STRING:"The MIB module for managing IP and ICMP implementations"

iso.3.6.1.2.1.1.9.1.3.7= STRING:"The MIB module for managing UDP implementations"

iso.3.6.1.2.1.1.9.1.3.8= STRING:"View-based Access Control Model for SNMP."

iso.3.6.1.2.1.1.9.1.4.1= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.2= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.3= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.4= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.1.9.1.4.5= Timeticks:(0) 0:00:00.00

### And the walk goes on and on###

删除SNMPv3账户

当net-snmp-config tool运行过程中,该账户的有关信息会存储在var/lib/snmp/snmpd.conf和/usr/share/snmp/snmpd.conf.两个文件之中。删除账户即删除这个文件中的信息即可。

root@server:~# service snmpd stop

root@server:~# vim/var/lib/snmp/snmpd.conf

## there should be a similar encrypted line that contains information on the user##

## this line is removed##

usmUser 1 3 0x80001f8880056e06573a1e895100000000 0x736e6d7076337573657200 0x736e6d7076337573657200 NULL.1.3.6.1.6.3.10.1.1.2 0x945ed3c9708ea5493f53f953b45a4513.1.3.6.1.6.3.10.1.2.2 0x945ed3c9708ea5493f53f953b45a4513""

root@server:~# vim/usr/share/snmp/snmpd.conf

## The following line is removed##

rouser snmpv3user

之后不要忘记重启snmpd

root@server:~# service snmpd start

在CentOS或者RHEL中配置SNMPv3

相比Ubuntu,在 CentOS和 RHEL中配置SNMP v3用户的过程有点不同,但基本是相同的。

首先,使用yum安装必要的软件

[root@server~]# yum install net-snmp-utils net-snmp-devel

安装完成之后,先停止snmpd,再创建具有只读属性的SNMP账户。.

[root@server~]# service snmpd stop

[root@server~]# net-snmp-create-v3-user-ro-A snmpv3pass-a MD5-x DES snmpv3user

## OUTPUT##

adding the following line to/var/lib/net-snmp/snmpd.conf:

createUser snmpv3user MD5"snmpv3pass" DES

adding the following line to/etc/snmp/snmpd.conf:

rouser snmpv3user

[root@server~]# service snmpd start

SNMPv3测试

snmpwalk是测试SNMP配置和输出出色的工具。成功的测试结果应当有大量的输出数据。

[root@server~]# snmpwalk-u snmpv3user-A snmpv3pass-a MD5-l authnoPriv 192.168.1.2-v3

### OUTPUT###

SNMPv2-MIB::sysDescr.0= STRING: Linux server.example.tst 2.6.32-71.el6.i686#1 SMP Fri Nov 12 04:17:17 GMT 2010 i686

SNMPv2-MIB::sysObjectID.0= OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

DISMAN-EVENT-MIB::sysUpTimeInstance= Timeticks:(28963) 0:04:49.63

SNMPv2-MIB::sysORLastChange.0= Timeticks:(1) 0:00:00.01

SNMPv2-MIB::sysORID.1= OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1

SNMPv2-MIB::sysORID.2= OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance

SNMPv2-MIB::sysORID.3= OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance

SNMPv2-MIB::sysORID.4= OID: SNMPv2-MIB::snmpMIB

SNMPv2-MIB::sysORID.5= OID: TCP-MIB::tcpMIB

SNMPv2-MIB::sysORID.6= OID: IP-MIB::ip

SNMPv2-MIB::sysORID.7= OID: UDP-MIB::udpMIB

SNMPv2-MIB::sysORID.8= OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup

SNMPv2-MIB::sysORDescr.1= STRING: The MIB for Message Processing and Dispatching.

SNMPv2-MIB::sysORDescr.2= STRING: The MIB for Message Processing and Dispatching.

SNMPv2-MIB::sysORDescr.3= STRING: The SNMP Management Architecture MIB.

SNMPv2-MIB::sysORDescr.4= STRING: The MIB module for SNMPv2 entities

SNMPv2-MIB::sysORDescr.5= STRING: The MIB module for managing TCP implementation

## and the output continues##

删除SNMPv3账户

SNMPv3账户信息被包含在两个文件之中。删除账户即删除这个文件中的信息即可。

root@server:~# service snmpd stop

root@server:~# vim/var/lib/net-snmp/snmpd.conf

## there should be a similar encrypted line that contains information on the user##

## this line is removed##

usmUser 1 3 0x80001f8880056e06573a1e895100000000

0x736e6d7076337573657200 0x736e6d7076337573657200 NULL

.1.3.6.1.6.3.10.1.1.2 0x945ed3c9708ea5493f53f953b45a4513

.1.3.6.1.6.3.10.1.2.2 0x945ed3c9708ea5493f53f953b45a4513""

root@server:~# vim/etc/snmp/snmpd.conf

## The following line is removed##

rouser snmpv3user

root@server:~# service snmpd start

防火墙调节(可选)

下面的例子中的防火墙规则可以被用于限制被允许进行SNMP查询的源IP地址。两个IP地址(例如,192.168.1.100/101)被置于白名单中。

root@server:~# iptables-A INPUT-s 192.168.1.100/32-p udp–dport 161-j ACCEPT

root@server:~# iptables-A INPUT-s 192.168.1.101/32-p udp–dport 161-j ACCEPT

root@server:~# iptables-A INPUT-p udp–dport 161-j DROP

思科交换机和路由器配置SNMPv3

思科交换机和路由器同样支持SNMPv3。下面的例子将创建一个访问控制列表(ACL)限制允许做SNMP查询的源IP地址。但是,这步被跳过了。

设置访问控制列表(ACL)(可选)

## global config mode##

ip access-list standard SNMP_ACL

permit 192.168.1.100

permit 192.168.1.100

SNMPv3配置

下面的配置创建一个名为v3Group与认证AuthNoPriv安全级别v3的组。前面定义的可选访问列表也支持设定。

## global config mode##

## With ACL##

snmp-server group v3Group v3 auth access SNMP_ACL

## Without ACL##

snmp-server group v3Group v3 auth

用户v3user被创建并添加在v3Group下。 MD5的密码和AES加密密钥也被定义。

snmp-server user v3user v3Group v3 auth md5 snmpv3pass priv aes 128 snmpv3pass

SNMPv3测试

SNMP用户和相关组可以在Cisco设备中查看。

### privileged EXEC mode##

show snmp user

User name: v3user

Engine ID:************************

storage-type: nonvolatile active

Authentication Protocol: MD5

Privacy Protocol: AES128

Group-name: v3Group

任何Linux设备中的snmpwalk的都可以用来验证配置和检查输出。

snmpwalk-u snmpv3user-A snmpv3pass-a MD5-l authnoPriv 192.168.1.3-v3

iso.3.6.1.2.1.1.1.0= STRING:"Cisco IOS Software”

Technical Support:

Copyright(c) 1986-2012 by Cisco Systems, Inc.

iso.3.6.1.2.1.1.2.0= OID: iso.3.6.1.4.1.9.1.1166

iso.3.6.1.2.1.1.7.0= INTEGER: 78

iso.3.6.1.2.1.1.8.0= Timeticks:(0) 0:00:00.00

iso.3.6.1.2.1.2.1.0= INTEGER: 54

iso.3.6.1.2.1.2.2.1.1.1= INTEGER: 1

iso.3.6.1.2.1.2.2.1.1.2= INTEGER: 2

iso.3.6.1.2.1.2.2.1.1.3= INTEGER: 3

## output truncated##

阅读剩余
THE END