我想在centos7上创建一个具有只读权限的帐户 即使在谷歌搜索后,也没有办法创建一个具有只读权限的帐户。我想知道如何创建一个没有文件写入权限而只有读取权限的帐户。
答案1
问题不清楚; Linux 中的帐户不是只读的。
我假设您正在询问以下问题之一:
- 创建无法登录的帐户
- 创建一个帐户能已登录,但其他用户无法修改该用户主目录下的文件
- 创建一个帐户能已登录,但用户被限制写入其他文件夹。
1.创建一个无法登录的帐户
这可以通过将用户的 shell 设置为 来完成/bin/false
。这通常用于创建系统帐户来运行进程,但该帐户不可用于登录。默认情况下,仍将为此类用户添加主文件夹,尽管在大多数情况下这是不切实际的,除非您还指定--no-create-home
.我还喜欢设置--inactive 0
“密码过期后立即禁用帐户”的选项。
sudo useradd --system --no-create-home --inactive 0 --shell /bin/false NAME_OF_USER
使用账号时,一般还需要设置密码。仅此一项并不允许登录到 shell,但是做允许该帐户用于本地身份验证,并允许您使用该帐户运行进程等。
要为新帐户设置密码(从您的正常金额或从帐户root
):
sudo passwd NAME_OF_USER
2. 创建一个帐户能已登录,但其他用户无法修改该用户主目录下的文件
应创建用户的主文件夹,使用户成为所有者并且拥有该文件夹的 rwx 权限;否则,用户设置密码后也无法正确登录。如果我没记错的话,在这种情况下图形会话是不可能的,但我认为从终端登录是可能的,它只会生成错误并暂时(对于该会话)将用户主页更改为临时位置(至少,我记得这是由于几年前的错误配置而发生的事情)。
您可以更改您所拥有的文件夹的权限。因此,如果您想阻止“其他”用户修改您的文件但仍允许读取,您可以使用:
chmod -R o-w ~
该-R
选项指示更改应递归应用到所有子文件夹和文件。表明o-w
我们想要消除这w仪式许可哦他们的用户。最后,~
是您自己的主文件夹位置的简写。
实际上,我建议防止对主文件夹下的大多数子文件夹进行读取访问,尤其是隐藏的“点”文件夹,否则~/.mozilla
用户可以制作子文件夹的完整副本,包括任何存储的密码。
要禁用您的主文件夹下其他用户的所有访问权限:
chmod -R o-wrx ~
这与之前的命令基本相同,只是除了写入权限之外,我们还删除了r和 eX也为其他用户授予权限。
最后,您可以在文件中设置“umask”值~/.bashrc
来定义用户创建的任何新文件或文件夹的启动权限(这主要适用于在终端中创建的文件...文件管理器等图形应用程序可能不尊重您的权限umask 设置)。
# new dirs => 770
# new files => 660
umask 0007
由于这已经是一个很长的答案,并且 umask 有点复杂,因此我不会在这里深入讨论。您可以在这里找到有关 umask 的更多信息:https://www.computernetworkingnotes.com/rhce-study-guide/how-to-change-default-umask-permission-in-linux.html
3. 创建一个帐户能已登录,但用户被限制写入其他文件夹。
如果您不希望其他用户(例如来宾帐户)能够访问某些文件夹,您只需更改与第二部分类似的权限,但来自不同的帐户。
例如,如果您有用户“main”和用户“guest”,并且您不希望 guest 能够写入用户 main 拥有的文件夹“/media/shared-stuff”。
首先,以“main”身份登录,然后
chmod -R o-w /media/shared-stuff
这还假设您尚未将文件夹的组更改为这两个用户所属的组。默认情况下,该组应与您的用户名相同,并且您将是该组中唯一的人。但是,如果您使用chown
或chgrp
更改哪个组被视为所有者,并且用户“来宾”是该组的一部分,那么您需要执行以下操作以防止他能够写入:
chmod -R gw /媒体/共享的东西
这与之前基本相同,但不是取消对的写权限哦这些用户,我们正在将其从G组