日期:2015年8月28
在Linux系统中,用户账号信息、用户密码、组账号信息、组密码都保存在不同的配置文件中,他们分别是:
/etc/passwd /etc/shadow /etc/group /etc/gshadow 这4个配置文件
/etc/passwd 格式如下,一共分为7段,分别用‘:’隔开
[root@localhost ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
这7段意思如下:
1:用户名
2:密码占位符
3:用户UID
4:用户组GID
5:用户信息说明
6:用户家目录
7:用户登陆的shell
/etc/shadow 格式如下,一共分了9段,也是用‘:’隔开。
[root@localhost ~]# head -1 /etc/shadow
root:$6$y1UpF4MHBjhginyX$/2TmcWYwvi.dORnYmFybI5LhI6laWDXs5WcN/ZKIyBUedTc.hOuaPXqBBnjtc4ukZasTP7Hwf0SjxhREV1TAb1:16675:0:99999:7:::
1:用户名,这个必须和/etc/pass的用户名一样
2:这个字段才是真正的密码
3:最近变动密码的日期
4:密码不能被更动的天数
5:密码需要被更动的天数
6:密码需要更改期限前的警告天数
7:密码过期后的账号宽限时间
8:密码失效的时间
9:保留
/etc/group 格式如下,一共分4段,用‘:’隔开
[root@localhost ~]# head -2 /etc/group
root:x:0:
bin:x:1:bin,daemon
1:组名
2:用户组密码(真正密码在已经移动到/etc/gshadow,这里只是一个X)
3:组GID,(和/etc/pass第4段对应的用户组名)
4:用户组支持的账号(有用户加入时用‘,’不能有空格)
/etc/gshadow
组名:组密码:组管理员:组内成员
[root@localhost ~]# head -2 /etc/gshadow
root:::
bin:::bin,daemon
用户的ID及组ID范围是0-65535
管理员:0
普通用户:1-60000 (一般情况下都不会使用60000以上的ID号)
系统用户:
CentOS6: 1-499
CentOS7: 1-999
登录用户:
CentOS6: 500+
CentOS7: 1000+
用户管理命令 和用户组管理命令:
用户管理、组管理的相关命令:
useradd、usermod、id、passwd、userdel、chsh, chfn、chage、
groupadd、groupmod、groupdel、gpasswd、newgrp、su
useradd:adduser
-u UID:指定UID
-g GID:指定GID,即用户的基本组,但GID要事先存在
-G GID:指定用户的额外组,但GID要事先存在
-d 目录: 指定家目录
-c 备注:备注
-s:shell:指定默认shell,应该指定使用/etc/shells文件中出现的shell
-m:创建用户时,强制给用户创建家目录
-M:创建用户时,但不创建家目录
-D: 改变其默认shell
-r: 创建系统用户 特点:id 1-499 不会为用户创建家目录 默认shell为/sbin/nologin
id Username :显示用户的id号
范例:
建立一个user1用户,uid为1000,组为linux 家目录为/tmp/user1
[root@localhost ~]# useradd -u 1000 -g linux -d /tmp/user1 user1
[root@localhost ~]# tail -1 /etc/passwd
user1:x:1000:500::/tmp/user1:/bin/bash
userdel:删除用户,默认会保留家目录
userdel UserName -r:一并删除家目录
范例:userdel -r user1
usermod:跟useradd命令使用方法类似
-u UID:
-g GID:
-G GID:默认会覆盖原有的附加组,如果要是添加,可以同时使用-a选项
-c string
-d new home 默认不会迁移用户的家目录,如果要迁移,同时使用-m选项
-s SHELL:
-l New_login_name:修改用户登录名称
-e 过期期限
-f 非活动期限
-L:锁定用户账号
-U:解锁
范例:修改user1用户名为test1,UID为600,初始组为centos 增加附加组为linux,改变家目录为/tmp/test1,改变shell为 csh,
[root@localhost ~]# usermod -u 600 -g centos -aG linux -m -d /tmp/test -s /bin/csh -l test1 user1[root@localhost ~]# id test1
uid=600(test1) gid=502(centos) groups=502(centos),500(linux)
建立组命令
groupadd [-g gid] [-r] groupname
-g 为特定的GID
-r:建立系统组
[root@localhost ~]# groupadd centos1
[root@localhost ~]# groupadd -r centos2
[root@localhost ~]# groupadd -r -g 300 centos3
[root@localhost ~]# groupadd -g 1000 centos4
[root@localhost ~]# tail -4 /etc/group
centos1:x:503:
centos2:x:498:
centos3:x:300:
centos4:x:1000:
删除修改组命令
groupmod [-g gid] [-n group_name] 用户名
-g:修改gid
-n:修改组名
[root@localhost ~]# tail -1 /etc/group
centos6:x:600:
[root@localhost ~]# groupmod -g 666 -n usergroup centos6
[root@localhost ~]# tail -1 /etc/group
usergroup:x:666:
groupdel 组名
删除用户组,但必须没有用户把这个组作为初始用户组才能删除
gpasswd 用户组管理员功能
格式:
gpasswd[option] group
常用选项:
-a:添加用户到组;
-d:从组删除用户;
-A:指定管理员;
-M:指定组成员和-A的用途差不多;
-r:删除密码;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
为centos组设密码
[root@localhost ~]# gpasswd centos
Changing the password for group centos
New Password:
Re-enter new password:
把user1加入到centos中
[root@localhost ~]# gpasswd -a user1 centos
Adding user user1 to group cenos
[root@localhost ~]# id user1
uid=500(user1) gid=501(user1) groups=501(user1),500(centos)
passwd命令
功能:给用户设定或修改密码
格式:
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-nmindays] [-x maxdays] [-w warn-
days] [-i inactivedays] [-S] [--stdin][username]
常用选项:
-d: 删除用户密码
-e: 让用户的密码过期,强制下次登录式修改
-l: 锁定用户登录
-u: 解除用户锁定
如果直接键入passwd则默认为自己修改密码,passwd用户名 则是管理员为某用户修改密码
--stdin 从标准输入接收用户密码(使用脚本为用户设置密码时常用)
实例:
//为用户 user1修改密码,使用管道送给passwd从标准输入接收。
[root@CentOS-6~]# echo ‘user1!qaz‘ | passwd --stdin user1
Changingpassword for user user1.
passwd:all authentication tokens updated successfully.
本文出自 “centos6 运维学习” 博客,请务必保留此出处http://wskfnso.blog.51cto.com/4025557/1689392
原文地址:http://wskfnso.blog.51cto.com/4025557/1689392