您的位置:首页 > 运维架构 > Linux

【Linux学习笔记⑩】linux用户和组的管理

2013-04-26 15:48 691 查看
用户账户管理账户创建:命令:useradd格式:useradd [参数] 用户名说明:useradd命令在添加用户账号的过程中会自动完成以下几项任务:
a.在“/etc/passwd”文件和“etc/shadow”文件的末尾增加该用户账号的记录。
b.若未指明用户的主目录,则在“/home”目录下自动创建与该用户账号同名的主目录,并在该目录中建 立用户的初始配置文件。 c.若未指明用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息保存 在“etc/group”、“etc/gshadow”文件中。参数:-u:指定用户的UID,要求该UID号未被其他用户使用,如果不使用-u选项,那么普通用户的UID将是从 500开始递增,使用-u选项则可以任意指定UID,甚至是500之前的UID,当然前提是这个UID并未被 占用。对于普通用户,建议尽量还是使用500之后的UID,以免混乱。 例:创建名为user2的用户账号,并将其UID指定为504。
[root@localhost ~]# useradd -u 504 user2
[root@localhost ~]# tail -1 /etc/passwd
user2:x:504:504::/home/user2:/bin/bash-d:指定用户的主目录,,普通用户的主目录默认都存放在/home目录下,通过-d选项可以指定到其它位 置。 例:创建一个辅助的管理员账号admin,将其主目录指定为/admin。 [root@localhost ~]# useradd -d /admin admin 此时,会在根目录下创建admin用户的主目录:
[root@localhost ~]# ls /
admin boot etc lib lost+found misc net proc sbin srv tmp var
bin dev home lib64 media mnt opt root selinux sys usr
在默认的/home目录中将不再创建用户主目录:
[root@localhost ~]# ls /home
student user1 user2-g:指定用户的基本组,如果在创建用户时指定了基本组,系统就不再创建与用户同名的用户组
例:创建一个用户user4,指定其基本组为admin。
[root@localhost ~]# useradd -g admin user4
[root@localhost ~]# id user4
uid=506(user4) gid=505(admin) 组=505(admin) -G:指定用户的附属组。
例:创建一个用户user5,指定其附加组为root。
[root@localhost ~]# useradd -G root user5
[root@localhost ~]# id user5
uid=507(user5) gid=507(user5) 组=507(user5),0(root)-e:指定用户账号的失效时间,可以使用yyyy-mm-dd的日期格式。
例:创建一个临时账号temp01,指定属于users基本组,该账号于2013年1月30日失效。
[root@localhost ~]# useradd -g users -e 2013-01-30 temp01-M:不建立用户主目录。某些用户不需要登录系统,而只是用来使用某种系统服务,如ftp用 户,这类用户就可以不必创建主目录。-s:指定用户的登录shell,用户的默认shell为/bin/bash,如果将shell指定为/sbin/nologin,那 么该用户将禁止登录。
例:创建一个用户FTP访问的用户账号ftpuser,禁止其登录,而且不为其创建主目录。
[root@localhost ~]# useradd -s /sbin/nologin -M ftpuser说明:上述所有选项都可以结合在一起使用,如:创建一个用户super,指定其基本组为admin,附 加组为root,主目录为/super。
[root@localhost ~]# useradd -g admin -G root -d /super super用户密码设定:说明:通过useradd命令新添加的用户账号,还必须为其设置一个密码才能用来登录Linux系统。Linux系统对密 码要求非常严格,要求密码应符合下列规则: a.密码不能与用户账号相同
b.密码长度最好在8位以上
c.密码最好不要使用字典里面出现的单词或一些相近的词汇,如Passw0rd等。
d.密码最好要包含英文大小写、数字、符号这些字符。 当以root用户的身份为普通用户设置密码时,密码即使不符合规则要求,也可以设置成功。但如果是普 通用户修改自己的密码,则必须要符合规则要求。命令:passwd格式:passwd [参数] 用户名参数:-d:清空密码
例:清除用户user1的密码。
[root@localhost ~]# passwd -d user1
用户的密码被清除之后,无需使用密码就可以实现在本地登录,但远程登录时始终是需要密码 -l:锁定用户账号
例:锁定用户user2的账号。
[root@localhost ~]# passwd -l user2
此时使用user2登录,将会被拒绝。 -u:解锁用户账号。
例:将用户账号user2解锁。
[root@localhost ~]# passwd -u user2
解锁之后,user2就可以登录系统了。 不加参数将为用户添加密码 例:[root@localhost ~]# passwd user2 输入两次密码后提示设置成功
设置密码123还可同如下:
[root@localhost ~]# echo "123" | passwd --stdin user2
-n:修改密码冻结天数,/etc/shadow中第四字段
-x:修改密码有效天数,/etc/shadow中第五字段

-w:修改密码警告天数,/etc/shadow中第六字段

[root@localhost ~]# passwd -n 5 -x 90 -w 7 -i 15950 stone
Adjusting aging data for user stone.
passwd: Success
#修改密码时间参数
-i:修改密码宽限天数,/etc/shadow中第七字段,值为宽限日期与1970-01-01之间的天数
-S:列出用户密码的相关信息

