Linux权限管理
Contents
Linux权限管理
Linux系统下对于用户和文件的权限有着严格的规定,我们首先回顾Linux下的用户管理
用户管理
- 涉及四个文件,主要需要修改passwd文件
文件 含义 /etc/shadow 加密的用户账户信息 /etc/passwd 用户账户信息 /etc/gshadow 隐藏的组账户信息 /etc/group 定义了用户属于哪个组 /etc/sudoers 定义了可以运行sudo的用户和用户组
用户组管理
groups username
查看用户所属的组,如果省略用户名,则显示当前id username
查看用户UID和相关组的UIDgroupadd 选项 组名
添加一个用户组-g
指定用户组编号GID-o
表示新用户组的GID可以和老用户组相同
groupdel 组名
删除一个用户组groupmod 选项 组名
- 除了add之外的参数,多了一个
-n
表示重命名
- 除了add之外的参数,多了一个
gpasswd -a username gname
将用户添加到组newgrp 组名
如果一个用户同时属于多个用户组,使用此命令可切换组
用户组的存在是为了方便用户管理对他人的权限,避免对除自己之外的其他所有用户赋予相同的权限 可通过1查看默认用户组及权限
用户添加
who
可查看已登陆的用户sudo passwd -Sa
查看系统上的用户useradd
命令,可通过man useradd
查看用法参数 含义 -d 目录 指定一个用户目录,若目录不存在,需要-m参数创建主目录 -g 用户组 指定用户所属的用户组 -G 用户组,用户组 指定用户所属的附加组 -s shell 指定用户登录的shell -u 用户号 指定用户的用户号 -m 自动建立用户的登录目录 -M 不自动建立用户的登录目录 -n 不自动建立以用户名为名的用户组
- 新建一个普通用户
1 2
useradd -d /home/username -s /bin/bash -m username passwd username
- 新建一个管理员用户
1 2 3 4
# 在sudoers 中将sudo组设为sudo权限(参照取消注释之后的wheel组) useradd -d /home/username -s /bin/bash -g sudo -m username passwd username # 或者直接将该用户设为sudo权限
用户删除
userdel
命令,删除用户,加-r
参数也删除用户主目录
用户修改
usermod
命令,参数与useradd
一致,含义变为修改
修改
/etc/sudoers
文件,为用户添加sudo
权限,添加如下
1
username ALL = (ALL) ALL
用户密码管理
passwd 选项 用户名
-l
锁定账号,禁止登陆-u
解锁账号-d
使账号无密码,同时不能登陆-f
强迫用户下次登陆时修改密码
权限管理
- Linux系统上对文件的权限有着严格的控制,如果想对某个文件执行某种操作,必须具有对应的权限方可执行成功。
- Linux下文件的权限类型一般包括读,写,执行。对应字母为r、w、x。
- Linux下权限的粒度有拥有者 、群组 、其它组三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。
- 通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组 我们以下图为例来讲解Linux下的文件权限
若是文件夹,则type为
d
,否则为-
文件归属修改
chgrp [-R] 属组名 文件/文件夹
可以修改其属组,-R
参数会递归修改该目录下所有文件属组chown [-R] 用户名 文件/文件夹
/chown [-R] 用户名:属组名 文件/文件夹
修改文件的所属用户和组别
文件权限修改
- Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。
- 根据上图可以看出文件的权限字符为: -rwxrwxrwx , 这九个权限是三个一组的
- 文件的权限修改主要利用
chmod
命令,我们可以使用下图的方式利用符号来管理文件权限
例如我们要将文件权限修改为
rwxr-xr--
可以使用命令chmod u=rwx g=rx o=r 文件/文件夹
假如我们想对某个用户加减某种权限,也可以通过这种方式进行
chmod -R
R参数可以递归处理目录下的文件和文件夹
- Linux文件权限同样也可以通过数字来管理。各权限的分数对照表如下:
- r:4
- w:2
- x:1
- 每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:
-rwxrwx---
时,分数为:770
如果我们需要修改权限,可以使用’chmod xyz 文件/文件夹’,
xyz
代表三个数字