用户账户管理:
账户创建
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的起始群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
/bin/false是最严格的禁止login选项,一切服务都不能用,而/sbin/nologin只是不允许系统login,可以使用其他ftp等服务
如果想要用false在禁止login的同时允许ftp,则必须在/etc/shells里增加一行/bin/false。
使用-d参数指定用户家目录时该路径需事先存在且只能指定到其上一级目录,否则无法拷贝skel模版,
系统添加用户的标准步骤
1.编辑/etc/passwd与/etc/group
2.创建用户主目录
3.从/etc/skel拷贝文件与目录
4.让新用户获得其主目录与文件的拥有权限
5.给新用户一个密码
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@justin ~]
# 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@justin ~]
# ls -a /etc/skel/
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
[root@justin ~]
#
|
1
2
3
4
5
|
[root@justin ~]
# useradd -d /usr/home/ jerry
useradd
: warning: the home directory already exists.
Not copying any
file
from skel directory into it.
[root@justin ~]
# cd /etc/skel/
[root@justin skel]
# cp bash_logout .bash_profile .bashrc /usr/home/jerry
|
用户密码设定:
说明:通过useradd命令新添加的用户账号,还必须为其设置一个密码才能用来登录Linux系统。Linux系统对密码要求非常严格,要求密码应符合下列规则:
a.密码不能与用户账号相同
b.密码长度最好在8位以上
c.密码最好不要使用字典里面出现的单词或一些相近的词汇,如Passw0rd等。
d.密码最好要包含英文大小写、数字、符号这些字符。
当以root用户的身份为普通用户设置密码时,密码即使不符合规则要求,也可以设置成功。但如果是普通用户修改自己的密码,则必须要符合规则要求。
密码时效管理
用户帐号删除
一般情况下,普通用户只对自己的主目录拥有写权限,所以用户的相关文件一般也都是存放在主目录里。多数情况下,我们都希望在删除一个用户账号时,能将他的所有相关文件一并删除,这时就需要使用-r选项,将用户账号连同主目录一起删除。
账户属性修改
对于系统中已经存在的用户账号,可以使用usermod命令重新设置各种属性。
上图首列错误,应该为usermod
改变我们也可以通过
1
|
[root@localhost ~]
# chsh jack -s /sbin/nologin
|
添加多个附加组需要添加参数-a,否则替换原来的组加组:[root@justin ~]# usermod -aG Jerry study3
newgrp--普通用户临时修改默认组
1
2
3
4
5
6
|
[Tom@justin ~]$
id
uid=503(Tom) gid=503(Tom)
groups
=503(Tom),504(Jerry),505(Marry)
[Tom@justin ~]$ newgrp Jerry
[Tom@justin ~]$
id
uid=503(Tom) gid=504(Jerry)
groups
=503(Tom),504(Jerry),505(Marry)
[Tom@justin ~]$
|
只能在所属组间切换,无法修改为其他组
用户组管理
创建组帐号
删除组帐号
若删除群组为某些用户的基本组,则必须先删除这些用户后,方能删除群组。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[root@justin ~]
# id study
uid=520(study) gid=520(study) 组=520(study)
[root@justin ~]
# gpasswd -a study g1
Adding user study to group g1
[root@justin ~]
# grep g1 /etc/group
g1:x:526:study
[root@justin ~]
# groupdel g1
[root@justin ~]
# grep g1 /etc/group
[root@justin ~]
# groupadd g1
[root@justin ~]
# usermod -g g1 study
[root@justin ~]
# id study
uid=520(study) gid=524(g1) 组=524(g1)
[root@justin ~]
# groupdel g1
groupdel: cannot remove the primary group of user
'study'
[root@justin ~]
#
|
添加、删除组成员
组帐号属性更改
1
2
3
4
5
6
7
8
9
|
[root@justin ~]
# groupmod --help
Usage: groupmod [options] GROUP
Options:
-g, --gid GID change the group ID to GID
-h, --help display this help message and
exit
-n, --new-name NEW_GROUP change the name to NEW_GROUP
-o, --non-unique allow to use a duplicate (non-unique) GID
-p, --password PASSWORD change the password to this (encrypted)
PASSWORD
|
用户账号所属的组查看
1
2
3
4
5
6
7
8
9
10
11
|
[root@justin ~]
# groups
root
[root@justin ~]
# usermod -G g1 study
[root@justin ~]
# groups study
study : study g1
[root@justin ~]
# usermod -G g2 study
[root@justin ~]
# groups study
study : study g2
[root@justin ~]
# usermod -a -G g1 study
[root@justin ~]
# groups study
study : study g1 g2
|