Linux之⽤户-⽤户组-权限详解
⼤家好,今天给⼤家介绍⼀下Linux ⽤户-⽤户组-权限:
在我们⾸次安装 linux操作系统中,会创建⼀个账户应⽤于登录系统,由于linux系统是⼀个多⽤户系统,所以,我们可以创建多个⽤户,每个⽤户赋予不同的权限,这样就可以实现多⽤户共同管理,维护系统,在linux中,有⽤户、⽤户组、权限这样的概念,并且,⽤户,⽤户组,权限是两两多对多的关系,即⼀个⽤户可以同时,在多个组,⽽多个组,⼜对应多个权限。
1.⽤户的添加:
useradd user1 # 添加user1⽤户到系统并且系统为该⽤户创建⼀个同名的⽤户组
useradd -m user1 # -m 表⽰为user1 创建home ⽬录
useradd -g group_user1 user1 # 创建⽤户user1 并将其添加到group_user1 组内,前提是要添加的组必须存在否则添加失败
useradd -d ⽤户⽬录 -s 解释器⽤户名 # 添加⽤户并指定⽤户⽬录个⽤户解释器
id # 查看当前的⽤户信息 uid(⽤户信息) gid(⽤户组信息) groups(附加组信息)
id user1 # 查看 user1 ⽤户的信息
2.⽤户密码的设置,⽤户切换、删除:
passwd # 设置当前⽤户密码
passwd user1 # 设置user1 ⽤户的密码
su user1 # 切换到user1 ⽤户 su 后⾯可以加 "-" su - 切换到对应的⽤户时候会将当前的⼯作⽬录⾃动转换到切换后的⽤户主⽬录userdel user1 # 删除⽤户
linux创建新用户和密码userdel -r user1 # 删除⽤户同时删除⽤户主⽬录 -f 表⽰强制删除
3.⽤户信息的修改:
usermod -g -G 组名⽤户名 # 将⽤户添加到指定的组 -g 指定默认组 -G 指定附加组
例如:uermod -g -G sudo 组名⽤户名 # 为⽤户添加 sudo 权限
usermod -G 组1,组2,组3 ⽤户名 # 修改该⽤户的附加组为组1,组2,组3
4.新建组,删除组、组修改:
groupadd 组名 # 创建新组
groupdel 组名 # 删除组
groupmod -n 新组名旧组名 # 组名称修改
5.⽤户、⽤户组的配置⽂件,影⼦⽂件:
1> ⽤户配置⽂件
位置: /etc/passwd
⽤户影⼦⽂件位置: /etc/shadow ⾥⾯存放加密后的⽤户信息叹号表⽰该⽤户为设置密码
含义:1.⽤户名 2.密码标志 3.uid(⽤户id) 4.GID(组id) 5.⽤户全名 6.家⽬录 7.使⽤的shell
2> 组配置⽂件
位置: /etc/group
⽤户组影⼦⽂件位置:/etc/gshadow ⾥⾯存放加密后的⽤户组信息
含义:1.组名称 2.密码标志 3.组id 4.附加⽤户 (多个⽤户⽤,隔开)
6.shell 类型,内置命令外置命令:
1.常⽤的三种解释器:
/bin/bash
/usr/sbin/nologin
/bin/sh
2.cat /etc/shells # 查看系统的shell 种类
chsh # 修改当前⽤户的shell
chsh ⽤户名 # 该⽤户名所对应的 shell
3.内置命令 & 外置命令:
shell 命令⼀般可分为内置命令和外置命令,内置命令常驻内存效率⾼外置命令则相对内置命令效率较低,同过 which command 若出现命令的位置则为外置命令否则为内置命令
7. 权限管理:
通过 ll命令我们可以查看当前⽬录的⽂件列表
- --- --- --- : 每个⽂件都会有这些属性:
第⼀个:"-" 为 d 则表⽰⽬录否则表⽰⽂件
后⾯9 个“-” 每三个为⼀组分别代表⽤户、⽤户组、其他⽤户对该⽂件的权限
⽽每⼀组:分别有 r :可读权限 w: 可写权限 x: 可执⾏权限
注意: 对于⽬录来说:r w x 则代表另外的含义:r: 可以读取该⽬录的⽂件列表 (不能读取⽂件内容信息) w:可以在该⽬录中进⾏⽂件的创建或者删除等操作 x:表⽰只能进⼊⽬录
1> 字母法:
chmod u/g/o/ +/-/= r/w/x ⽂件
u --> ⽤户,g -->组 ,o -->其他⽤户
+: 增加权限 -:删除权限 =:赋予权限
r :读 w: 写 x: 执⾏
2> 数字法:
100 <==> 4 <==> r 读
010 <==> 2 <==> w 写
001 <==> 1 <==> x 执⾏
000 <==> 0 <==>"-" 不具备任何权限
例如: chmod 751 file:即为该⽂件⽤户:增加读写执⾏⽤户组:增加读写其他⽤户:增加执⾏权限
3> 修改⽂件所有者:
chown 新⽤户名⽂件名 # 即将该⽂件所有者修改问新⽤户名
-R 表⽰递归通常修改该⽬录下的所有⽂件
4> 修改⽂件所属的组
chgrp 新组名⽂件名 # 即将该⽂件所属的组修改为新组
-R 表⽰递归通常修改该⽬录下的所有⽂件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论