Linux基础入门(第三弹:用户管理)

来源:互联网 发布:软件功能规格说明书 编辑:程序博客网 时间:2024/06/04 19:08

Linux是一个可以实现多用户登陆的操作系统,他们可以同时登陆同一台主机,共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。

查看用户

要查看用户可以在命令行输入:
$ who am i或者who mom likes
会显示:admintest pts/0 2017-02-28 11:37 (:1.0)
输出的第一列表示当前登录用户的用户名(要只查看当前登录用户的用户名,去掉空格直接使用whoami即可),第二列的pts/0中pts表示伪终端。所谓伪是相对于/dev/tty设备而言的,伪终端就是在图形用户界面使用/dev/tty7时每打开一个终端就会产生一个伪终端,pts/0后面那个数字就表示打开的伪终端序号,再打开一个终端的话,然后在里面输入who am i,第二列就变成pts/1了,第三列则表示当前伪终端的启动时间。

who命令其它常用参数

参数 说明 -a 打印能打印的全部 -d 打印死掉的进程 -m 同am i,mom likes -q 打印当前登录用户数及用户名 -u 打印当前登录用户登录信息 -r 打印运行等级

创建用户

su <user>可以切换到用户user,执行时需要输入目标用户的密码。
sudo <cmd>可以以特权级别运行cmd命令,需要当前用户属于sudo组,且需要输入当前用户密码。
su - <user>命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。

比如新建一个叫test的用户,我们可以这样:$ sudo adduser test,然后会提示我们输入当前用户的密码,然后为新用户设置密码。这个命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录。
现在已经创建好一个用户,并且可以使用创建的用户登录了,使用如下命令切换登录用户:$ su -l test
退出当前用户跟退出终端一样可以使用exit命令或者使用快捷键Ctrl+d。

用户组

使用groups命令可以知道一个用户属于哪个用户组:$ groups test。然后我们会看到屏幕显示:test : test
其中冒号之前表示用户,后面表示该用户所属的用户组。
每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组。
默认情况下在sudo用户组里的用户可以使用sudo命令获得root权限。

查看/etc/group文件也可以可以知道一个用户属于哪个用户组:$ cat /etc/group | sort
屏幕会显示一堆信息出来,其中就有我们的test用户的用户组信息。
如果觉得信息太多不好找,可以使用命令过滤:$ cat /etc/group | grep -E "test"

/etc/group 的内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list
如果看到password字段为一个’x’,并不是说密码就是它,只是表示密码不可见而已。

将其它用户加入sudo用户组

默认情况下新创建的用户不具有root权限,也不在sudo用户组,可以让其加入sudo用户组从而获取root权限。
使用usermod命令可以为用户添加用户组,同样使用该命令必需有root权限才行。可以直接使用root用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用sudo命令获取权限来执行该命令。
$ sudo usermod -G sudo test

删除用户

$ sudo deluser test --remove-home

1 0
原创粉丝点击