Linux-2020-spring-3-11
跳到导航
跳到搜索
上节课内容回顾
文件目录结构(有标准规定)
根目录 / 家目录 /home/username
增加或删除用户(必须通过root权限)
useradd 低级(更底层)的命令 adduser deluser sudo deluser zhli sudo adduser yli
sudo:以root的身份执行后面的命令
执行时,需要输入这个用户的密码,注意不是root密码
root密码和sudoer的密码都应该足够复杂,并且尽量定期更换。可以把密码写到纸上,放到安全的地方。
在Ubuntu下,只有具有sudo权限的用户(称为sudoer)可以调用sudo。
问题1:有sudo权限的话,可否修改root密码?
问题2:系统管理时,哪些人可以知道root密码?哪些人可以是sudoer?
sudoer很强大,和root是一样的,这也就是我在视频中讲到的篡权的意思,sudoer可以把root密码改掉,然后把其他sudoer权限都取消,这样系统就被劫持了。
另外,sudoer文件有可能会破坏,我感觉还是有root密码比较安全
sudo更安全。直接登录root,然后敲命令,比较危险,有可能会忘了自己是root。前面加一个sudo,会增加一点安全性,麻烦=安全
系统管理员通常都通过sudo来管理,而不是直接用root。一个系统可以有多个管理员,即多个sudoer
上课中出现的权限问题:用户A可以随便访问用户B的所有文件?
原因是:Ubuntu默认的权限设置就是这样的,/home/zhli的权限是drwxr-xr-x,那么others就可以进入目录(x)并读取内容(r) 这样无法实现数据保密 怎么改变这个默认行为呢?
su替换用户
su yli:切换到yli这个用户下。 su :若后面没有参数,默认切换到root账户下。 exit:退出
绝对路径和相对路径
绝对路径:以根目录开始的路径,表示从根目录开始到目标文件的路径
相对路径:从当前目录(不是从根目录开始)到目标文件的路径
相关命令
ls; ls -a;
pwd
cd
touch(创建一个文件;如果一个文件已经存在,就会更新文件的时间)
date, cal, calendar, bc, echo
uname -a
lsb_release -a # 查看系统发行相关信息,LSB(linux standard base)
几个简单命令
uptime:系统启动的时间
hostname:机器名
who:显示当前登录的用户,以及用户从哪里登录进来的ctrl+alt+f7(登录终端)
users:目前有几个用户登录了这个系统
w:和who类似,同时可以显示每个用户在干啥
whoami:写程序的时候会用到
tty7(teletypewriter缩写,7号终端,即图形界面终端);pts/0(pseudo-terminal slave的缩写,虚拟终端:图形终端下的终端应用程序)
命令的语法、man、ls
命令的格式
PS $/# cmd(命令) option(选项) argument(参数) PS: prompt symbol,提示符,通常包括用户名、机器名、当前工作目录等信息,可以通过修改PS1环境变量来设置 # 表示root $ 表示普通用户 命令,对应一个标志符,表示做什么操作 选项:操作方式 参数:操作对象
默认参数的含义
默认的操作对象,类似于函数参数的默认值:double pow(double x, int y=2) $ cd 默认切换到当前用户的家目录下 $ ls 默认看当前目录下的文件信息 $ su 默认切换为root
man的用法
man 3 printf:(synopsis 概要; description 描述)看在线文档
man ls
LS(1)
Name
Synopsis
ls [option]... [file]...可以跟0个到n个选项或者文件)
man pwd
option:可以是长选项(--all)或者是短选项(-a),ls --all和ls -a实现的效果是一样的。
ls的用法
ls -d /home:看目录自身的信息
ls -a /home:
ls -c /home:
ls -l /home:长格式
a、第一个字符d表示文件夹,-表示文件,接下来的连续三个owner的权限,然后三个是group的权限;最后三个是other的权限;
b、24:硬链接数
c、zhenghua:owner
d、zhenghua:group
e、4090:表示文件所占的物理空间,表示的是该目录自身所占内存的大小,不是该目录下所有文件相加所占的空间。
f、mar 26 10:31 :时间信息
g、zhenghua :文件的名字
ls -r,--reverse /home:逆序
ls -R /home:递归显示
ls -S /home:
ls --color=none /home:
ls -h /home:
ls -lh:大小信息
ls -t /home:
文件的时间:create创建时间;modify修改时间;acess访问时间
ls -al:
上课问题讨论
sudo su和su的区别
sudo的意思是,以root的权限做这件事,然后输入当前sudoer的密码,就可以工作 sudo su anotherUserName:以root的权限切换用户,输入自己的密码 su anotherUserName:切换用户,输入anotherUserName的密码 sudo su:切换为root,输入自己的密码(等价于:sudo su root) su:切换为root,输入root的密码(等价于:su root) 如果一个用户是sudoer,那么通过输入自己的用户,就可以做任何事情,没有任何限制,包括切换为root、修改root密码等
2021.9.11
ls的几个选项:
-i, --inode
print the index number of each file
-r, --reverse
reverse order while sorting
-R, --recursive
list subdirectories recursively
rm的
-i (interactive) prompt before every removal
同一个字母表示的选项的含义,对于不同的命令是不同的
linux扩展文件属性:lsattr chattr(sudo权限下做) 在通常情况下,linux下文件具有的属性都是读写和执行;但这些属性属于高层次的文件属性,它和具体的文件文件系统无关。在文件系统这一层,文件同样也具有很多属性,chattr和lsattr指令就是设置和查看基于ext2/ext3文件系统的底层属性。(这段话包括后面的选项解释,都是别人的话,要改写一下) +:在原有参数的基础上,追加参数 -:在原有参数基础上,移除参数 =:更新为指定参数 -a:设定只能想文件中添加数据,而不能删除。 -i:设定后,不能对文件进行删除写入改名等等操作 -R:递归处理 -V:显示执行过程
sudo chattr +i x2 sudo chattr -i x2