在CentOS系统中,添加只读用户是一个常见的操作,特别是在需要限制某些用户权限以增强系统安全性的情况下,以下是如何在CentOS中添加只读用户,包括详细的步骤和注意事项。

准备工作
在添加只读用户之前,请确保您具有root权限或者当前用户已经通过sudo命令获得了root权限。
创建只读用户
创建用户 使用
useradd命令创建一个新用户,以下是一个示例:sudo useradd -m -d /home/readonly -s /bin/false readonlyuser
-m参数用于创建用户的家目录。-d参数指定用户的家目录路径。-s参数指定用户的登录shell,这里使用/bin/false来禁止用户登录。
设置用户密码 为了让用户能够使用该账户,需要为其设置密码,使用
passwd命令:sudo passwd readonlyuser
输入两次相同的密码来设置。
配置文件权限
为了确保用户只能读取文件,需要调整文件和目录的权限。
设置文件权限 使用
chmod命令设置文件权限,将/var/www/html目录的权限设置为只读:sudo chmod 444 /var/www/html
这将使得该目录下的所有文件对所有用户都不可写。

设置目录权限 如果需要用户能够列出目录内容,但无法创建或删除文件,可以使用以下命令:
sudo chmod 555 /var/www/html
设置用户环境变量
为了防止用户通过环境变量来修改文件,可以设置环境变量使其指向不存在的文件。
设置环境变量 编辑用户的
~/.bashrc文件,添加以下内容:export PATH=/bin:/usr/bin:/usr/local/bin export MANPATH=/usr/share/man:/usr/local/share/man
这将确保用户的PATH和MANPATH变量指向了标准路径,从而避免使用其他可能包含只读文件的环境变量。
测试只读用户
登录用户 使用新创建的用户登录系统,尝试执行写操作。
su - readonlyuser
执行写操作 尝试创建一个新文件或修改现有文件。
touch testfile.txt
或者

echo "Hello, World!" > testfile.txt
如果操作失败,系统会提示权限不足,这表明只读设置正确。
FAQs
为什么设置/bin/false作为登录shell?
使用/bin/false作为登录shell是为了确保用户无法登录系统,即使设置了密码,由于shell是假的,用户也无法执行任何操作。
如何撤销只读设置?
如果需要撤销只读设置,可以使用以下命令:
sudo chmod 755 /var/www/html
这将允许用户在目录中创建和删除文件,同样,可以修改文件的权限以允许写操作:
sudo chmod 666 /var/www/html/*.txt
通过以上步骤,您可以在CentOS系统中成功添加一个只读用户,并确保其权限得到严格控制。
