初学日常记录 linux命令3

1.用户  用户组

[root@localhost ~]# ll /usr/sbin/user*
-rwxr-x---. 1 root root 118192 Nov  6  2016 /usr/sbin/useradd
-rwxr-x---. 1 root root  80360 Nov  6  2016 /usr/sbin/userdel
-rws--x--x. 1 root root  40312 Jun 10  2014 /usr/sbin/userhelper
-rwxr-x---. 1 root root 113840 Nov  6  2016 /usr/sbin/usermod
-rwsr-xr-x. 1 root root  11288 Aug  4  2017 /usr/sbin/usernetctl
[root@localhost ~]# ll /usr/sbin/group*
-rwxr-x---. 1 root root 65480 Nov  6  2016 /usr/sbin/groupadd
-rwxr-x---. 1 root root 57016 Nov  6  2016 /usr/sbin/groupdel
-rwxr-x---. 1 root root 57064 Nov  6  2016 /usr/sbin/groupmems
-rwxr-x---. 1 root root 76424 Nov  6  2016 /usr/sbin/groupmod
[root@localhost ~]# 

添加用户:

[root@localhost ~]# useradd kaiyue
[root@localhost ~]# id kaiyue
uid=1004(kaiyue) gid=1004(kaiyue) groups=1004(kaiyue)
[root@localhost ~]# 
创建一个普通用户,默认创建这个名称的用户组kaiyue,且设置这个用户主组为kaiyue 且创建/home/kaiyue

/etc/passwd  存放用户

/etc/group 存放用户组

[root@localhost ~]# cd /home                   进入home组
[root@localhost home]# ll
total 2
drwx------.  3 hadoop hadoop   78 Nov 10 00:05 hadoop
drwx------.  3 kaiyue kaiyue   78 Nov 10 18:10 kaiyue                          已自动创建/home/kaiyue

                  所属用户 所属用户组
一个文件夹或者文件:drwx------.                         权限

                                    kaiyue kaiyue                   用户和用户组

                                    Nov 10 18:10                    时间                        ll -rt 按照时间排序

                                    59                                  文件夹大小(理解错误)

删除用户:

[root@localhost home]# userdel kaiyue
[root@localhost home]# id kaiyue                      查询用户
id: kaiyue: no such user                                     已经找不到了

[root@localhost home]# cat /etc/passwd | grep kaiyue    用户已经查不到了
[root@localhost home]# cat /etc/group | grep kaiyue        用户组已经查不到了

因为kaiyue该组只有kaiyue用户,当这个用户删除时,组会校验就他自己会自动删除,若组里还有其他用户则不会删除

[root@localhost home]# ll
total 2
drwx------.  3 hadoop hadoop   78 Nov 10 00:05 hadoop
drwx------.  3   1004   1004   78 Nov 10 18:10 kaiyue
重新创建:

[root@localhost home]# useradd kaiyue                                      重新创建用户kaiyue
useradd: warning: the home directory already exists.                  提示home(家目录)已经存在
Not copying any file from skel directory into it.
Creating mailbox file: File exists

[root@localhost home]# id kaiyue
uid=1004(kaiyue) gid=1004(kaiyue) groups=1004(kaiyue)
也就是创建用户kaiyue,家目录已经在home目录里存在了,不需要创建家目录,但是kaiyue用户还是有的

模拟切换用户丢失样式

[root@localhost home]# cd /home/kaiyue         
[root@localhost kaiyue]# ll
total 0
[root@localhost kaiyue]# ll -a
total 12
drwx------. 5 kaiyue kaiyue 107 Nov 10 19:28 .
drwxr-xr-x. 7 root   root    73 Nov 10 18:10 ..
-rw-r--r--. 1 kaiyue kaiyue  18 Aug  3  2017 .bash_logout
-rw-r--r--. 1 kaiyue kaiyue 193 Aug  3  2017 .bash_profile
-rw-r--r--. 1 kaiyue kaiyue 231 Aug  3  2017 .bashrc
[root@localhost kaiyue]# rm -rf .bash*                             .bash*  模糊匹配         在当前文件夹删除所有的.bash开头文件

[root@localhost kaiyue]# ll -a
total 0
drwx------. 5 kaiyue kaiyue 51 Nov 10 19:43 .
drwxr-xr-x. 7 root   root   73 Nov 10 18:10 ..                                确认已经删除了.bash开头文件

打开新会话

