sudo命令和Linux文件系统权限管理
sudo:
- 1、设置用户在某台机器上运行某些命令
- 2、sudo提供了丰富的日志,详细记录每个用户干了什么
- 3、通行证作用,免验证时间
- 4、/etc/sudoers
如何使用sudo命令完成指令
1、编辑/etc/sudoers, 使用visudo编辑
2、用户需要是登录用户,并且启用密码
3、在普通用户下 sudo commond username
练习,创建新用户 user1, 让它能够使用useradd命令添加用户user2
Linux文件系统权限管理
1、权限对象
- 1、owner:文件拥有者
- 2、group:用户组
- 3、others:非文件拥有者,或者是用户组以外的人,其他人
2、权限类型 rwx
属主 | 数组 | 其他 |
---|---|---|
r w x | r w x | r w x |
4 2 1 | 4 2 1 | 4 2 1 |
r:读权限,w:写权限,x:执行权限
权限类型基于UGO,user group other 9位
- 例如:r-x r-x r-x 数字表达555
既属主,属组,其他都有读权限和执行权限。
写出下列数字代表的权限:
- 664 ____ r w - r w - r- -
- 644 ____ r w - r - - r - -
- 755 ____ r w x r - x r - x
- 700 ____ r w x - - - - - -
- 600 ____ r w - - - - - - -
3、对于文件或目录而言的 r w x 权限。
对于文件而言
- r:可以获取文件的数据
- w:可以修改文件的数据
- x:可以将此文件运行成为进程
对于目录而言
- r:可以使用ls命令获取目录下的文件列表
- w:可以修改此目录下的文件列表,可以创建或者删除文件
- x:可以cd到此目录下,并且可以使用ls -l来获取文件的详细属性信息
文件权限判断逻辑
1、删除文件:对文件所在目录有W权限
- 判断用户的身份,用户以什么身份去删除文件,owner—>group—>others
- 如果是目录的属主:目录权限位的左三位需要有w权限,若有则成功,无则失败
- 如果不是目录的属主,是属组,目录权限位中三位需要有w权限,若有则成功,无则失败
- 如果是其他人,目录权限位中的右三位需要有w权限,若有则成功,无则失败
2、新建文件:对文件所在目录有W权限
- 判断用户的身份,用户以什么身份去新建文件,owner—>group—>others
- 如果是目录的属主:目录权限位的左三位需要有w权限,若有则成功,无则失败
- 如果不是目录的属主,是属组,目录权限位中三位需要有w权限,若有则成功,无则失败
- 如果是其他人,目录权限位中的右三位需要有w权限,若有则成功,无则失败
权限管理类命令
chmod命令:
语法格式:
chmod [OPTION]… MODE[,MODE]… FILE…
chmod [OPTION]… OCTAL-MODE FILE…
chmod [OPTION]… --reference=RFILE FILE…
三类用户
- u:属主
- g:属组
- o:其他
- a:所有
赋权表示法:rwx
- u=
- g=
- o=
- a=
授权表示法
- u+,u-
- g+,g-
- o+,o-
- a+,a-
-R,递归修改
数字修改法
- chmod 777 file
chown命令:修改文件的属主,一并修改属组
- chown owner:group file :属主属组一起修改
- chown root file :修改属主
- chown :root file :修改属组
- -R:递归修改 :本层及内层一并修改
chgrp命令:修改文件的属组
- chgrp group file
仅管理员可以修改文件的属主和属组
进程的安全上下文:
进程对文件访问权限的应用模型
- 进程的属主,与文件的属主是否相同,如果相同,则应用属主权限
- 否则,检查进程的属主是否和文件的属组相同,如果相同,则应用属组的权限
- 否则,使用other权限。
- 将一个文件运行成为一个进程,取决于用户是否对这个文件有x权限,可执行权限。