用户及文件权限管理
一、Linux 用户管理
Linux 是一个可以实现多用户登陆的操作系统,多用户同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制 ,不同用户不可以轻易地查看、修改彼此的文件。
1.查看用户
$ who am i
或
$ who mom likes
who 命令其它常用参数
-a 打印能打印的全部
-d 打印死掉的进程
-m 同am i,mom likes
-q 打印当前登录用户数及用户名
-u 打印当前登录用户登录信息
-r 打印运行等级
2.创建用户
在 Linux 系统里, root 账户拥有整个系统至高无上的权利,比如 新建/添加 用户。
一般登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo 这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。
su,su- 与 sudo
su <user>可以切换到用户user
sudo <cmd>可以以特权级别运行cmd命令
su - <user>命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。
3.用户组
在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源,就跟家的形式差不多.当然一个用户是可以属于多个用户组的.
方法一:使用groups命令
$ groups shiyanlou
可以查看下 /etc/sudoers.d/shiyanlou 文件,我们在 /etc/sudoers.d目录下创建了这个文件,从而给 shiyanlou 用户赋予了 sudo 权限
方法二:查看/etc/group文件
$ cat /etc/group | sort
| sort 表示将读取的文本进行一个字典排序再输出,然后你将看到如下一堆输出,你可以在最下面看到 shiyanlou 的用户组信息
你可以使用命令过滤掉一些你不想看到的结果:
$ cat /etc/group | grep -E "shiyanlou"
将其它用户加入 sudo 用户组
使用 usermod 命令可以为用户添加用户组,同样使用该命令你必需有 root 权限,你可以直接使用 root 用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用 sudo 命令获取权限来执行该命令 这里我用 shiyanlou 用户执行 sudo 命令将 lilei 添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限
$ su shiyanlou
$ groups lilei
$ sudo usermod -G sudo lilei
$ groups lilei
4.删除用户
$ sudo deluser 用户名 --remove-home
二、Linux 文件权限
1.查看文件权限
$ ls -l
使用较长格式列出文件。详细解释如下:
2.权限变更
方式一:二进制数字表示
$ chmod 700 iphone6
每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)就对应这一个 "rwx",也就是一个 '7'
方式二:加减赋值操作
$ chmod go-rw iphone'g''o'还有'u',分别表示group,others,user,'+','-' 就分别表示增加和去掉相应的权限。
作业
添加一个用户loutest,使用sudo创建文件/opt/forloutest,设置成用户loutest可以读写。截图并把操作过程写入实验报告。
1.添加一个用户一般登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo 这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。
2.使用sudo创建文件/opt/forloutest
3.设置成只有用户loutest可以读、写、执行,group和other没有权限
4.设置成用户loutest可以读、写、执行,group和other可以读、写
浙公网安备 33010602011771号