一、useradd
命令用来建立用户帐号和创建用户的起始目录,使用权限是root
用户。
命令格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
主要参数
-c
:加上备注文字,备注文字保存在passwd的备注栏中。
-d
:指定用户登入时的启始目录。
-D
:变更预设值。
-e
:指定账号的有效期限,缺省表示永久有效。
-f
:指定在密码过期后多少天即关闭该账号。
-g
:指定用户所属的起始群组。
-G
:指定用户所属的附加群组。
-m
:自动建立用户的登入目录。
-M
:不要自动建立用户的登入目录。
-n
:取消建立以用户名称为名的群组。
-r
:建立系统账号。
-s
:指定用户登入后所使用的shell,可以登录是 /bin/bash 不可以登录 /sbin/nologin
-u
:指定用户ID号。
说明
useradd
可用来建立用户账号,他和adduser
命令是相同的。账号建好之后,再用passwd
设定账号的密码。使用useradd
命令所建立的账号,实际上是保存在/etc/passwd
文本文件中。
应用实例
1. 建立一个新用户账户,并设置ID:
useradd -u 544 123
需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特别用户,一般0到499之间的值留给bin、mail这样的系统账号。
如果不指定UID那么默认是从500开始的,不指定GID那么默认UID和GID是一样的,用户名和组名也是一样的。
useradd -g oinstall -G dba 456
新创建一个 456 用户,这初始属于oinstall组,且同时让他也属于dba组。
useradd -d /var/servlet/service -s /sbin/nologin tomcat
无法使用shell,且设置其home目录为/var/servlet/service
二、Linux usermod
命令用于修改用户帐号,usermod
可用来修改用户帐号的各项设定。
-a
把用户追加到某些组中,仅与-G选项一起使用
-c
修改/etc/passwd文件第五段comment
-d
修改用户的家目录通常和-m选项一起使用
-e
指定用户帐号禁用的日期,格式YY-MM-DD
-f
用户密码过期多少天后采用就禁用该帐号,0表示密码已过期就禁用帐号,-1表示禁用此功能,默认值是-1
-g
修改用户的gid,改组一定存在
-G
把用户追加到某些组中,仅与-a选项一起使用
-l
修改用户的登录名称
-L
锁定用户的密码
-m
移除用户的家目录通常和-d选项一起使用
-s
修改用户的shell
-u
修改用户的uid,该uid必须唯一
-U
解锁用户的密码
-p
修改用户密码
注意:
1. usermod
不允许你改变正在线上的使用者帐号名称。当usermod
用来改变userID,必须确认这名user没在电脑上执行任何程序
2. 不要使用 -p
选项修改密码,因为密码会以明文方式显示在 /etc/shadows
文件里
应用实例:
1. 新建用户test,密码test,另外添加usertest组
useradd test echo "test" | passwd --stdin test
2. 把test用户加入usertest组
usermod -aG usertest test 多个组之间用空格隔开
查看:
id test
uid=500(test) gid=500(test) groups=500(test),501(usertest)
3. 修改test用户的家目录
usermod -md /home/usertest
4. 删除附加群组
usermod -G "" username
三、userdel
命令可以删除系统上的用户
如:
userdel 123
加上 -r
选项可以在删除用户的同时顺便把home
目录也删除掉,是个危险的选项,因此默认userdel
不会删除用户的home
目录
四、passwd
用户口令管理命令
语法
passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
必要参数:
-d
删除密码
-f
强制执行
-k
更新只能发送在过期之后
-l
停止账号使用
-S
显示密码信息
-u
启用已被停止的账户
-x
设置密码的有效期
-g
修改群组密码
-i
过期后停止用户账号
应用实例
1. 修改用户密码
passwd 123 //设置123用户的密码
输出:
Enter new UNIX password: //输入新密码,输入的密码无回显 Retype new UNIX password: //确认密码 passwd: password updated successfully
2. 显示账号密码信息
passwd -S 123
输出
123 P 05/13/2015 0 99999 7 -1
3. 删除用户密码
passwd -d lx138
输出
passwd: password expiry information changed.
五、groupadd
创建一个新的用户组
语法
groupadd [-g gid][-o][-r][-f] groupname
选项
-g
gid:除非使用-o参数不然该值必须是唯一,不可相同。数值不可为负。
-o
:允许设置相同组id的群组
-r
:建立系统组
-f
:强制执行,默认是不允许创建相同id的组的,使用此参数就可以,而且不用-o选项。
应用实例
1. 添加一个组
groupadd 123
2. 添加组并指定gid
groupadd -g 550 123
六、groupmod
用户组修改命令
用法:
groupmod [-g gid [-o]] [-n group_name] group
参数:
-g
: gid:指定id
-o
:与groupadd相同
-n
: group_name:修改用户组名为group_name
七、groupdel
命令删除用户组
用法:
groupdel group
说明:删除用户组时,用户组必须存在,如果有组中的任一用户在使用中的话,则不能删除。