[root@localhost ~]# su - kaiyue                                          切换用户kaiyue
Last login: Wed Nov 10 19:28:01 CST 2021 on pts/3
-bash-4.2$                                                      样式发生了改变,应该显示[kaiyue@localhost ~]$ 

如何恢复呢

[root@localhost kaiyue]# cp /etc/skel/.* ./                   ./当前光标所处文件夹  相对路径

[root@localhost kaiyue]# cp /etc/skel/.* /home/kaiyue/        也可以拷贝到/home/kaiyue/ 绝对路径

效果一样   不确定就用下面的绝对路径比较好        绝对路径/home/kaiyue 不能写出./home/kaiyue

[root@localhost kaiyue]# ll -a
total 12
drwx------. 5 kaiyue kaiyue 107 Nov 10 20:04 .
drwxr-xr-x. 7 root   root    73 Nov 10 18:10 ..
-rw-r--r--. 1 root   root    18 Nov 10 20:04 .bash_logout
-rw-r--r--. 1 root   root   193 Nov 10 20:04 .bash_profile
-rw-r--r--. 1 root   root   231 Nov 10 20:04 .bashrc                       已经cp好,用户和用户组属于root

                                                                                                      权限属于root

[root@localhost kaiyue]# chown kaiyue:kaiyue .bash*修正权限  用户:用户组  所有bash开头文件
[root@localhost kaiyue]# ll
total 0
[root@localhost kaiyue]# ll -a
total 12
drwx------. 5 kaiyue kaiyue 107 Nov 10 20:04 .
drwxr-xr-x. 7 root   root    73 Nov 10 18:10 ..
-rw-r--r--. 1 kaiyue kaiyue  18 Nov 10 20:04 .bash_logout
-rw-r--r--. 1 kaiyue kaiyue 193 Nov 10 20:04 .bash_profile
-rw-r--r--. 1 kaiyue kaiyue 231 Nov 10 20:04 .bashrc                     
已经修正好

新建会话

[root@localhost ~]# su - kaiyue
Last login: Wed Nov 10 19:43:54 CST 2021 on pts/4
[kaiyue@localhost ~]$                                                               
 样式已恢复

添加kaiyue用户到另外一个组bigdata

[root@localhost kaiyue]# groupadd bigdata                                  ---添加一个新组bigdata
[root@localhost kaiyue]# cat /etc/group | grep bigdata                
bigdata:x:1005:
[root@localhost ~]# usermod -a -G bigdata kaiyue                ---追加 bigdata组给用户
[root@localhost ~]# id kaiyue                                           ---用于显示用户的ID,以及所属群组的ID
uid=1004(kaiyue) gid=1004(kaiyue) groups=1004(kaiyue),1005(bigdata)    

                               主组是kaiyue              groups追加了bigdata组

                    一个用户可以属于多个组  主组只有一个

修改bigdata为kaiyue的主组

[root@localhost ~]# usermod -g bigdata kaiyue
[root@localhost ~]# id kaiyue
uid=1004(kaiyue) gid=1005(bigdata) groups=1005(bigdata)   

                           ---修改主组成功,但丢失了kaiyue的组

将kaiyue组追加给kaiyue用户

[root@localhost ~]# usermod -a -G kaiyue kaiyue   
[root@localhost ~]# id kaiyue
uid=1004(kaiyue) gid=1005(bigdata) groups=1005(bigdata),1004(kaiyue)

2.设置密码

给kaiyue用户 设置密码

[root@localhost ~]# passwd kaiyue           ---passwd如果后面不跟用户,默认修改当前用户密码
Changing password for user kaiyue.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@localhost ~]#  

3.切换用户

pwd 立刻得知您目前所在的工作目录的绝对路径名称

su kaiyue        切换用户

su - kaiyue         切换用户,改变环境变量

             代表切换该用户的家目录,且执行环境变量文件

                .bash_profile 环境变量文件su kaiyue不会执行

                .bashrc 环境变量文件 su kaiyue  su - kaiyue 都执行

两个会话演示区别

[root@localhost ~]# su kaiyue
[kaiyue@localhost root]$ pwd
/root                                                       ----权限受限,无法执行命令
[root@localhost ~]# su - kaiyue
Last login: Thu Nov 11 01:08:48 CST 2021 on pts/3
[kaiyue@localhost ~]$ pwd
/home/kaiyue

4.普通用户获取root的最大权限

vi /etc/sudoers

