linux系统 (实验二)实验楼的课程笔记
who am i 打印用户名和终端 终端的启动时间
whoami 打印用户名
who 命令其它常用参数
| 参数 | 说明 |
|---|---|
-a |
打印能打印的全部 |
-d |
打印死掉的进程 |
-m |
同am i,mom likes |
-q |
打印当前登录用户数及用户名 |
-u |
打印当前登录用户登录信息 |
-r |
打印运行等级 |
su,su- 与 sudo
su <user> 可以切换到用户 user,执行时需要输入目标用户的密码
sudo <cmd> 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。
su - <user> 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量
su -l lilei
切换登陆
修改root用户的密码
$ sudo passwd root
但是腾讯云好像不能这样子改密码
groups <name>
查看他属于哪些用户组
shiyanlou 用户也可以使用 sudo 命令,为什么这里没有显示在 sudo 用户组里呢?
可以查看下 /etc/sudoers.d/shiyanlou 文件,我们在 /etc/sudoers.d 目录下创建了这个文件,从而给shiyanlou赋予了
cat /ect/sudoers.d/shiyanlou
其中etc 似乎是一个独立的地方,不属于其他的目录 存放配置文件
方法二
cat /etc/group | grep -E "shiyanlou"
etc/group 文件格式说明
/etc/group 的内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list
你看到上面的 password 字段为一个 x 并不是说密码就是它,只是表示密码不可见而已。
sudo ls
会提示 lilei 不在 sudoers 文件中,意思就是 lilei 不在 sudo 用户组中,至于 sudoers 文件(/etc/sudoers)你现在最好不要动它,操作不慎会导致比较麻烦的后果。
使用 usermod 命令可以为用户添加用户组,同样使用该命令你必需有 root 权限,你可以直接使用 root 用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用 sudo 命令获取权限来执行该命令。
这里我用 shiyanlou 用户执行 sudo 命令将 lilei 添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限:
$ su shiyanlou # 此处需要输入shiyanlou用户密码,可以点击右侧工具栏中的“SSH直连”查看
$ groups lilei
$ sudo usermod -G sudo lilei
$ groups lilei
这里会出先 lilei:lilei sudo
这是 sudo用户组不是那个sudoers里的改变
然后你再切换回 lilei 用户,现在就可以使用 sudo 获取 root 权限了。
$ sudo deluser lilei --remove-home
删除用户是一件很简单的事
三、Linux 文件权限
3.1 查看文件权限
我们之前已经很多次用到 ls 命令了,如你所见,我们用它来列出并显示当前目录下的文件,当然这是在不带任何参数的情况下,它能做的当然不止这么多,现在我们就要用它来查看文件权限。
使用较长格式列出文件:
$ ls -l

你可能除了知道最后面那一项是文件名之外,其它项就不太清楚了,那么到底是什么意思呢:

可能你还是不太明白,比如第一项文件类型和权限那一堆东西具体指什么,链接又是什么,何为最后修改时间,下面一一道来:

关于文件类型,这里有一点你必需时刻牢记 Linux 里面一切皆文件,正因为这一点才有了设备文件( /dev 目录下有各种设备文件,大都跟具体的硬件设备相关)这一说。
socket:网络套接字,具体是什么,感兴趣的用户可以自己去了解或期待实验楼的后续相关课程。
pipe 管道,这个东西很重要,我们以后将会讨论到,这里你先知道有它的存在即可。
软链接文件:链接文件是分为两种的,另一种当然是“硬链接”(硬链接不常用,具体内容不作为本课程讨论重点,而软链接等同于 Windows 上的快捷方式,你记住这一点就够了)。
- 文件权限
读权限,表示你可以使用 cat <file name> 之类的命令来读取某个文件的内容;写权限,表示你可以编辑和修改某个文件;
执行权限,通常指可以运行的二进制程序文件或者脚本文件,如同 Windows 上的 exe 后缀的文件,不过 Linux 上不是通过文件后缀名来区分文件的类型。你需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。
所有者权限,这一点相信你应该明白了,至于所属用户组权限,是指你所在的用户组中的所有其它用户对于该文件的权限,比如,你有一个艾派德,那么这个用户组权限就决定了你的兄弟姐妹有没有权限使用它破坏它和占有它。
- 链接数
链接到该文件所在的 inode 结点的文件名数目(关于这个概念涉及到 Linux 文件系统的相关概念知识,不在本课程的讨论范围,感兴趣的用户可以自己去了解)。
- 文件大小
以 inode 结点大小为单位来表示的文件大小,你可以给 ls 加上
-lh参数来更直观的查看文件的大小。
明白了文件权限的一些概念,我们顺带补充一下关于 ls 命令的一些其它常用的用法:
- 显示除了
.(当前目录)和..(上一级目录)以及隐藏文件之外的所有文件(Linux 下以.开头的文件为隐藏文件)。
$ ls -A

