权限的本质
一般来说:权限 = 人 + 事物的属性
在Linux中更准确的讲应该是:权限 = 角色 + 文件
Linux权限的概念
Linux下有两种用户:
超级用户(root):可以在linux操作系统下做任何事情,不受限制
普通用户:在linux操作系统下做有限的事情
注意事项:
1、超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
2、在普通用户身份下,默认情况下是无法创建其他用户的。创建和管理用户需要管理员权限(如 root 或具有适当权限的用户)才能执行。
如何创建与删除普通用户
创建普通用户:
//在root目录下: useradd -m 新用户名 //在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力) sudo useradd -m 新用户名
设置用户密码:
//在root目录下: passwd 用户名 //在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力) sudo passwd 用户名
删除普通用户:
//在root目录下: userdel 用户名 //在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力) sudo userdel 用户名
删除与该用户关联的主目录和邮件目录 :
//在root目录下: userdel -r 用户名 //在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力) sudo userdel -r 用户名
su指令
语法:su [用户名]
功能:切换用户
常见使用方式:
1、su 用户名 和 su 、实现超级用户与普通用户之间的切换:
进入超级用户时需要输入密码
2、su - 与 su、进入超级用户:
su -是重新登陆至超级用户所以它在登陆时还会显示登录信息,su是切换至超级用户
二者等效,推荐使用命令更简单的后者
sudo指令
语法:sudo 后续指令......
功能:指令提权
注意事项:
1、sudo进行指令提权时,需要输入该普通用户本身的密码
常见使用方法:
1、sudo touch file.txt、在普通用户中指令提权后创建文件
Linux权限管理
Linux中文件访问者有三种“人”
1、拥有者
2、所属组
作用:在多人协作时更好的进行权限管理
3、Other
Linux中为什么要有组的概念:
公司中假设我们是A组的组员d,我在Linux中写了一些代码,现在组长要来检查我的代码,本来我的代码只有我自己能看,现在我要打开权限让同组的组长查看,如果没有组的概念,只有拥有者与其他人Other,那么在我打开权限时,除了我的组长以外,我的死对头B组的组员g就也能查看我的代码,万一写的代码不好就很丢人,所以有了组的概念就很方便了......
Linux中有两种人(普通用户与超级用户)的概念是否与Linux中文件访问者有三种人(拥有者、所属组、Other)的概念有所冲突?
答案:两者并不冲突,反而互补
具体解释:在Linux中权限不是用来限制人的而是用来限制角色的,这也是为什么说“在Linux中更准确的讲应该是:权限 = 角色 + 文件” ,普通用户与超级用户是具体的人,而拥有者、所属组、Other是三种角色,一种角色可以是多个不同的人,即某一个普通用户可以是一个文件的拥有者和所属组,一个超级用户可以仅仅只是一个文件的所属组......
第一行内容中,第一个root表示它是dir文件的拥有者,第二个root表示它也是dir文件的所属组
~over~