还不太清楚Linux系统中的用户、用户组和权限?

Linux 操作系统为多用户操作系统,多个用户可以同时登录和操作系统并运行自己的任务。Linux 系统中的每一个文件都有一个所有者和所在的用户组,同时还有对应的文件访问权限,以确保系统的安全性和保护用户数据的隐私。本文将详细介绍 Linux 中的用户、用户组和权限。

在 Linux 系统中,每个用户都有一个唯一的标识,即用户 ID(uid)。系统在创建用户时,会自动分配一个 uid。同时,系统中的每个用户也都会被归属到一个或者多个用户组群里,拥有一个主用户组群(用户创建时自动创建同名的用户组),或者和一些其他用户共享其他组(额外的共享组)。

用户都存储在 /etc/passwd 文件中,我们可以通过命令 cat /etc/passwd 查看系统中的所有用户。用户组信息存储在 /etc/group 文件中,可以通过命令 cat /etc/group 查看。

用户

命令介绍 命令行
查看所有用户 cat /etc/passwd  或者 cat /etc/shadow
添加账号 useradd 比如添加 alex 账号: useradd alex
修改密码 passwd 比如修改 alex 账号的密码:passwd alex
修改账号 usermod
删除账号 userdel
查询账号 id 比如查询 alex 的账号:id alex
切换账号 su 比如切换到 alex 账号:su alex

用户组

命令介绍 命令行
查询所有用户组 cat /etc/group 或者 cat /etc/gshadow
添加用户组 groupadd
修改组信息 groupmod
删除用户组 groupdel

命令 含义
groupadd -g 4000 adminuser 新建 adminuser 用户组,且 id 为 4000
useradd -G adminuser natasha 新建 natasha 用户,且 adminuser 作为其附属组
useradd -s /sbin/nologin sarah 新建 sarah 用户,且在系统中没有任何可交互的 shell (不允许该用户登录系统)
useradd -u 123 jay 新建 jay 用户,且 id 为 123
echo redhat | passwd –stdin harry 新建 harry 用户,且密码为 redhat

权限

Linux 的权限系统分为两种:文件权限和进程权限。而说到文件权限,我们需要明确 Linux 中针对文件和目录有三种类型的操作权限:读(r)、写(w)、执行(x)。它们对于文件和目录的含义略有不同:

  • 文件:读权限表示能查看文件内容,写权限表示能修改文件内容或删除文件,执行权限表示能执行文件(如果它是一个程序或者脚本)。
  • 目录:读权限表示能查看目录内容(列出文件名),写权限表示能在目录内创建或删除文件,执行权限表示能进入目录(cd命令)。

进程权限通常为两种:普通用户权限和超级用户(root)权限。超级用户相当于 Windows 系统下的管理员,拥有所有的权限。

  • 读、写、执行

数字表达形式:读(4) 写(2) 执行(1)
字母表达形式:读(r) 写(w) 执行(x)

  • 修改文件权限

chmod 比如修改a文件的权限为最高权限chmod  0777 a
修改aaa文件夹下面所有的文件为最大权限chmod 0777 -R aaa (-R代表递归)
(或者使用chmod -R 777 aaa)

  • 修改资源的所有者

    chown

  • 修改资源所属的用户组

    chgrp

  • 查看权限信息

    ll


[root@iZuf6aig35m8ho0xq75ijnZ wwwroot]# ll
total 8
drwxr-xr-x 4 www www 4096 Jun 23 01:55 default
drwxrwxrwx 9 www www 4096 Jun 23 17:26 www.drling.xin
# 对于 default 文件夹权限的解读
# drwxr-xr-x
# d 表示 default 为文件夹,如果是文件的话前面会是 -
# rwx 第2个字母到第4个字母 代表着文件所有者的权限,也就是说 可读可写可执行
# r-x 第5个字母到第7个字母 表示着文件所在的用户组的其他用户的权限,也就是说 可读不可写可执行
# r-x 第8个字母到第10个字母 表示用户组其他的人的权限,也可以理解成陌生人的权限,也就是说 可读不可写可执行
# 4 代表连接数
# www 第一个 www 代表 default 这个文件所在的用户
# www 第二个 www 代表 default 这个文件所在的用户组
# 4096 代表档案容量
# Jun 23 01:55 代表档案最后被修改的时间
# default 文件夹对应的数字权限为 755

  • 更改 /var/www/test 文件所属者为 harry,所属组为 alex
chown harry:alex /var/www/test
  • 所有人都不能执行 /var/www/test 文件
chmod a-x /var/www/test
  • 为特定用户设定特殊权限
setfacl -Rm u:natasha:rw,u:harry:- /var/www/test

# 查看特定权限
getfacl /var/www/test

su 和 sudo

我们可以使用 sudo 和 su 命令来获得更高的权限:

  • sudo:允许系统管理员允许某些或所有用户以其他用户(包括root)的身份执行一些或所有的指令。
  • su:可以用来切换当前用户身份到其它用户,当系统需要执行高级管理任务时经常需要切换到超级用户。

Linux 操作系统中明确的权限设定和多用户环境设计,有效地隔离了用户之间的影响,极大地保障了系统和数据的安全。理解并熟练使用 Linux 的用户、用户组和权限,将帮助我们更好地使用这个强大的操作系统。

切换用户并执行命令

# 切换成 www-data 用户,并执行 php artisan tinker 命令
sudo -H -u www-data sh -c 'php artisan tinker'

最后说个事
公号算法变了,为防止看不到我的更新
大家帮忙加个星标
点击上方的公众号卡片
再点右上角三个点
就能看到设为星标
算我跪下来求你们

作者简介:

95后某跨境电商企业程序猿,白天搬砖码代码,晚上自媒体写文章,持续更新编程、科技、互联网相关文章,偶尔也会无痛呻吟,感慨人生百态。自己淋过雨,所以也想为别人撑撑伞。

往期精选:

微信上的这3个隐藏“标志”,代表有人喜欢你,一眼便知

微信,看看你的另一半跟谁聊天频繁!

微信上已删除的聊天记录,用这几种方式就可以恢复啦!

让你的微信“拍一拍”有趣且不失风度

微信年度账单来了,不敢看!

还在使用默认的微信图标?赶紧换个吧!

我的微信和你们的不一样!?

原文始发于微信公众号(浅墨觅尘往):还不太清楚Linux系统中的用户、用户组和权限?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/222095.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!