第三节 用户及文件权限管理
Linux用户管理
Linux是可以实现多用户登录的操作系统
- 查看用户
who命令用于查看用户
shiyanlou
是当前登录用户的用户名
pts/0
中pts
表示伪终端,后面的数字表示伪终端的序号。
后面是当前伪终端启动时间
- 创建用户
创建用户需要root权限,root权限在Linux中具有至高无上的权力,这里就需要用到sudo命令,使用该命令有两个前提:知道当前登录用户的密码、当前用户必须在sudo用户组。
su <user>
可以切换用户,需输入密码(Linux里输入密码是不显示的)
sudo <cmd>
可以以特权级别运行cmd命令,需要当前用户属于sudo组,且需要输入当前用户密码。比如:sudo adduser lilei
创建一个叫lilei的用户。
su - <user>
也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。比如:su -l lilei
就可以切换到lilei用户登录。
退出当前用户和退出终端一样,可以使用exit
和快捷键ctrl+d
- 用户组
- 查看所属用户组
方法一:使用groups命令
冒号之前表示该用户,冒号之后表示该用户所属用户组。如图,shiyanlou用户属于shiyanlou用户组,每次新建用户,如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组
方法二:查看/etc/group文件
cat命令用于读取指定文件内容并打印到终端输出。| sort
表示将读取的文本进行一个字典排序再输出。最下面可以看到shiyanlou的用户组信息。也可以用以下方式过滤后再输出。
etc/group文件格式说明
group_name:password:GID:user_list
将其它用户加入sudo用户组
使用usermod
命令可以为用户添加用户组,使用该命令必须有root权限。
以上是使用sudo用户组里的用户shiyanlou执行sudo命令将lilei添加到sudo用户组。也可直接使用root用户为其它用户添加用户组。
- 删除用户
Linux文件管理
- 查看文件权限
用ls
命令来列出并显示当前目录下的文件
- 文件类型
关于文件类型,这里有一点你必需时刻牢记Linux 里面一切皆文件,正因为这一点才有了设备文件( /dev 目录下有各种设备文件,大都跟具体的硬件设备相关)这一说,还有 socket(网络套接字),和 pipe (管道)。软链接文件,链接文件是分为两种的,另一种当然是“硬链接”(硬链接不常用,具体内容不作为本课程讨论重点,而软链接等同于 Windows 上的快捷方式
- 文件权限
读权限,表示你可以使用
cat
之类的命令来读取某个文件的内容。写权限,表示你可以编辑和修改某个文件。执行权限,通常指可以运行的二进制程序文件或者脚本文件。一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件。所属用户组权限,是指你所在的用户组中的所有其它用户对于该文件的权限。
- 链接数
链接到该文件所在的 inode 结点的文件名数目。
- 文件大小
以 inode 结点大小为单位来表示的文件大小。
可以用 ls 加上 -lh 参数来更直观的查看文件的大小。
ls
命令的其它用法
-
ls -A
显示除了 '.'(当前目录),'..' 上一级目录之外的所有包含隐藏文件(Linux 下以 '.' 开头的文件为隐藏文件) -
ls -dl <目录名>
查看某一个目录的完整属性,而不是显示目录里面的文件属性 -
ls -AsSh
显示所有文件大小,并以普通人能看懂的方式呈现,其中小 s 为显示文件大小,大 S 为按文件大小排序
- 变更文件所有者
- 修改文件权限
方式一:二进制数字表示
方式二:加减赋值操作
‘g’‘o’还有’u’,分别表示group(所属用户组),others(其他用户),user(拥有者),’+’,’-’ 就分别表示增加和去掉相应的权限"w"(写权限)"r(读权限)"x"(执行权限)
作业
添加一个用户loutest,使用sudo创建文件/opt/forloutest,设置成用户loutest可以读写。截图并把操作过程写入实验报告。
提示: 如何创建一个文件呢?可以考虑 touch 命令,这个命令可以创建一个空文件。