当然,你可以同时使用 -A 和 -l 参数:
$ ls -Al
查看某一个目录的完整属性,而不是显示目录里面的文件属性:
$ ls -dl <目录名>
- 显示所有文件大小,并以普通人类能看懂的方式呈现:
$ ls -AsSh
其中小 s 为显示文件大小,大 S 为按文件大小排序,若需要知道如何按其它方式排序,请使用“man”命令查询。
3.2 变更文件所有者
假设目前是 lilei 用户登录,新建一个文件,命名为 “ iphone6 ”:
$ touch iphone6
可见文件所有者是 lilei :

现在,换回到 shiyanlou 用户身份,使用以下命令变更文件所有者为 shiyanlou :
$ cd /home/lilei
$ ls iphone6
$ sudo chown shiyanlou iphone6
$ cp iphone6 /home/shiyanlou
现在查看,发现 文件所有者成功修改为 shiyanlou :

这个是变更用户所有者,用户组没改
3.3 修改文件权限
如果你有一个自己的文件不想被其他用户读、写、执行,那么就需要对文件的权限做修改,这里有两种方式:
- 方式一:二进制数字表示

每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)对应一个 " rwx ",也就是一个 “ 7 ” ,所以如果我要将文件“ iphone6 ”的权限改为只有我自己可以用那么就这样:
为了演示,我先在文件里加点内容:
$ echo "echo \"hello shiyanlou\"" > iphone6
然后修改权限:
$ chmod 700 iphone6
现在,其他用户已经不能读这个“ iphone6 ”文件了:

- 方式二:加减赋值操作
完成上述相同的效果,你可以:
$ chmod go-rw iphone6