kaiyue  ALL=(root) NOPASSWD:ALL

如图:

Connection   连接拒绝

Permission denied  权限受限

先创建测试文件

[root@localhost ~]# echo "www.baidu.com" >> 1.log
[root@localhost ~]# ls
1.log  a  anaconda-ks.cfg  initial-setup-ks.cfg
[root@localhost ~]# cat 1.log
www.baidu.com

再验证sudo命令带和不带的效果

[root@localhost ~]# su kaiyue
[kaiyue@localhost root]$ ls
ls: cannot open directory .: Permission denied
[kaiyue@localhost root]$ sudo ls
1.log  a  anaconda-ks.cfg  initial-setup-ks.cfg
[kaiyue@localhost root]$ cat 1.log
cat: 1.log: Permission denied

[kaiyue@localhost root]$ sudo cat 1.log
www.baidu.com

5./etc/passwd    重点讲

[root@localhost ~]# vi /etc/passwd               执行之后,尾行显示如下

jepson:x:1003:1003::/home/jepson:/bin/bash
kaiyue:x:1004:1005::/home/kaiyue:/bin/bash   

                                      尾巴修改为/sbin/nologin 或者 /bin/flase 无法登陆

用户存在 

su - kaiyue 切不过去  就应该想到/etc/passwd中对应尾巴为/sbin/nologin 或者 /bin/flase 无法登陆

                    修改为/bin/bash 可以切过去

CDH 很多的组件

hafs组件 hdfs用户

                  su - hdfs

                 vi /etc/passwd 中对应修改为 /bin/bash

hbase组件 hbase用户

yarn组件 yarn用户

6.权限

错误 :Permission denied

chmod 是控制用户对文件的权限的命令

chown 用于设置文件所有者和文件关联组的命令

chmod -R   777 文件夹/文件路径

chown -R 用户:用户组 文件夹/文件路径

                777  代表任意的用户用户组都有读写执行的权限

[root@localhost ~]# ll
total 12
-rw-r--r--. 1 root root   14 Nov 11 03:16 1.log
drwxr-xr-x. 7 root root  102 Nov 10 02:41 a

第一个字母:d 代表文件夹      - 代表文件  l 链接

rwxr-xr-x

                        r代表  read         4

                        w  代表write       2            

                        x  代表执行        1

                        - 没权限             0

                        7=rwx

                        6=rw

                        5=rx

                        3=wx

rwx  第一组 7 代表文件或者文件夹的用户root,有读写执行的权限

r-x  第二组 5 代表文件或者文件夹的用户组root,有读和执行的权限

r-x  第三组 5 代表其他组的所属用户对这个文件或文件夹的权限:读和执行

比如以下案例:

[root@localhost ~]# mkdir b
[root@localhost ~]# pwd
/root
[root@localhost ~]# ll
total 12
-rw-r--r--. 1 root root   14 Nov 11 03:16 1.log
drwxr-xr-x. 7 root root  102 Nov 10 02:41 a
-rw-------. 1 root root 1817 Nov  9 19:07 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Nov 11 05:34 b
-rw-r--r--. 1 root root 1848 Nov  9 19:17 initial-setup-ks.cfg
[root@localhost ~]# cp 1.log /root/b/
[root@localhost ~]# ll
total 12
-rw-r--r--. 1 root root   14 Nov 11 03:16 1.log
drwxr-xr-x. 7 root root  102 Nov 10 02:41 a
-rw-------. 1 root root 1817 Nov  9 19:07 anaconda-ks.cfg
drwxr-xr-x. 2 root root   19 Nov 11 05:35 b
-rw-r--r--. 1 root root 1848 Nov  9 19:17 initial-setup-ks.cfg
[root@localhost ~]# du -sh 1.log
4.0K    1.log
[root@localhost ~]# du -sh b
4.0K    b
[root@localhost ~]# 

案例:

/tmp       是一个系统产生临时文件的存放目录,同时每个用户都可以对他进行读写操作

[root@localhost /]# cd /tmp

[root@localhost tmp]#echo "www.baidu.com" >> 1.log

[root@localhost tmp]# ll
total 2288
-rw-r--r--. 1 root root     14 Nov 11 20:04 1.log
 

[root@localhost tmp]# su - jepson
[jepson@localhost ~]$ cd /tmp
[jepson@localhost tmp]$ cat 1.log
www.baidu.com
[jepson@localhost tmp]$ ll
total 2288
-rw-r--r--. 1 root root     14 Nov 11 20:04 1.log

