Linux 与用户账号有关的系统文件-伪用户技术介绍

Linux 与用户账号有关的系统文件-伪用户技术介绍

什么是伪用户?

Linux系统中,除了真实用户(如root、guest等)、系统用户(如daemon、sys等),还存在一类虚拟用户,即伪用户(pseudo user)。伪用户作为一种特殊的用户身份标识,在系统资源访问控制、运行环境配置等方面具有重要作用。与普通用户和系统用户不同的是,伪用户并没有登录系统的权限和有效的shell,它们主要是用来满足某些进程对文件、目录、设备等资源的属主、组等信息的要求。

Linux伪用户的语法和实操

创建伪用户

在Linux中,创建伪用户的命令格式为:

useradd [options] username

其中,options用于指定不同的选项参数,如:

  • -r:创建系统用户;
  • -d:指定用户家目录;
  • -g:指定用户所属的组等;

下面以创建nobody用户为例,演示如何创建伪用户:

$ sudo useradd -r -d /home/nobody -s /usr/sbin/nologin nobody

这条命令中,使用了-r参数创建系统用户,-d参数指定用户家目录为/home/nobody-s参数指定用户shell为/usr/sbin/nologin,表示该用户无法登录系统。执行完毕后,可以使用以下命令查看创建的伪用户信息:

$ id nobody
uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)

可以看到,创建的nobody用户的UID和GID都是65534,属于nogroup组。这些属性类似于普通用户,并限制了它的文件访问权限。

为伪用户设置权限

除了创建伪用户之外,还可以为其设置不同的权限,以实现更细粒度的访问控制。Linux系统提供了setfacl命令用于设置文件权限,具体语法如下:

setfacl [options] filename/dirname

其中,options用于指定不同的选项参数,如:

  • -m:修改权限;
  • -x:删除权限;

下面以设置nobody用户对/data/user目录有执行权限为例,演示如何为伪用户设置权限:

$ sudo setfacl -Rm u:nobody:x /data/user

这条命令中,使用了-R参数表示递归设置权限,-m参数表示修改权限,u:nobody:x表示让nobody用户拥有对/data/user目录的执行权限。

为伪用户设置密码

为伪用户设置密码可以使其在系统资源访问时具有一定的身份标识,从而保证安全控制的有效性。可以使用以下命令为nobody用户设置密码:

Copy Code$ sudo passwd nobody

执行完毕后,输入两次密码即可完成密码设置。

Linux伪用户之间的区别

Linux系统中,存在多个伪用户,不同的伪用户具有不同的身份标识和权限,主要有以下几种:

伪用户UID/GID描述
nobody65534不拥有任何文件访问权限,用于进程或服务运行
daemon1系统守护进程使用
lp7打印机守护进程使用
mail8邮件守护进程使用
news9新闻守护进程使用
sys3系统程序使用
bin2系统文件拥有者使用

在实际使用中,可以根据需要选择不同的伪用户进行配置和应用。在设置伪用户权限时,需要特别注意避免对系统资源访问产生混乱和安全性问题。

结论

Linux系统中的伪用户是实现访问控制的重要利器。通过设置不同的权限,限制某些用户或程序对文件、目录、进程等的访问权限,从而实现更加灵活和精细的安全管理。此外,不同的伪用户具有不同的身份标识和权限,可以根据实际需要进行配置和应用。需要特别注意的是,在使用和配置伪用户时,需要谨慎处理,以保证系统资源访问的安全性和稳定性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
caozha-order是一个通用的竞价页订单管理系统,基于开源的caozha-admin开发,支持订单管理、订单回收站、产品管理、批量上传订单、批量导出订单(支持导出格式:.xls,.xlsx,.csv)、检测订单重复、竞价页的下单表单调用等功能,内置灵活的查看订单权限设置机制。系统特点:易上手,零门槛,界面清爽极简,极便于二次开发。 系统功能: 1、系统设置 2、管理员管理 3、权限组管理 4、系统日志 5、后台功能地图 6、产品管理 7、订单管理 8、订单回收站:恢复订单、彻底删除订单、清空订单回收站 9、订单查重:检查重复订单、删除重复订单 10、批量上传订单,支持上传的格式:.xls,.xlsx等 11、批量导出订单,可以设置订单导出的任何字段,支持导出格式:.xls,.xlsx,.csv等。单次导出的数量建议20万以下,可以通过按日期筛选导出。 12、内置3套不同风格的下单表单页面,支持调用或内嵌在竞价页上。(如需要不同的风格,可以自己新增或修改) 13、防护设置:支持下单页是否开启验证码,是否防恶意提交(可设置同个IP或手机号X分钟内只能提交N次订单) 14、按产品标识符设置查看订单的权限:可以单独对某个账号设置只能查看某些产品标识符的订单。说明:①此功能可以很方便的开账户给下属或合作商查看订单。②此功能和权限组设置是并列的,可相互搭配使用。 15、支持百万级别以上的订单数据量。当数据量很大,出现明显卡顿的时候,可以到系统设置—》订单列表分页模式-》简洁模式,即可解决问题。 安装使用: 开发环境 本人开发此系统使用的本地环境是:phpstudy8.1集成工具,phpMyAdmin 4.8.5,Apache2.4.39(或Nginx1.15.11),PHP7.3.4,MySQL5.7.26。 事实上,您不需要使用跟以上完全一致的环境也可以正常运行本系统,理论上只要PHP>=7.1即可。如有不兼容,建议模拟本环境测试,并欢迎您提建议和反馈BUG。 快速安装: 1、PHP版本必须7.1及以上。 2、上传目录/Src/内所有源码到服务器,并设置网站的根目录指向运行目录/public/。(此为ThinkPHP6.0的要求) 3、将/Database/目录里的.sql文件导入到MYSQL数据库。(我是用phpMyAdmin 4.8.5导出的sql文件,如有不兼容,建议模拟本环境测试。为了获取更高的性能,建议您使用更高版本的MySQL数据库。) 4、修改文件/config/database.php,配置您的数据库信息(如果测试时启用了/.env,还需要修改文件/.env,系统会优先使用此配置文件)。 5、后台访问地址:http://您的域名/admin/index/login (账号:caozha 密码:123456) 静态设置 1、ThinkPHP框架必须在运行目录下设置静态才能正常访问,否则会显示404错误。 2、如果您使用的是Apache,静态设置为(.htaccess): Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)index.php?s=in dex.php?s=1 [QSA,PT,L] 3、如果您使用的是Nginx,以wdCP和宝塔Linux面板为例,静态设置为: index index.php; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } 4、在网站运行目录(/public/)下,有两个文件:.htaccess和nginx.htaccess,分别是Apache和Nginx的静态文件,您可以直接拿来使用。 更新方法 1.6升级到1.7.1的方法: 1、更新cz_web_config表,执行SQL语句: 2、修改cz_order表结构:①将原字段order_id修改成id。②删除is_check_repeat字段。 3、将1.7.1版/SRC/目录的源文件覆盖旧版本,注意修改数据库配置,还有清空缓存。 1.7.1升级到1.7.2+的方法: 1、执行下面MYSQL命令: ALTER TABLE cz_order CHANGE addtime addtime DATETIME NULL DEFAULT NULL COMMENT '下单时间'; ALTER TABLE cz_product CHANGE updatetime updatetime DATETIME

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹅不糊涂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值