Linux 用户管理以及Linux 权限管理
1. Linux 用户管理
1.1 查看用户
请打开终端,输入命令:
who am i 或者who mom likes
要查看当前登录用户的用户名,去掉空格直接使用 whoami
即可
1.2 创建用户
在 Linux 系统里, root 账户拥有整个系统至高无上的权利,比如 新建/添加 用户。
一般我们登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo 这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。
- 新建一个叫shell 的用户
sudo adduser shell
- 输入密码(Linux 下密码输入是不显示任何内容的)
- 这个命令不但可以添加用户到系统,同时也会默认为新用户在 /home 目录下创建一个工作目录
ls /home
- 已经创建好一个用户,并可以使用新建的用户登录了,切换登录用户
su -l shell
,输入密码即可。
- 退出当前用户跟退出终端一样,可以使用 exit 命令或者使用快捷键 Ctrl+D。
1.3 用户组
在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源;当然一个用户是可以属于多个用户组的。
- 查找自己属于哪些用户组
groups shiyanlou
其中冒号之前表示用户,后面表示该用户所属的用户组。
(每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组) - 查看 /etc/group 文件
cat /etc/group | sort
或者cat /etc/group | grep -E "shiyanlou"
- 将其它用户加入 sudo 用户组
默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限
groups lilei
sudo usermod -G sudo lilei
grops lilei
1.4 删除用户和用户组
- 删除用户
使用 --remove-home 参数在删除用户时候会将该用户的工作目录一并删除sudo deluser lilei --remove-home
; 如果是sudo deluser lilei
,那么系统会自动在 /home 目录为该用户保留工作目录。 - 删除用户组
可以使用 groupdel 命令,倘若该群组中仍包括某些用户,则必须先删除这些用户后,才能删除群组。
2. Linux 文件权限
文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。在 Unix/Linux 中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
2.1 查看文件权限
使用较长格式列出文件:
ls -l
-
文件类型和权限
- 文件大小
可以给 ls 加上 -lh 参数来更直观的查看文件的大小。
2.2 变更文件所有者
- 切换到 lilei 用户,然后在 /home/lilei 目录新建一个文件,命名为 iphone11。该文件的所有者为lilei。
su - lilei
pwd
touch iphone11
ls -alh iphone11
- 切换回到 shiyanlou 用户,使用以下命令变更文件所有者为 shiyanlou。
exit
cd /home/lilei
ls iphone11
sudo chown shiyanlou iphone11
- 查看文件所有者
ls -alh iphone11
2.3 修改文件权限
若一个文件不被其他用户读、写、执行,那就需对文件的权限进行修改。文件的权限有两种表示方式:二进制数字表示和加减赋值操作。
- 二进制数字表示
每个文件有三组固定的权限,分别对应拥有者,所属用户组,其他用户,记住这个顺序是固定的。文件的读写执行对应字母rwx
,以二进制表示就是111
,用十进制表示就是7
,对进制转换不熟悉的同学可以看看 进制转换。例如我们刚刚新建的文件 iphone11 的权限是rw-rw-rw-
,换成对应的十进制表示就是 666,这就表示这个文件的拥有者,所属用户组和其他用户具有读写权限,不具有执行权限。
先写东西,再修改权限
echo "echo \"hello shiyanlou\""
chmod 600 iphone11
ls -alh iphone11
切换到 lilei 用户,尝试写入和读取操作,可以看到 lilei 用户已经不能读写这个 iphone11 文件了。
- 加减赋值操作
g、o 还有 u 分别表示 group(用户组)、others(其他用户) 和 user(用户),+ 和 - 分别表示增加和去掉相应的权限。chmod go-rw iphone11
3. 其他
adduser与useradd
useradd 只创建用户,不会创建用户密码和工作目录,创建完了需要使用 passwd <username> 去设置新用户的密码。adduser 在创建用户的同时,会创建工作目录和密码(提示你设置),做这一系列的操作。
作业
添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写。截图并把操作过程写入实验报告。