个人主页:godspeed_lucip
系列专栏:Linux学习
目录
Linux用户和权限
1. 了解root用户
2. su和exit命令
3. sudo命令
3.1 授权普通用户使用sudo
4. 用户和用户组
4.1 用户组的管理
4.2 用户的管理
4.2.1 创建用户
4.2.2 删除用户
4.2.3 查看用户所在组
4.2.4 修改用户所在组
4.2.5 getent命令
5. 查看权限控制
5.1 了解权限信息
5.2 了解rwx
6. 修改权限控制chmod
6.1 权限的非数字表示
6.2 权限的数字表示
7. 修改权限控制chown
8 总结
在Linux系统中,拥有最大权限的账户名为:root(超级管理员)
例如:
此外,单独输入su会默认切换到root用户。普通用户切换到root用户需要密码,由root切换到普通用户不需要密码
为普通的命令授权,临时以root身份执行。不需要先切换到root用户。
切换到root用户,输入命令
visudo
在文件的最后一行添加
godspeed ALL=(ALL) NOPASSWD:ALL //godspeed是用户名
保存并退出即可
Linux系统中可以:
- 配置多个用户
- 配置多个用户组
- 用户可以加入多个用户组中
Linux中关于权限的管控级别有2个级别,分别是:
- 针对用户的权限控制
- 针对用户组的权限控制
比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。
所以,我们需要学习在Linux中进行用户、用户组管理的基础命令,为后面学习权限控制打下基础。
groupadd 用户组名 //添加组
groupdel 用户组名 //删除组
useradd [-g -d] 用户名
- 选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
- 选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
例如,创建用户,指定组和工作目录
useradd god_user -g god -d /home/test_god_file
验证:
注意:假如创建用户时不指定组,则会默认创建一个和该用户同名的组,并将该用户归到该用户组下。
例如:
userdel [-r] 用户名
- 选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
id [用户名]
- 参数:用户名,被查看的用户,如果不提供则查看自、
例如:
注意:直接输入id命令会显示当前用户的所在组
usermod -aG 用户组 用户名
将指定用户加入指定用户组
例如:
此时,test用户被加入到两个组里面去
1. 查看当前系统中有哪些用户
getent passwd
结果:
解释:
共有7份信息,分别是:
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
2. 查看当前系统中有哪些用户组
getent group
解释:
包含3份信息,组名称:组认证(显示为x):组ID
输入ls -l,可以得到:
文件的信息中,序号1为权限细节。权限细节总共分为10个槽位
举例:drwxr-xr-x,表示:
- 这是一个文件夹,首字母d表示(文件用-表示,软链接用l表示)
- 该文件所属用户(右上角图序号2)对这个文件的权限是:有r有w有x,rwx
- 该文件所属用户组(右上角图序号3)对这个文件的权限是:有r无w有x,r-x (-表示无此权限)
- 其它用户的对该问价的权限是:有r无w有x,r-x
rwx到底代表什么呢?
- r表示读权限
- w表示写权限
- x表示执行权限
针对文件、文件夹的不同,rwx的含义有细微差别
- r,针对文件可以查看文件内容。针对文件夹,可以查看文件夹内容,如ls命令
- w,针对文件表示可以修改此文件,针对文件夹,可以在文件夹内:创建、删除、改名等操作
- x,针对文件表示可以将文件作为程序执行。针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
我们可以使用chmod命令,修改文件、文件夹的权限信息。
注意,只有文件、文件夹的所属用户或root用户可以修改。
语法:
chmod [-R] 权限 文件或文件夹
选项:-R,对文件夹内的全部内容应用同样的操作
chmod u=rwx,g=rx,o=x hello.txt //将文件权限修改为:rwxr-x--x
//其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限
chmod -R u=rwx,g=rx,o=x test
//将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x
权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。
数字的细节如下:r记为4,w记为2,x记为1,可以有:
• 0 :无任何权限, 即 ---• 1 :仅有 x 权限, 即 --x• 2 :仅有 w 权限 即 -w-• 3 :有 w 和 x 权限 即 - wx• 4 :仅有 r 权限 即 r--• 5 :有 r 和 x 权限 即 r-x• 6 :有 r 和 w 权限 即 rw -• 7 :有全部权限 即 rwx
例如
chmod 751 test1.txt
//等价于chmod u=rwx,g=rx,o=x test.txt
使用chown命令,可以修改文件、文件夹的所属用户和用户组
普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行
chown [-R] [用户][:]【用户组】 文件或文件夹
- 选项,-R,同chmod,对文件夹内全部内容应用相同规则
- 选项,用户,修改所属用户
- 选项,用户组,修改所属用户组
- :用于分隔用户和用户组
例如:
chown root hello.txt //将hello.txt所属用户修改为root
chown :root hello.txt //将hello.txt所属用户组修改为root
chown root:itheima hello.txt //将hello.txt所属用户修改为root,用户组修改为itheima
chown -R root test //将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则
在代码的舞台上,Linux翩翩起舞。
纵观代码的山川大地,无边的可能在眼前延展, Linux,是智慧的风,吹动着科技的帆船。
用韵律的二进制,谱写着自由的交响曲, Linux,是数字艺术的荣光,闪烁在信息的星空。
愿Linux永远如诗,激励创造者的灵感。
渴望挑战Linux操作系统的学习路径和掌握系统管理技术?不妨点击下方链接,一同探讨更多Linux操作系统的奇迹吧。我们推出了引领趋势的linux专栏:《Linux基础学习》 ,旨在深度探索Linux的实际应用和创新。