用户及文件权限管理
Linux用户管理
Linux 是一个可以实现多用户登陆的操作系统,不同的用户可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制,不同用户不可以轻易地查看、修改彼此的文件。
查看用户
$ who # 输出的第一列表示打开当前伪终端的用户的用户名(要查看当前登录用户的用户,使用 whoami 即可) # 第二列的 pts/0 中 pts 表示伪终端,所谓伪是相对于 /dev/tty 设备而言的 # 第三列则表示当前伪终端的启动时间。
who 命令其它常用参数
参数 | 说明 |
-a | 打印能打印的全部 |
-d | 打印死掉的进程 |
-q | 打印当前登录用户数及用户名 |
-u | 打印当前登录用户登录信息 |
-r | 打印运行等级 |
创建用户
在 Linux 系统里, root 账户拥有整个系统至高无上的权利,比如 新建/添加 用户。
root 权限,系统权限的一种,与 SYSTEM 权限可以理解成一个概念,但高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上 的权力,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到 root 权 限,用 Windows 的方法理解也就是将自己的非法帐户添加到 Administrators 用户组。更比 如安卓操作系统中(基于 Linux 内核)获得 root 权限之后就意味着已经获得了手机的最高权 限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。
我们一般登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo 这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。
su,su- 与 sudo
su <user> 可以切换到用户 user,执行时需要输入目标用户的密码,sudo <cmd> 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。su - <user> 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。
在 sudo 用户组里的可以使用 sudo 命令获得 root 权限。
创建一个新用户,并且
$ sudo adduser 用户名 # 后面的内容可以使用回车设置默认值
新建用户后,为该用户在home下生成了家目录
删除用户
用户组
查看自己属于哪个组
方式一:
groups 用户名 用户名 : 所在组
新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组