Linux《用户权限》学习总结

一、文件权限

在这里插入图片描述

文件数据有如下权限
读: r 4
写和删除: w 2
执行: x 1
无权限: - 0

文件权限配置的结论:
root用户对所有文件有绝对的权限,只要有了执行权限,root用户可以无敌存在
对于文件来说,写的权限和执行的权限;都需要有读权限配合,否则写和执行权限不能正常使用
所以如果想对文件进行操作,必须对文件赋予读的权限

目录权限配置的结论:
root用户对目录信息有绝对权限
对于目录来说,写的权限和读的权限,都需要有执行权限配合,否则写和读权限不能正常使用
所以如果想对目录进行操作,必须对目录赋予执行的权限权限(执行权限对于目录来说就是可以进入目录权限)

1、chmod

语法:chmod [u|g|o|a] [+|-|= ] [r|w|x] 文件名
u 表示该文件的拥有者
g 表示与该文件的拥有者属于同一个群体(group)者,
o 表示其他以外的人,
a 表示这三者皆是。

2、chown和chgrp

只有 root 用户或拥有该文件的用户才可以更改文件的所有者。如果拥有文件但不是root用户,只可以将组更改为当前用户所在的组

chown 用于改变文件的属组

[root@root clyu]# ll root.txt
---------- 1 clyu clyu 0 1118 23:02 root.txt
[root@root clyu]# chown .root root.txt   
[root@root clyu]# ll root.txt
---------- 1 clyu root 0 1118 23:02 root.txt

chown 用于改变文件的属主

[root@root clyu]# ll root.txt
---------- 1 clyu root 0 1118 23:02 root.txt
[root@root clyu]# chown root root.txt
[root@root clyu]# ll root.txt
---------- 1 root root 0 1118 23:02 root.txt

chown 用于改变文件的属组和属主

[root@root clyu]# ll root.txt
---------- 1 root root 0 1118 23:02 root.txt
[root@root clyu]# chown clyu.clyu root.txt
[root@root clyu]# ll root.txt
---------- 1 clyu clyu 0 1118 23:02 root.txt

上面的修改只能修改当前文件的属组和属主,如果我们想在修改一个目录的属组和属主的同时,也把他里面的文件修改的话,那怎么办呢?

[root@root clyu]# ll dog
-rw-r--r-- 1 root root 0 1120 15:23 demo.txt
[root@root clyu]# chown clyu.clyu dog
[root@root clyu]# ll dog
-rw-r--r-- 1 root root 0 1120 15:23 demo.txt

为什么修改无效呢。

-R : 处理指定目录以及其子目录下的所有文件

[root@root clyu]# chown clyu.clyu -R dog
[root@root clyu]# ll dog
-rw-r--r-- 1 clyu clyu 0 1120 15:23 demo.txt
[root@root clyu]# cd dog
[root@root dog]# ll demo.txt
-rw-r--r-- 1 clyu clyu 0 1120 15:23 demo.txt

chgrp 用于改变文件的属组。

二、用户相关配置文件
1、/etc/passwd

作用:记录系统用户信息,部分信息如下

用户名     密码  用户uid  用户gid  用户注释信息   用户家目录信息   用户登陆系统方式
root      :x     :0      :0      :root          :/root       :/bin/bash
bin       :x     :1      :1      :bin           :/bin        :/sbin/nologin
daemon    :x     :2      :2      :daemon        :/sbin       :/sbin/nologin

三、用户信息查看

用户有3种,他们是通过uid区分
超级用户 : root , uid 是0
虚拟用户 : uid 1 到999 权限是 管理进程 不能登陆系统 没有家目录
普通用户:uid 1000+ 权限是管理指定数据 可以管理指定进程,可以登陆系统 有家目录

id 显示用户uid相关信息

[root@root dog]# id root
uid=0(root) gid=0(root)=0(root)

uid 表示用户名和uid的关系
gid和groups都是显示属于的用户组,但是gid是主要的用户组,而groups是附加群组

w 显示正在登陆的用户信息

USER        是用户名
TTY         是用户以什么方式登陆(pts:远程登陆系统;tty1:本地登陆)
FROM        从哪里链接服务器
LOGIN@      登陆时间
IDLE        用户空闲时间
JCPU        用户操作系统消耗的cpu资源
PCPU WHAT   用户在干什么
[root@root dog]# w
USER     TTY      FROM             LOGIN@     IDLE       JCPU       PCPU WHAT
clyu     :0       :0               281020   ?xdm?      23:00      0.96s /usr/libexec/gnome-session-binary -
root     pts/2    192.168.93.1     14:32      3.00s      0.32s      0.00s w
clyu     pts/0    :0               281020   22days     0.11s      1.28s /usr/libexec/gnome-terminal-server
root     pts/1    192.168.93.121       14:56m     0.17s      0.06s -bash

last 查看曾经有谁登陆过

四、添加用户

语法:useradd 参数 用户名

-g  指定用户所属的群组。
-G  指定用户所属的附加群组。

//创建my用户,其主用户组是clyu,附属用户组是root
[root@root ~]# useradd my -g clyu -G root
[root@root ~]# id my
uid=1006(my) gid=1000(clyu)=1000(clyu),0(root)

-c 加上备注文字。备注文字会保存在passwd的备注栏位中。

uid=1006(my) gid=1000(clyu)=1000(clyu),0(root)
[root@root ~]# useradd mydemo -c "测试用户1"
[root@root ~]# cat /etc/passwd
mydemo:x:1007:1007:测试用户1:/home/mydemo:/bin/bash

-M  不要自动建立家目录。

[root@root ~]# useradd -M clyu

-s 指定用户登陆模式, 常见登陆模式如下
bin/bash 普通登陆方式,也是系统默认方式
/usr/bin/sh
/usr/bin/bash
/sbin/nologin 无法登录系统
/usr/sbin/nologin

[root@root ~]# useradd -M clyu -s /sbin/nologin
五、修改用户

语法:usermod 参数 用户名

-s 修改用户登陆方式

[root@root ~]# usermod my -s /sbin/nologin

-g  修改用户所属的群组。
-G  修改用户所属的附加群组。

[root@root ~]# id my
uid=1006(my) gid=1000(clyu)=1000(clyu),0(root)
[root@root ~]# usermod my -g root -G root
[root@root ~]# id my
uid=1006(my) gid=0(root)=0(root)

-c 修改备注信息

[root@root ~]# usermod my -c "sasa"
六、删除用户

语法:userdel -r 用户名
-r 选项表示在删除用户的同时删除用户的家目录。
注意,在删除用户的同时如果不删除用户的家目录,那么家目录就会变成没有属主和属组的目录,也就是垃圾文件
最后需要大家注意的是,如果要删除的用户已经使用过系统一段时间,那么此用户可能在系统中留有其他文件,因此,如果我们想要从系统中彻底的删除某个用户,最好在使用 userdel 命令之前,先通过 find -user 用户名 命令查出系统中属于该用户的文件,然后在加以删除。

七、设置密码
[root@root clyu]# useradd clyudemo; echo 123456|passwd --stdin clyudemo
useradd:用户“clyudemo”已存在
更改用户 clyudemo 的密码 。
passwd:所有的身份验证令牌已经成功更新。

; 类似于&,但是他不管第一个是否成功,第二个都会执行

八、切换用户
[root@root clyu]# su - clyu

问题:su - 和su 的 区别

su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令

[root@root ~]# pwd
/root
[root@root ~]# su clyu
[clyu@root root]$ pwd
/root
[clyu@root root]$ su root
密码:
[root@root ~]# pwd
/root
[root@root ~]# su - clyu
上一次登录:五 1030 10:35:51 CST 2020pts/3[clyu@root ~]$ pwd
/home/clyu
[clyu@root ~]$
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值