服务器安全之用户权限控制

为了安全考虑,对于用于生产环境的服务器来说,用户的权限控制是十分必要的。

Linux用户文件权限

chmod

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)用户组(Group)其它用户(Other Users)

只有文件所有者和超级用户可以修改文件或目录的权限。

SpxImage

权限的三种表示方法

十进制权限rwx二进制
7读 + 写 + 执行rwx111
6读 + 写rw-110
5读 + 执行r-x101
4只读r–100
3写 + 执行-wx011
2只写-w-010
1只执行–x001
0000

对应的示意图:

SpxImage

语法

1
chmod [-cfvR] [--help] [--version] mode file...

参数说明

mode : 权限设定字串,格式如下 :

1
[ugoa...][[+-=][rwxX]...][,...]

其中:

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
  • + 表示增加权限,- 表示取消权限,= 表示唯一设定权限。
  • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

其他参数说明:

  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f : 若该文件权限无法被更改也不要显示错误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
  • --help : 显示辅助说明
  • --version : 显示版本

实例

将文件 file1.txt 设为所有人可读取 :
1
chmod ugo+r file1.txt

1
chmod a+r file1.txt
将文件 file1.txtfile2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
1
chmod ug+w,o-w file1.txt file2.txt
ex1.py 设定为只有该文件拥有者可以执行 :
1
chmod u+x ex1.py
将目前目录下的所有文件与子目录皆设为任何人可读取 :
1
chmod -R a+r *
此外chmod也可以用数字来表示权限如 :
1
chmod 777 file

用户组管理

1
chown -R git.git /var/www/blog/   #授予git.git为/var/www/blog/的管理者

查看当前目录下所有文件的用户组和权限

1
ls -al

Git用户权限控制

赋予git用户sudo权限

1
chmod 740 /etc/sudoers
1
vim /etc/sudoers

可以看到以下内容:

1
2
# User privilege specification
root ALL=(ALL:ALL) ALL

root ALL=(ALL:ALL) ALL 这一行下面添加 {Git用户名} ALL=(ALL:ALL) ALL

保存退出后,修改回文件权限:

1
chmod 440 /etc/sudoers

关闭git用户shell权限

1
vim /etc/passwd

将最后一行的 {git用户名}:x:1001:1001:,,,:/home/git:/bin/bash 修改为 {git用户名}:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

,也即将/home/git:/bin/bash改为/home/git:/usr/bin/git-shell

配置 SSH

1
2
3
4
cd /home/{账户名称}               //切换到需要修改的账户的用户目录
mkdir .ssh //创建.ssh目录
cd .ssh
vim authorized_keys

然后将本地的公钥复制到 authorized_keys 文件里 (公钥即本地执行 cat ~/.ssh/id_rsa.pub 查看的内容,若无法运行则需创建)。

注意:收集所有需要登录的用户的公钥,就是他们自己的 id_rsa.pub 文件,把所有公钥导入到 /home/git/.ssh/authorized_keys 文件里,一行一个。

这样就可以免密码直接使用改该账户通过ssh登录了。

如果有必要,还应该关闭所有用户的密码登录,选择密钥登录,并使用跳板机,fail2ban等工具来加强安全性,并定期检查账号登录日志,防患于未然。

本文标题:服务器安全之用户权限控制

文章作者:Pwner

发布时间:2020年09月20日 - 13:09

最后更新:2020年09月20日 - 13:09

原始链接:https://pwner.cn/posts/8a17f28.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Buy me a cup of coffee.