[root@localhost ~]# passwd -S stone
stone PS 2013-03-11 0 99999 7 -1 (Password set, MD5 crypt.)

字段示例含义
1stone表示用户名
2PS表示用户密码状态,有三种状态:PS = Passworded,表示已设置密码LK = Locked ,表示已锁住密码NP = No Password,表示无密码
32013-03-11密码修改日期,/etc/shadow中第三字段
40密码冻结天数,/etc/shadow中第四字段
599999密码有效天数,/etc/shadow中第五字段
67密码警告天数,/etc/shadow中第六字段
7-1密码宽限天数,/etc/shadow中第七字段,为-1表示不会失效,
chage(change age)
修改用户账号密码的时间参数

chage命令行选项:
选项含义
-l列出用户账号密码的详细时间参数
-d修改密码修改日期,/etc/shadow中第三字段,为0表示第一次登陆强制修改密码
-m修改密码冻结天数,/etc/shadow中第四字段
-M修改密码有效天数,/etc/shadow中第五字段
-W修改密码警告天数,/etc/shadow中第六字段
-I修改密码宽限天数,/etc/shadow中第七字段,为-1表示不会失效
-E修改账号失效日期,/etc/shadow中第八字段
[root@localhost ~]# chage -d 2013-03-01 -m 5 -M 180 -W 7 -I 10 -E 2013-12-30 stone#修改stone的账号密码时间参数[root@localhost ~]# chage -l stoneLast password change: Mar 01, 2013Password expires: Aug 28, 2013Password inactive: Sep 07, 2013Account expires: Dec 30, 2013Minimum number of days between password change: 5Maximum number of days between password change: 180Number of days of warning before password expires: 7#列出stone的账号时间参数

删除用户账号命令:userdel格式:userdel [参数] 用户名参数: -r:删除用户登入目录以及目录中所有文件 [root@localhost ~]# userdel -r user3修改用户账户属性命令:usermod功能:usermod可用来修改用户帐号的各项设定参数:-d:修改用户的主目录 例:将admin用户的主目录移动到/home目录下,并使用usermod命令做相应调整。
[root@localhost ~]# grep admin /etc/passwd #查看admin用户的主目录位置
admin:x:505:505::/admin:/bin/bash
[root@localhost ~]# mv /admin /home
[root@localhost ~]# ls /home
admin temp01 user1 user2 user4 user5
[root@localhost ~]# usermod -d /home/admin admin #修改admin的主目录
[root@localhost ~]# grep admin /etc/passwd #再次查看主目录位置
admin:x:505:505::/home/admin:/bin/bash-l:更改用户账号的名称。
例:将admin用户的账号名改为master。
[root@localhost ~]# usermod -l master admin
[root@localhost ~]# grep “master” /etc/passwd
master:x:505:505::/home/admin:/bin/bash -g:更改用户的基本组。
例:将用户master的基本组改为ftp。
[root@localhost ~]# usermod -g ftp master
[root@localhost ~]# id master
uid=509(master) gid=50(ftp) 组=50(ftp)
-G:更改用户的附加组。
例:将用户master的附加组改为root。
[root@localhost ~]# usermod -G root master
[root@localhost ~]# id master
uid=509(master) gid=50(ftp) 组=50(ftp),0(root) -c<备注>  修改用户帐号的备注文字。
-e<有效期限>  修改帐号的有效期限。
-L  锁定用户密码,使密码无效。
-s<shell>  修改用户登入后所使用的shell。
-u<uid>  修改用户ID。
-U  解除密码锁定。用户组管理创建组帐号命令:groupadd格式:groupadd [参数] 组名参数:-g:指定GID号 [root@localhost ~]# groupadd –g 1000 class2
[root@localhost ~]# tail -1 /etc/group
class2:x:1000:删除组帐号命令:groupdel说明:需要从系统上删除群组时,可用groupdel指令来完成这项工作。倘若该群组中仍包括某些用户,则必须 先删除这些用户后,方能删除群组。范例:[root@localhost ~]# groupdel class1添加、删除组成员命令:gpasswd说明:gpasswd命令本来是用于设置组账号的密码,但是该功能极少使用,实际上该命令更多地用来为指定组 账号添加、删除用户成员,参数: -a:添加组成员 例:将用户super加入到root组中。
[root@localhost ~]# gpasswd -a super root
Adding user super to group root
[root@localhost ~]# grep "^root" /etc/group
root:x:0:super
-d:删除组成员 例:将用户super从root组中删除。
[root@localhost ~]# gpasswd -d super root
Removing user super from group root
[root@localhost ~]# grep "^root" /etc/group
root:x:0:更改组帐号属性命令:groupmod格式:groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]参数: -g <群组识别码>  设置欲使用的群组识别码。
-o  重复使用群组识别码。
-n <新群组名称>  设置欲使用的群组名称。查询某个用户账号所属的组例:分别查询当前用户(root)和super用户所属的组账号信息。
[root@localhost ~]# groups
root
[root@localhost ~]# groups super
super : super root本文出自 “水滴石穿” 博客,请务必保留此出处http://pengyl.blog.51cto.com/5591604/1187477
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: