本文章向大家介绍Linux入门基础:Linux用户及权限基础,主要包括:Linux用户及权限基础实战操作、linux用户和组管理相关原理、操作命令与使用注意事项,具有一定的参考价值,需要的朋友可以参考一下。
必看!Linux用户及权限基础
用户基础
用户和组
每个用户都拥有一个userid,操作系统实际使用的是用户ID,而非用户名
每个用户都属于一个主组,属于一个或多个附属组
每个组拥有一个Groupid
每个进程以一个用户身份运行,并受该用户可访问资源限制每个可登陆用户拥有一个指定的shell
用户
用户ID为32位,从0开始,为了和老系统兼容,用户id限制在60000以下
用户分为三种
-root用户(id为0的用户就是root用户)
-系统用户(id为1~499的用户,是为了进程服务创建的)
-普通用户(500以上)
系统中的文件都有一个所属用户及所属组
使用id命令可以显示当前用户的信息
使用passwd命令可以修改当前用户密码
查看登录的用户
命令whoami显示当前用户
命令who显示有哪些用户已经登陆系统
命令w显示有哪些用户已经登陆并且在干什么
管理用户命令汇总
命令 |
注释 |
参数选项 |
useradd |
此命令可在系统中添加用户 |
|
userdel |
此命令可删除用户 |
/etc/passwd : 用户账号资料文件 /etc/shadow : 用户账号咨询加密文件 /etc/group : 用户组资讯文件 提示:使用userdel命令的结果实际上就是在更改维护以上的文件。只要修改和删除都要小心谨慎! |
passwd |
执行此命令可以修改用户的密码。更改/etc/shadow文件 |
|
chage |
修改用户密码到期时间。管理/etc/shadow文件 |
|
usermod |
修改用户账户信息 |
|
id |
查看用户的ID信息 |
|
su |
用户角色切换工具。su - |
|
sudo |
Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。 使用权限:在 /etc/sudoers 中有出现的使用者。 |
|
例如
useradd zzg1
这个命令会执行以下操作 :
在/etc/passwd中添加用户信息
如果使用passwd命令创建密码,则将密码加密保存在/etc/shadow中
为用户建立以个新的家目录/home/用户名
将/etc/skel中的文件复制到用户家目录中
例如
usermod -u 1002 zzg1
删除用户信息
命令userdel用以删除指定用户:
例如
#删除指定用户,保留用户家目录
userdel user1
如图所示家目录zzg1还存在的
#删除指定用户,同时删除用户家目录
userdel -r user1
注意:生产场景中,我们一般不建议用“userdel -r 用户名”这样的危险命令,而直接使用”userdel 用户名“命令删除即可。
管理用户组命令汇总
命令 |
注释 |
参数选项 |
groupadd |
该命令用于创建一个新用户组 |
|
groupdel |
该命令用于删除用户组 |
同上 |
groupmod |
该命令用于修改组属性 |
-g,--gid GID 修改GID -n,--new-name : 修改组名 |
组
几乎所有操作系统都有组的概念,通过组,我们可以更加方便的归类,管理用户
一般来件,我们使用部门,职能或地域的分类方式来创建使用组
每个组都有一个组id
组信息保存在/etc/group中
每个用户都拥有一个主组,同时还可以拥有最多31个附属组
创建组
命令groupadd用来创建组
例如
groupadd zzg2
修改组
命令groupmod用来修改组
删除组
命令groupdel用来删除组
例如
groupdel zzg2
权限机制
权限是操作系统用来限制对资源访问的机制
每个进程都以某个用户的身份运行,所以进程的权限和该用户的权限一样
linux权限机制
文件权限
文件拥有三种权限 :
权限 对文件的影响 对目录的影响
r (读) 可读取文件内容 可列出目录内容
w (写) 可修改文件内容 可在目录中创建删除文件
x (执行) 可以作为命令执行 可访问目录内容
目录不许拥有x (执行权限) , 否则无法查看其内容
UGO模型
Linux权限基于UGO模型进行控制
U代表User , G代表Group , O代表Other
每一个文件的权限基于UGO进行设置
权限三个一组(rwx),对应UGO分别进行设置,总共9个 例如 rwxrwxrwx
每一个文件拥有一个所属用户和所属组,对应UG,不属于该文件的所属用户或组的使用O权限
修改文件所属用户和所属组
命令chown用以改变文件的所属用户
例如
#chown 用户名 文件名/文件夹
chown zzg3 /tmp/bak/zzg
#-R 递归修改目录下所有文件
命令chgrp用以修改文件的所属组
例如
#chgrp 组名 文件名/文件夹
chgrp zzg2 /tmp/bak/zzg/
#-R 递归修改目录下所有文件
修改权限
命令chmod用以修改文件的权限
chmod 模式 文件
模式为如下格式 :
u,g,o分别代表用户,组和其他
a可以代指ugo
+,- 代表假如或删除对应的权限
r,w,x 代表三种权限
模式示例 :
#所属用户加入读写权限
chmod u+rw zzg
#所属组删除执行权限
chmod g-x fileName
#所属组和其他加入执行权限
chmod go+x fileName
#ugo都删除执行权限
chmod a-x zzg
chmod 也支持数字方式修改权限,分别由三个数字表示
-r = 4 (2^2)
-w = 2 (2^1)
-x = 1 (2^0)
使用数字表示权限时,每组权限分别对应数字之和
rw=4+2=6
rwx=4+2+1=7
r-x=4+1=5
所以,使用数字表示ugo权限使用如下方式表示:
chmod 660 fileName == rw-rw----
chmod 775 fileName == rwxrwxr-x
扩展权限
默认权限
每一个终端都拥有一个umask属性,来确定新建文件 , 文件夹的默认权限
目录的默认权限:777-umask
文件的默认权限:666-umask
一般对于普通用户默认的umask是002,root用户的默认是022
新建文件的权限是:666-002=664
新建目录的权限是:777-002=775
命令umask用以查看 , 设置umask值
#查看
umask
#设置
umask 022
特殊权限
除普通权限外,还有三个特殊权限:
权限 对文件的影响 对目录的影响
suid 以文件的所属用户身份执行 无
sgid 以文件的所属组身份执行 在该目录中创建的任意新文件的所属组与该目录的所属组相同
sticky 无 对目录拥有写入权限的用户可仅可以删除其拥有的文件,无法删除其他用户所拥有的文件
设置特殊权限
设置suid:
chmod u+s fileName
即rwsrwxrwx
设置sgid:
chmod g+s fileName
即rwxrwsrwx
设置sticky:
chmod o+t fileName
即rwxrwxrwt
与普通权限一样,特殊权限也可以使用数字方式表示
- SUID = 4
- SGID = 2
- Sticky = 1
所以可以通过一下命令 设置
chmod 4755 fileName
即rwsrwxrwx