jepson用户只有读的权限,现在给jepson用户加一个写(w)的权限

[jepson@localhost tmp]$ vi /tmp/1.log    ----第一次编辑,可以编辑,保存失败,ctrl+z中断操作

因为是ctrl+z中断操作的,所以会产生swp文件,在编辑退出是输入q!,强制退出,不会产生swp文件

姑且以ctrl+z中断为例子

第二次编辑,先给jepson添加一个写的权限

新建会话,切换到root,给jepson添加一个写的权限

[root@localhost tmp]# chmod 646 1.log
[root@localhost tmp]# 
total 12
-rw-r--rw-. 1 root root   14 Nov 11 03:16 1.log
drwxr-xr-x. 7 root root  102 Nov 10 02:41 a

切换到会话jepson登录的会话,尝试编辑

[jepson@localhost ~]$ vi /tmp/1.log 

提示如下:

E325: ATTENTION
Found a swap file by the name
"/tmp/.1.log.swp"                     ----  .1.log.swp 隐藏的缓存文件

wq!的时候会提示:

"/tmp/1.log" E212: Can't open file for writing
Press ENTER or type command to continue                                 
  ----无法保存,ctrl+z中断操作

/tmp/.1.log.swp  此文件需要删除之后 ,才能编辑1.log

[root@localhost ~]# cd /tmp

[jepson@localhost tmp]$ rm -f .1.log.swp 或者 rm -f /tmp/.1.log.swp
[jepson@localhost tmp]$ vi /tmp/1.log           我添加了两行2
[jepson@localhost tmp]$ cat 1.log
www.baidu.com
222222222222
222222222222                                  ------修改成

给jepson追加用户组root,然后通过修改用户组的权限,给jepson添加一个写的权限

将1.log文件的权限修改为初始设置的权限 ---撤回第三组之前赋予的写的权限

[root@localhost tmp]# chmod 644 1.log

切换jepson登录的会话进行编辑,添加一行3

[jepson@localhost tmp]$ vi /tmp/1.log
"1.log" E212: Can't open file for writing                     -----已经不能写入了
Press ENTER or type command to continue

切换root登录的会话         
[root@localhost tmp]# usermod -a -G root jepson         ----将jepson用户添加到root用户组
[root@localhost tmp]# id jepson                                  ----查询一下
uid=1003(jepson) gid=1003(jepson) groups=1003(jepson),0(root)    ----已经添加好了

[root@localhost tmp]# ll
total 3048
-rw-rw-r--. 1 jepson jepson      40 Nov 12 00:18 !
-rw-r--r--. 1 root   root        40 Nov 12 00:18 1.log    ----root 用户组只有读(r)的权限

[root@localhost tmp]# chmod 664 /tmp/1.log          ----给用户组追加一个写(w)的权限
[root@localhost tmp]# ll                                            ----查看一下
total 3048
-rw-rw-r--. 1 jepson jepson      40 Nov 12 00:18 !
-rw-rw-r--. 1 root   root        40 Nov 12 00:18 1.log  -----已经修改好了

切换jepson的会话,验证一下写(w)的权限,编辑1.log,添加一行3

[jepson@localhost tmp]$ vi /tmp/1.log     

提示:
"1.log" E212: Can't open file for writing                        -----还不能写入
Press ENTER or type command to continue

我重新登录一下jepson用户,再测试
[jepson@localhost ~]$ vi /tmp/1.log
[jepson@localhost ~]$ cat /tmp/1.log 
www.baidu.com
222222222222
222222222222
333333333333                                                             -----保存成功

注意:修改用户组的权限,该用户组的用户需要重新登录权限才能生效


 

7.查看文件、文件夹大小

查看文件大小使用:

ll

du -sh xxx.log

查看文件夹大小使用:

du -sh yyy



 

8.搜索 find

history 历史记录

ps -ef 查看进程

top  系统情况

某个大数据组件hadoop,部署在哪里呢?

[root@localhost tmp]# cd /usr/local

[root@localhost local]# mkdir xxxhadoopxxx
[root@localhost local]# mkdir hadoop

[root@localhost local]# find / -name '*hadoop*'
[root@localhost local]# find /usr/local -name '*hadoop*'

find 路径 -name  '*xxx* '                 *为模糊查询
 


   


 


 

         


 


 

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值