用户及文件权限管理 2016/7/8
linux可以实现多用户登录的操作系统
一、查看用户 who am i
或者who mom liks
第一列表示打开伪终端的用户的用户名(若只是查看当前的用户名,用whoami)
第二列pts/0中的pts表示伪终端,后面的那个0代表打开的伪终端的序号
第三列表示伪终端的启动时间
(所谓伪终端中的“伪”是相对于/dev/tty设备而言的,ctrl + alt +【F1~F7】可以用来切换七个/dev/tty设备,这些是真终端,伪终端就是在图形界面用户使用/dev/tty7时每次打开一个终端,就会产生一个伪终端)
who命令的参数
-a 打印能打印的全部
-d 打印死掉的进程
-m 和am i 以及 mom liks 的功能相同
-q 打印当前登录用户数以及用户名
-u 打印当前登录用户的登录信息
-r 打印运行等级
二,创建用户
在linux系统中,root账户拥有整个操作系统中具有至高无上的权利
root权限,系统权限的一种,与SYSTEM权限可以理解为同一个概念,但是高于Administator 权限,root是linux 和 Unix 操作系统中的超级管理员用户账户
若要进行用户创建,就要用到root权限,这里用sudo命令(应用条件:知道 当前用户密码,用户在sudo用户组)
su, su-, sudo
su 可以用来切换用户,但是需要知道目标用户的密码。
sudo 可以以超级权限运行command命令。
su - 也是用来切换用户,只不过当前环境变量也会切换为目标用户的环境变量。
我们可以通过
sudo adduser wuqilong
来创建一个名字为 wuqilong 的用户,并且用户已经添加到home目录
命令exit 或者 ctrl + D 用来退出当前用户
三、用户组
用户组:用户的归属,一组用户的集合,共享一些资源权限,但是也有自己的私有资源和权限,一个用户也可以属于多个用户组。
查看所属用户组的方法
(1)使用groups命令
eg:groups shiyanlou
每次新建用户时,若不指定所属用户组,那么会自动创建一个与用户名相同的用户组。默认sudo用户组的用户可以通过sudo命令获得root权限。
(2)查看/etc/group 文件
eg:cat /etc/group | sort
cat 命令用于读取指定文件的内容并打印输出在终端,
| sort 命令将读取的呢哦荣进行一个字典排序后输出
或者使用 cat /etc/group | grep -E shiyanlou 命令来过滤一些不想看到的结果。
/etc/group 的内容包括用户组(所属的用户组 group)、用户组口令、GID以及该用户组包含的用户、每个用户组的一条记录
将其他用户加入到sudo用户组
使用usermod 命令可以为用户添加用户组,同样可以使用usermod 命令净用户添加到sudo用户组中,这样该用户就可以获得root权限,然而使用该命令必须有root权限
eg:
su shiyanlou
groups wuqilong
sudo usermod -G sudo wuqilong
groups wuqilong
删除用户:
sudo deluser wuqilong --remove-home
linux 文件权限
ls命令可以用来列出当前目录下的文件。
其中
此外
文件类型: 在linux里面,所有的都是文件。因此才有了设备文件(/dev 目录下的各种设备文件,大多和具体的硬件相关),还有socket(网络套接字),pipe(管道),软链接文件(类似快捷方式),硬链接文件......
权限:
读权限:cat 读取某个文件的内容。
写权限:表示可以编辑某个文件
执行权限:通常指可以运行的二进制文件和脚本文件(如Windows下的 .exe 文件),然而linux上的文件并不是通过文件后缀名来区分文件的。
(一个目录必须要有读权限和执行权限才可以打开,一个目录必须要有写权限才可以在其中创建文件)目录文件实际上保存着其中文件的列表等信息。
链接数:链接到该文件所在的 inode 结点的文件名个数(inode的相关解释参见http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html)
文件大小: 以inode 节点大小为单位来表示文件的大小。(可以通过命令:ls -lh 更加直观的查看文件的大小)
附ls命令的其他用法: ls . 显示除了当前目录所包含的所有的隐藏文件
ls .. 显示除了上一级目录所包含的所有的隐藏文件(linux中以“.”开头的文件为隐藏文件)
ls -Al 查看某一目录的完整属性,而不是显示目录下文件的属性。
la -dl <目录名> 以普通人类能够看懂的方式显示所有文件的大小
ls -AsSh :小s表示显示文件的大小,大S 表示按照文件的大小排序。
变更文件所有者:
touch 新文件
cd /home/wuqilong
ls 新文件//查看新文件
sudo chown 新文件 目的用户(shiyanlou)
cp 新文件 /home/shiyanlou
修改文件权限
方式1:二进制方式表示
每个文件的三组权限:拥有者--所属用户--其他用户(顺序一定)
方法2:加减法表示
chmod go - rw 文件名 (g o u 分别代表 group, other , user, + 代表增加权限, - 代表去掉相应权限)