即使今天稍微乱了一点,想早回家,不能中断练习。所以吃粒奶酪条,接着打开页面。先复习上次的最后1P视频,也就是新建用户的熟悉练习。
03.用户管理
提示:创建用户 / 删除用户 / 修改其他用户密码 的终端命令都需要通过
sudo
执行
3.1 创建用户/设置密码/删除用户
参看命令表格,相关命令及作用和说明
再对文件进行练习
。
提示:
- 创建用户时,如果忘记添加
-m
选项指定新用户的家目录 —— 最简单的方法就是删除用户,重新创建- 创建用户时,默认会创建一个和用户名同名的组名
- 用户信息保存在
/etc/passwd
文件中
3.2 查看用户信息
先上手Ubuntu
可以看到,“lisi”的组信息为
用户代号,群组代号,分别为1002:1001.
查看用户的命令表
其中passwd文件中存放的内容分别是这几类。
然后根据老师讲解的who命令,进行测试,使用fileZilla连接服务器,使用lisi账号,再使用Ubuntu查看当前登录账户。发现这里还是
同时,我使用了一个git的工具,发现无法使用ssh登入虚拟服务器,遭到拒绝。
秉持着山不转水转的道理,下载了Xshell,进行妥协测试。也就是看看这个登录是否能够完成who的测试。
下载安装调缓存非常快,先进行登录。虽然和文件传输软件Filezilla登入方式非常像,我还是注意到,这里是ssh用户身份验证。如果这个可以的话,说明文件传输,并没有进行登入操作,只是通过使用用户的访问文件权限。
好的,结果显示,确实是登录上lisi用户,并且可以完成新建文件夹操作。再去Ubuntu上测试一下当前用户。
测试结果证明,确实是能够显示。进入下一部分,对于usermod的学习。
usermod
-
usermod
可以用来设置 用户 的 主组 / 附加组 和 登录 Shell,命令格式如下: - 主组:通常在新建用户时指定,在
etc/passwd
的第 4 列 GID 对应的组 - 附加组:在
etc/group
中最后一列表示该组的用户列表,用于指定 用户的附加权限
提示:设置了用户的附加组之后,需要重新登录才能生效!
# 修改用户的主组(passwd 中的 GID)
usermod -g 组 用户名
# 修改用户的附加组
usermod -G 组 用户名
# 修改用户登录 Shell
usermod -s /bin/bash 用户名
注意:默认使用
useradd
添加的用户是没有权限使用sudo
以root
身份执行命令的,可以使用以下命令,将用户添加到sudo
附加组中
练习发现,确实没办法新建用户。
这里重启的时候,再次使用ssh命令,也就是ssh zhangsan@主机IP地址那个,输错密码后给了一个拒绝的提示。想到上面的git软件。想再次测试一下。
还是不行,用ssh使用xshell软件也不行,也被拒绝了,怀疑和git是同一类问题。有机会再查查吧。这里标记一下。
接着进行下一个。修改登录方式。
完成登录后,这边切换一下lisi的登入。【之前删除和上下键都没法实现,出现^A啊^H啊这样子的编码】
视频中老师的ssh命令登入方式确实就是可以的。
因为回家有点事情,这里切出,学习一半,明天再完成剩下的一半。先把笔记做好。
来自废鱼的忏悔,人生总是在做不断的选择,而剩余的时间则是用来对所做的选择进行负责。昨天选择了拖延,今日则会感到懊悔。快过年了,逃避也好,直面也好。麻烦做个决断吧。
2019/12/04 -2019/12/07
我鸽了这么多天没有开始,我认错。感冒着凉是对我的最好惩罚,也让自己头脑清醒一点,数据分析不要停,多学习多看书多输出,少沉浸虚幻少自我抱怨。今日份学习是补上这部分和80-90,老规矩,先复习75,然后76-80。
usermod -G sudo 用户名
which(重要)
这里老师解释了一下,为什么,passwd保存用户信息还需要有单独的程序呢,因为文件无法执行,一个是保存,一个是修改。
而我们的which选手,可以查看命令所在位置,举个实例
终端中显示命令passwd的位置
提示
/etc/passwd
是用于保存用户信息的文件/usr/bin/passwd
是用于修改用户密码的程序
-
which
命令可以查看执行命令所在位置,例如:
which ls
# 输出
# /bin/ls
which useradd
# 输出
# /usr/sbin/useradd
练习ls 和 useradd的查看和位置显示
bin
和 sbin
- 在
Linux
中,绝大多数可执行文件都是保存在/bin
、/sbin
、/usr/bin
、/usr/sbin
-
/bin
(binary
)是二进制执行文件目录,主要用于具体应用 -
/sbin
(system binary
)是系统管理员专用的二进制代码存放目录,主要用于系统管理 -
/usr/bin
(user commands for applications
)后期安装的一些软件 -
/usr/sbin
(super user commands for applications
)超级用户的一些管理程序
提示:
cd
这个终端命令是内置在系统内核中的,没有独立的文件,因此用which
无法找到cd
命令的位置
3.3 切换用户
实例如左侧,当时张三的密码设置忘了,就直接用了lisi了。
直接用 - 就是管理员权限,可我忘了root的密码了,(死脑筋)。诶,只能用老师的了。
这是老师的练习,可以看出来确实是返回了root的权限。
04. 修改文件权限
修改权限的三个命令,多练几次就熟悉了。
- 命令格式如下:
# 修改文件|目录的拥有者
chown 用户名 文件名|目录名
# 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名
# 递归修改文件权限
chmod -R 755 文件名|目录名
光说不练不行的,所以接着练习。
改文件 chown 改组 chgrp ,实例如下
-
chmod
在设置权限时,可以简单地使用三个数字分别对应 拥有者 / 组 和 其他 用户的权限
# 直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他
chmod +/-rwx 文件名|目录名
这两张图的意思是,“7 5 5”分别代表 拥有者 组 其他 三种角色的权限,而7、5这数字代表可读可写可执行的是否有,也就是第二张表的码。
- 常见数字组合有(
u
表示用户/g
表示组/o
表示其他):
-
777
===>u=rwx,g=rwx,o=rwx
-
755
===>u=rwx,g=rx,o=rx
-
644
===>u=rw,g=r,o=r
chmod 后面那个对应数字的意义。接下来是chmod的演练。
演练2