Ubuntu 下用户管理.
1.添加用户
1.1 useradd
命令格式为:
useradd [options] username
useradd
有很多参数,常用参数:
- -s 指定当前用户的bash。不写的话,默认使用
/bin/sh
,缺少很多功能,比如不能自动补全。应当指定使用/bin/bash
。 - -b 指定base目录。比如
useradd -b /usr username
,则新用户的目录为/usr/username
- -d 指定完整的用户目录。比如
useradd -d /home/username1 userdir
,则新用户的目录为/usr/userdir
。注意这里userdir
和username
可以不一致。 - -m 如果
-d
和-b
指定的文件夹不存在,则自动创建。 - -G 把新用户添加进某个组。比如想要给新用户以sudo权限,就执行
useradd -G sudo username
。这样创建完成后执行vim /etc/group
会发现sudo组内多了该新用户。如果需要加入多个组,则-G
后面跟多个组名,用逗号(仅仅是逗号,不要空格)隔开。 - -p 指定新用户密码。如果不指定,则需要在创建完新用户之后,用
passwd username
再指定方可登录。
另外多说一句,一般来说,想给新用户以sudo权限,用-G sudo
就可以实现了。但是我也遇见过无效的情况。这时候就要用visudo
命令,直接修改/etc/sudoers
文件。(必须用这个命令,用vim
会提示这是readonly
文件,无法保存;即便是用root用户去vim
也不行。)修改的内容就是在最后加入
usernameALL=(ALL) ALL
这样太暴力,不优雅。
一般的,useradd
命令使用如下:
useradd -s /bin/bash -m -G sudo username
然后设置密码:
passwd username
1.2 adduser
2. 删除用户
2.1 userdel
命令格式为:
userdel [options] username
userdel
参数:
- -f, --force force removal of files,even if not owned by user
- -h, --help display this help message and exit
- -r, --remove remove home directory and mail spool
- -R, --root CHROOT_DIR directory to chroot into
- -Z, --selinux-user remove any SELinux user mapping for the user
一般的,useradd
命令使用如下:
userdel -r username
不带选项使用 userdel,只会删除用户。用户的家目录将仍会在/home目录下。
为了在删除用户时完全删除家目录,我们可以使用 -r 选项。这个选项同样会删除用户的邮件池,如果存在的话。