useradd [-参数] 账号
-u:后接一组数字,把这组数字指定为这个账号的uid。
-g:后接组名,把这个组作为账号的初始用户组,该用户组的GID会被放到/etc/passwd的第四个账号
-G:后接组名,把这个组作为账号的次要用户组,这个参数会修改/etc/group内的相关数据。
-M:强制,不创建用户主文件夹。
-m:强制,创建用户主文件夹。
-c:这就是/etc/passwd第五列的说明内容。
-d:指定主文件夹目录,而不使用系统的默认的目录。(必须是绝对路径)
-r:创建一个系统账号,这个账号的uid会有限制。
-s:后接一个shell,若没有指定则默认为/bin/bash。
-e:后接一个日期,格式为‘yyyy-mm-dd’,shadow的第八字段,指定账号的失效日期。
-f:后接一个shadow的第七字段,指定密码是否失效,0为立刻失效,-1为永不失效(密码只会过期而强制于登陆时重新设置而已)
创建用户fds:
1
2
3
4
5
6
7
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# useradd fds
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# ll -d /home/fds #默认的主文件夹路径
drwx------. 2 fds fds 4096 Sep 11 09:52
/home/fds
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# grep fds /etc/passwd /etc/shadow /etc/group
/etc/passwd
:fds:x:1011:1011::
/home/fds
:
/bin/bash
/etc/shadow
:fds:!!:17420:0:99999:7:::
/etc/group
:fds:x:1011:
|
#设置uid为700 ,初始用户组为hive
1
2
3
4
5
6
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# useradd -u 700 -g hive fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# ll -d /home/fds1
drwx------. 2 fds1 hive 4096 Sep 11 09:54
/home/fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# grep fds1 /etc/passwd /etc/shadow /etc/group
/etc/passwd
:fds1:x:700:491::
/home/fds1
:
/bin/bash
/etc/shadow
:fds1:!!:17420:0:99999:7:::
|
#创建一个系统用户
1
2
3
4
5
6
7
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# useradd -r fds2
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# ll -d /home/fds2
ls
: cannot access
/home/fds2
: No such fileor directory
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# grep fds2 /etc/passwd /etc/shadow /etc/group
/etc/passwd
:fds2:x:494:490::
/home/fds2
:
/bin/bash
/etc/shadow
:fds2:!!:17420::::::
/etc/group
:fds2:x:490:
|
一般用户的uid都是大于500的,用户自己创建的系统账号的uid一般是大于100的,所以加上-r参数后,系统会自动将账号与账号同名的用户组的uid/gid都指定小于500,因为系统账号主要是用来进行运行系统所需要的服务的权限设置,所以系统账号默认不会自动创建主文件夹。
使用-D参数查看useradd的默认值
1
2
3
4
5
6
7
8
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# useradd -D
GROUP=100
#默认的用户组
HOME=
/home
#默认的主文件夹所在目录
INACTIVE=-1
#密码的失效日期,在shadow内的第7列
EXPIRE=
#账号的失效日期,在shadow的第8列
SHELL=
/bin/bash
#默认的shell
SKEL=
/etc/skel
#用户文件夹的内容数据参考目录
CREATE_MAIL_SPOOL=
yes
#是否主动帮用户创建邮箱(mailbox)
|
关于账号默认设置的数据可查看/etc/default/useradd /etc/shadow
关于uid/gid,密码的设置可查看/etc/login.defs /etc/passwd /etc/group
passwd [-参数] 账号
--stdin:可以通过管道的数据,作为密码的输入,常用语shell中。
-l:加锁的意思,使密码失效。
-u:解锁的意思,是-l的反操作。
-S:列出密码的相关参数
-n:后接天数,表示多久不可以修改密码
-x:后接天数,表示多久之内必须修改密码
-w:后接天数,密码过期前的警告天数
-i:后接日期,密码的失效日期
注:passwd 后面不加账号的话就是修改当前登录的账号的密码。
设置fds账号的密码:
1
2
3
4
5
6
7
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# passwd fds
Changing password
for
user fds.
New password:
BAD PASSWORD: it is WAY too short
BAD PASSWORD: is too simple
Retype new password:
passwd
: all authentication tokens updatedsuccessfully.
|
添加—stdin参数 使用管道设置密码(这里是两个短横杠,不是一个横杠):
1
2
3
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# echo 'fds1'|passwd --stdin fds1
Changing password
for
user fds1.
passwd
: all authentication tokens updatedsuccessfully.
|
给指定账号密码加锁/解锁:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# passwd -S fds1
fds1 PS 2017-09-11 0 99999 7 -1 (Passwordset, SHA512 crypt.)
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# passwd -l fds1
Locking password
for
user fds1.
passwd
: Success
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# passwd -S fds1
fds1 LK 2017-09-11 0 99999 7 -1 (Passwordlocked.)
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# grep fds1 /etc/shadow
fds1:!!$6$DhUsWtSf$ds9WLnzLcWhIFp3Aj8lpQARt8S6CBgMTgZiZyKwin4lZPD1lcjSpw2CmeOWhVnZnlDKFtr0ztqFUCUC8QHkYP.:17420:0:99999:7:::
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# passwd -u fds1
Unlocking password
for
user fds1.
passwd
: Success
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# grep fds1 /etc/shadow
fds1:$6$DhUsWtSf$ds9WLnzLcWhIFp3Aj8lpQARt8S6CBgMTgZiZyKwin4lZPD1lcjSpw2CmeOWhVnZnlDKFtr0ztqFUCUC8QHkYP.:17420:0:99999:7:::
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
#
|
passwd -S仅仅是列出简单的信息,要查看更详细的信息可以使用change命令,
chage [-参数] 账号
-l:列出账号的详细的密码参数
-d:后接日期,最后修改面的时间,格式为yyyy-mm-dd
-E:后接日期,账号失效日期,格式同上。
-I:后接日期,密码失效日期,
-m:后接天数,密码最短的保存天数
-M:后接天数,密码多久需要修改
-W:后接天数,密码过期前的警告日期
使用chage查看账号原始信息:
1
2
3
4
5
6
7
8
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# chage -l fds1
Last password change : Sep 11,2017
Password expires : never
Password inactive : never
Account expires :never
Minimum number of days between passwordchange : 0
Maximum number of days between passwordchange : 99999
Number of days of warning before passwordexpires : 7
|
修改密码的最后修改时间:
1
2
3
4
5
6
7
8
9
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# chage -d '2017-09-12' fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# chage -l fds1
Last password change : Sep 12, 2017
Password expires : never
Password inactive : never
Account expires :never
Minimum number of days between passwordchange : 0
Maximum number of days between passwordchange : 99999
Number of days of warning before passwordexpires : 7
|
usermod [-参数] 账号
-c:后接账号说明
-d:后接账号的主文件夹,绝对路径
-e:后接日期,格式为yyyy-mm-dd
-f:后接天数
-g:后接初始用户组
-G:后接次要用户组
-a:与-G一起使用可增加次要用户的支持而非设置
-l:后接新的账号名称
-s:后接shell的实际文件
-u:后接UID数字
-L:暂时将用户冻结,锁定用户密码,使其不能登录。
-U:解冻用户,解锁用户密码,是冻结账号恢复使用
给fds1账号添加备注:
1
2
3
4
5
6
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# usermod -c "just a test account" fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# grep fds1 /etc/passwd
fds1:x:700:491:just a testaccount:
/home/fds1
:
/bin/bash
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# usermod -e '2019-12-31' fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# grep fds1 /etc/shadow
fds1:$6$DhUsWtSf$ds9WLnzLcWhIFp3Aj8lpQARt8S6CBgMTgZiZyKwin4lZPD1lcjSpw2CmeOWhVnZnlDKFtr0ztqFUCUC8QHkYP.:17421:0:99999:7::18261:
|
修改fds1的账号为fds1_new:
1
2
3
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]
# usermod -l fds1_new fds1
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012 ~]
# grep fds1 /etc/shadow
fds1_new:$6$DhUsWtSf$ds9WLnzLcWhIFp3Aj8lpQARt8S6CBgMTgZiZyKwin4lZPD1lcjSpw2CmeOWhVnZnlDKFtr0ztqFUCUC8QHkYP.:17421:0:99999:7::18261:
|
userdel [-参数] 账号
-r: 连同主文件夹一起删除
删除fds2以及他的主文件夹:
1
2
3
4
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# userdel -r fds2
userdel: fds2 mail spool(
/var/spool/mail/fds2
) not found
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# userdel -r fds2
userdel: user
'fds2'
does not exist
|