前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10. Linux 介绍与工具使用(七:查看、创建、编辑用户)

10. Linux 介绍与工具使用(七:查看、创建、编辑用户)

作者头像
北野茶缸子
发布2021-12-17 09:30:02
4820
发布2021-12-17 09:30:02
举报
文章被收录于专栏:北野茶缸子的专栏

拥有了自己的服务器,其中很重要的一步就是配置用户。毕竟要都是root 的话,删库跑路警告!

查看用户

image.png

代码语言:javascript
复制
$ who am i
mugpeng  ttys000  Aug 20 19:43 
(base) mugpengdeMacBook-Pro:~ mugpeng$ who mom likes
mugpeng  ttys000  Aug 20 19:43 

root 用户

★root 权限,系统权限的一种,与 SYSTEM 权限可以理解成一个概念,但高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到 root 权限,这个操作等同于在 Windows 下就是将新建的非法帐户添加到 Administrators 用户组。更比如安卓操作系统中(基于 Linux 内核)获得 root 权限之后就意味着已经获得了手机的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。 ”

一般默认的登陆账户为普通用户。通过 su usersu - user (更改为切换用户的工作目录与环境)切换用户。或属于sudo 组用户使用 sudo 使用特权命令。

新建用户

代码语言:javascript
复制
# 新建用户
sudo adduser lilei
# 更改用户密码
sudo passwd lilei 

接着可以查看新用户,并退出。

adduser 与useradd

image.png

用户组

查看用户组

方法一

代码语言:javascript
复制
groups xxx
xxx : xxx

冒号之前表示用户,后面表示该用户所属的用户组。

方法二

代码语言:javascript
复制
cat /etc/group | grep -E "xxx"

而通常来说显示的密码 x 表示密码不可见罢了,并非真的是它。

加入root 用户组

默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限。

代码语言:javascript
复制
$ sudo usermod -G sudo hhh

image.png

删除用户及用户组

--remove-home 会删除用户对应的工作目录。

代码语言:javascript
复制
$ sudo deluser lilei --remove-home

删除用户组使用 groupdel

解读权限编码信息

代码语言:javascript
复制
-rw-r--r--
drwx------

其中第一个字符 表示 对象的类型:

代码语言:javascript
复制
-  表示文件
d 表示目录
l 表示链接
c 表示字符型设备
b 表示块设备
n 表示网络设备

之后有3组三字符的编码。每一组定义了三种访问权限:

代码语言:javascript
复制
r 表示对象是可读的
w 表示对象是可写的
x 表示对象是可执行的
若没有某种权限,则会在该权限位置出现单破折号。

3组 权限分别对应对象的3个安全级别:

代码语言:javascript
复制
对象的属主
对象的属组
系统其他用户

变更文件所有者

将xxx 文件所有者变更为user。

代码语言:javascript
复制
$ sudo chown user xxx

编辑文件权限

umask

使用touch 或mkdir 创建文件,会默认设置文件的权限。

代码语言:javascript
复制
mugpengdembp:test mugpeng$ ls -l
total 0
-rw-r--r--  1 mugpeng  wheel   0 Jun  9 11:20 test1
drwxr-xr-x  2 mugpeng  wheel  64 Jun  9 11:20 test2
  • 表示文件,d 表示目录。

这些权限从何而来呢?是通过umask 设置的。我们可以直接输入umask 查看默认权限的设置。

代码语言:javascript
复制
$ umask
0022

其中第一位代表了粘着位 sticky bit 的安全特性。而后面三位表示文件或目录对应的umask 八进制值。也就是将三字符的权限的3组内容转化为八进制的三个数字。

代码语言:javascript
复制
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7

因此对于文件来说,全权限的值为666,而对目录来说,则是777

而我们创建的文件可以转为八进制表示644

但是,我们创建的文件权限却和默认的022 不同。这是因为umask 值只是一个掩码。它会屏蔽掉不想授予权限的文件。因此我们需要将umask 值从对象的全权限值中减掉。如开始的文件权限本来为666,在umask 为022下,需要进行减法,因此它的实际权限为644

我们可以使用umask xxx 为其指定一个新值。此时创建的文件其权限已更为640

代码语言:javascript
复制
$ umask 026
$ ls -l test3
-rw-r-----  1 mugpeng  wheel  0 Jun  9 11:41 test3

chmod

chmod 命令可以用来改变文件的权限。

代码语言:javascript
复制
chmod options mode file

mode 参数可以自定义为八进制模式还是符号模式进行安全性设置。默认下为八进制权限码。

代码语言:javascript
复制
-rw-r-----  1 mugpeng  wheel   0 Jun  9 11:41 test3
$ chmod 760 test3
-rwxrw----  1 mugpeng  wheel   0 Jun  9 11:41 test3

符号模式安全设置

对于chmod 的符号模式下的安全设置,则略显复杂。chmod [ugoa] [+-=] [rwxXstugo]其中

代码语言:javascript
复制
u 表示用户
g 表示组
o 代表其他
a 代表ugo 全部
+ 表示增加权限
- 表示移除权限
= 表示将现有权限修改为后面新值
X 表示若对象是目录或已有执行权限,则赋予执行权限
s 表示运行时重新设置UID 或GID
t 表示保留文件或目录

比如

代码语言:javascript
复制
-rwxrw----  1 mugpeng  wheel   0 Jun  9 11:41 test3
$ chmod o+r test3
-rwxrw-r--  1 mugpeng  wheel   0 Jun  9 11:41 test3

练习题

image.png

代码语言:javascript
复制
# 创建用户
$ sudo adduser loutest
# 将用户加入sudo 组
$ sudo usermod -G sudo loutest
# 切换用户
$ su -l loutest
# 创建文件即可
$ sudo touch /opt/forloutest
$ ls /opt/ | grep 'forloutest'
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 北野茶缸子 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查看用户
    • root 用户
      • 新建用户
        • adduser 与useradd
      • 用户组
        • 查看用户组
        • 加入root 用户组
        • 删除用户及用户组
    • 解读权限编码信息
      • 变更文件所有者
      • 编辑文件权限
        • umask
          • chmod
            • 符号模式安全设置
        • 练习题
        相关产品与服务
        访问管理
        访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档