useradd命令:建立用户账号
#注:adduser以交互的形式创建,这个手动指定,非常灵活。
Usage: useradd [options] LOGIN
options:
-c, --comment COMMENT
新账号passwd档说明信息
例:
linux@cdyemail:~$ sudo useradd --comment '这是一个测试用户' cdy
linux@cdyemail:~$ cat /etc/passwd | grep cdy
cdy:x:1001:1001:这是一个测试用户:/home/cdy:/bin/sh
注:这行信息表示
cdy:用户名
x:表示密码段
1001:1001: 表示UID和GID
这是一个测试用户: 表示注解
/home/cdy :表示用户主目录
/bin/sh: 表示用户应用的shell
-d, --home-dir HOME_DIR
指定home目录名,即账号登录时使用的home_dir
例:
linux@cdyemail:~$ sudo useradd -d /home/test_user cdy #创建一个目录
linux@cdyemail:~$ cat /etc/passwd | grep cdy
cdy:x:1001:1001::/home/test_user:/bin/sh
可以看出,用户主目录为/home/test_user
-e, --expiredate EXPIRE_DATE
指定账号的终止日期,日期格式mm/dd/yy
例:
linux@cdyemail:~$ sudo useradd --expiredate 12/01/2010 cdy #设置终止日期(已经过了)
linux@cdyemail:~$ sudo passwd cdy #设置密码
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
linux@cdyemail:~$ su cdy
Password:
Your account has expired; please contact your system administrator
su: Authentication failure
通过提示可以看出,你的账号已经终止了,请联系你系统的管理员。
-f, --inactive INACTIVE
账号过期后几日后永久停权,0日表示立刻被停权,-1则关闭此功能。
-g, --gid GROUP
指定GID或组包做为用户起始群组,组必须是存在的。
例:
linux@cdyemail:~$ sudo cat /etc/group | grep root
root:x:0:
linux@cdyemail:~$ sudo useradd --gid 0 cdy
#或sudo useradd --gid root cdy
linux@cdyemail:~$ cat /etc/passwd | grep cdy
cdy:x:1001:0::/home/cdy:/bin/sh
可以看出目录cdy所属的组是0,即root组
-G, --groups GROUPS
定义用户所属组的列表(隶属于多个组),每个组用,号隔开
例:
linux@cdyemail:~$ sudo useradd --groups root,admin,linux,syslog cdy
linux@cdyemail:~$ groups cdy #查看用户所属的组
cdy : cdy root syslog admin linux
可以看出cdy隶属于多个组了。
-m, --create-home
创建用户主目录
-M, --no-create-home 不创建用户主目录
-r, --system
建立系统账号
-s, --shell SHELL
使用者登录后使用的shell
例:
linux@cdyemail:~$ sudo useradd --shell /bin/bash cdy
linux@cdyemail:~$ cat /etc/passwd | grep cdy
cdy:x:1001:1001::/home/cdy:/bin/bash
可以看出shell是bash
-u, --uid UID
指定用户的用户id,id必须是维一值,数字不能为负数,普通账号大于999,0--999是给系统账号用留的。
-k 可以理解为复制模板到此用户主目录中.
例:创建一个用户,此用户属组root和linux,shell用sh,用户名为Test,用主目录为abc,并且为系统账号
linux@cdyemail:~$ sudo useradd --home-dir /home/abc --groups root,linux --shell /bin/sh --system test
linux@cdyemail:~$ cat /etc/passwd | grep test #查看主目录,登录shell等
test:x:999:999::/home/abc:/bin/sh
linux@cdyemail:~$ groups test #查看所属群组
test : test root linux
userdel命令:删除用户账号
Usage: userdel [options] LOGIN
Options:
例:
1、删除用户cdy
userdel cdy
他只删除账号信息。
2、删除用户并移出home目录等
userdel -r cdy
如果用户登录了则删除不了,但可以用 -f强力删除。