g、o 还有 u 分别表示 group、others 和 user,+ 和 - 分别表示增加和去掉相应的权限。
四、更多
adduser 和 useradd 的区别是什么?
答:useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。
Linux 还有一些关于隐藏权限和特殊权限的内容,想全面了解 Linux 权限管理这部分内容的用户可以通过其它方式学习。
最后是实验报告
https://www.shiyanlou.com/courses/reports/1270392
linux系统 (实验二)实验楼的课程笔记的更多相关文章
- linux系统 (实验一)实验楼的课程笔记
实验楼的课程笔记 tab 键是命令补全 输入 tail find / 立刻卡住 这时候ctrl+c 可以终端当前指令 一些常用的指令 Ctrl+d 键盘输入结束或退出终端 Ctrl+s 暂停当前程序 ...
- Linux系统实验
前言:怎么感觉Linux运维和Linux系统实验没什么关系?该不会的还是不会(@@).记录一下几个实验吧. 本篇目录: 实验一 编程环境 实验二 文件读写 实验三 进程通信 实验一 编程环境√ 实验步 ...
- Linux基础指令--韩顺平老师课程笔记
一.vi和vim编辑器 ①.三种模式 所有的 Linux 系统都会内建 vi 文本编辑器.vim 具有程序编辑的能力,可以看做是 vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计. ...
- Linux系统学习(二)一Linux基本操作
一.Linux的目录结构 1.1 Linux的目录结构图 1.2 目录内容 /:这就是根目录.对你的电脑来说,有且只有一个根目录.所有的东西,我是说所有的东西都是从这里开始.举个例子:当你在终端里输入 ...
- 【读书笔记】《基于UG NX系统的二次开发》笔记
我有几本二次开发的书,但是从头到尾读下来的却没有几本.有时候遇到困难发帖求助,好不容易得到答案.后来却发现在书上的前几章就有详细介绍.读书笔记不仅是一种记录,更是一种督促自己读书的方法.还有一个原因是 ...
- Linux系统(二)软件的安装与卸载
序言 上一篇我们了解啦Linux系统中,根目录下的各个文件夹是做什么用的啦,也学会文件如何压缩打包.那么接下来我们就该用到这个系统啦.用这个系统,就是用这个系统的软件,那么我们对我们需要的软件如何安装 ...
- Linux——系统开关机指令简单学习笔记
关机: 命令名称:shutdown 命令所在路径:/usr/sbin/shutdown 执行权限:root 语法:shutdown 功能描述:关机 范例:# shutdown -h now 重启: 命 ...
- Linux系统学习 二、测评-身份鉴别1
身份鉴别 1)对登陆操作系统和数据库系统的用户进行身份表示和鉴别 1.密码文件中的口令字段是否不为空 2.检查各个用户主目录下的.rhosts文件 3.查看/etc/hosts.equiv 学习: 1 ...
- 从零开始学Linux系统(二)之基本操作指令
ifconfigping ip地址帮助:ping -t ip地址ping -c 次数 ip地址ping -s 包的大小关机重启:shutdown -h now reboot清屏:clear == C ...
随机推荐
- 理解JWT
1. JSON Web Token是什么 JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,用于作为JSON对象在各方之间安全地传输信息.该 ...
- [转]WPF and Silverlight 学习笔记(二十五):使用CollectionView实现对绑定数据的排序、筛选、分组
在第二十三节,我们使用CollectionView实现了对于绑定数据的导航,除导航功能外,还可以通过CollectionView对数据进行类似于DataView的排序.筛选等功能. 一.数据的排序: ...
- 【踩坑】nextSibling 和nextElementSibling的区别
DOM 使用nextSibling属性返回指定节点之后的下一个兄弟节点,(即:相同节点树层中的下一个节点). nextSibling属性与nextElementSibling属性的差别: nextSi ...
- name和value的简单js用法
name和value: 例如: <input type="text" name="txt"/> name用于定义这个input收到的值的变量名,在上 ...
- Linux TC的ifb原理以及ingress流控-转
原文:http://www.xuebuyuan.com/2961303.html 首先贴上Linux内核的ifb.c的文件头注释: The purpose of this driver is ...
- CentOS 6 忘记root密码的修改方法
1.Linux的root密码修改不像Windows的密码修改找回,Windows的登录密码忘记需要介入工具进行解决.CentOS6和CentOS7的密码方法也是不一样的,具体如下: 2.centos ...
- Java程序员面试题收集(2)
1 String = 与 new 的不同 使用“=”赋值不一定每次都创建一个新的字符串,而是从“字符串实例池”中查找字符串.使用“new”进行赋值,则每次都创建一个新的字符串. 2 String与S ...
- RandomRowFilter(3)
比较容易理解 用来随机抽取 RandomRowFilter:从名字上就可以看出其大概的用法,本过滤器的作用就是按照一定的几率(<=0会过滤掉所有的行,>=1会包含所有的行)来返回随机的结果 ...
- 查看linux系统的文件inode号码使用情况
:~$ df -i 文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点 udev % /dev tmpfs % /run /dev/sda2 % / tmpfs % /dev/shm ...
- ES6学习笔记之数组的扩展
✏️1. 扩展运算符 扩展运算符(spread)是三个点(...),将一个数组转为用逗号分隔的参数序列. 普通用法 console.log(...[1,2,3]);//1 2 3 数组拷贝(普通类型深 ...