您的位置:首页 > 运维架构 > Linux

linux之用户以及文件权限

2017-08-29 17:57 155 查看
终端:

终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多用户登陆就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命

令行界面的 “terminal”(准确的说这里应该是 6 个 virtual consoles)来让用户登录。在物理机系统上你可以通过使用
[Ctrl]
+
[Alt]


+
[F1]~[F6]
进行切换,不过在我们的在线实验环境中可能无法切换,因为特殊功能按键会被你的主机系统劫持。当你切换到其中

一个终端后想要切换回图形界面,你可以按下
[Ctrl]
+
[Alt]
+
[F7]
来完成。

Shell

通常在图形界面中对实际体验带来差异的不是上述的不同发行版的各种终端模拟器,而是这个 Shell(壳)。有壳就有核,这里的核

就是指 UNIX/Linux 内核,Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来

的 cmd.exe 。普通意义上的 Shell 就是可以接受用户输入命令的程序。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。

同样的 UNIX/Linux 下的图形用户界面 GNOME 和 KDE,有时也被叫做“虚拟 shell”或“图形 shell”。

UNIX/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言。当然这一点也有别于 Windows 下的命令行,虽然

该命令行也提供了很简单的控制语句。在 Windows 操作系统下,有些用户从来都不会直接使用 Shell,然而在 UNIX 系列操作系统下

,Shell 仍然是控制系统启动、X11 启动和很多其它实用工具的脚本解释程序。

在 UNIX/Linux 中比较流行的常见的 Shell 有 bash、zsh、ksh、csh 等等,Ubuntu 终端默认使用的是 bash,默认的桌面环境是

GNOME 或者 Unity(基于 GNOME),但我们的环境中使用的分别是 zsh 和 xfce。

命令行操作体验:

touch file创建一个名为文件

cd /etc/进入一个目录,pwd查看当前所在目录,rm -r 删除一个目录

ctrl+d键盘输入结束或退出终端

ctrl+s暂停当前程序暂停后按下任意键恢复运行

ctrl+z将当前程序放到后台运行,恢复到前台为命令fg

ctrl+a将光标移至输入行头相当于home键

ctrl+e将光标移至输入行末end键

crtl+k删除从广标所在位置到行末

alt+backspace向前删除一个单次

shift+pgup将终端显示向上滚动

shift+pgdn将终端显示向下滚动

通常
man 手册中的内容很多,你可能不太容易找到你想要的结果,不过幸运的是你可以在 man 中使用搜索
/<你要搜索的关键字>


查找完毕后你可以使用
n
键切换到下一个关键字所在处,
shift+n
为上一个关键字所在处。使用
Space
(空格键)翻页,
Enter


回车键)向下滚动一行,或者使用
j
,
k
(vim
编辑器的移动键)进行向前向后滚动一行。按下
h
键为显示使用帮助(因为
man 使用

less
作为阅读器,实为
less
工具的帮助),按下
q
退出。

练习

sudo apt-get update

sudo apt-get install sysvbanner

banner shiyanlou

banner shiyanlou

sudo apt-get install toilet

toilet shiyanlou

sudo apt-get install figlet

figlet ge

Linux 是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时登陆同一台主机,他们共享一些主机的资源,

但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区

或者目录里,但是由于 Linux 的 用户管理 和 权限机制,不同用户不可以轻易地查看、修改彼此的文件。

who am i查看用户

who -a打印能打印的全部

who -d打印死掉的进程

who -m同am i mom likes

who -q打印当前登录用户输和用户名

who -u打印当前登录用户登录信息

who -r打印运行登基

要创建用户需要 root 权限,这里就要用到 
sudo
这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,

二是当前用户必须在 
sudo
 用户组

su <user> 可以切换到用户 user,执行时需要输入目标用户的密码,sudo
<cmd> 可以以特权级别运行 cmd 命令,需要当前用户

属于 sudo 组,且需要输入当前用户的密码。su
- <user> 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量

sudo adduser lilei新建一个用户,设置密码,

执行命令将lilei添加到sudo用户组,让他也可以使用sudo命令,获得root权限:groups lilei,sudo usermod -G sudo lilei,groups lilei

删除用户:sudo deluser lilei --remove-home

touch iphone6创建一个文件

ll iphone6查看文件所有者是lilei

现在回到shiyanlou身份使用以下命令变更文件使用者为shiyanlou:cd/home/lilei,ls iphone6,sudo chown shiyanlou iphone6

chmod 700 iphone6改变权限,每个文件三组权限(拥有者,所属用户组,其他用户)

adduser 和 useradd 的区别是什么?

答:useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置

),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要

你输入、确定等一系列操作。

Linux 还有一些关于隐藏权限和特殊权限的内容,想全面了解 Linux 权限管理这部分内容的用户可以通过其它方式学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