数据仓库003 - 复习Linux shell命令 - 用户用户组 sudo 权限 du-sh find
一、用户用户组
[root@localhost ~]# ll /usr/sbin/user* -rwxr-x--- 1 root root 74544 2009-11-27 /usr/sbin/useradd -rwxr-x--- 1 root root 53676 2009-11-27 /usr/sbin/userdel -rws--x--x 1 root root 32780 2008-09-09 /usr/sbin/userhelper -rwsr-xr-x 1 root root 6728 2009-06-09 /usr/sbin/userisdnctl -rwxr-x--- 1 root root 74480 2009-11-27 /usr/sbin/usermod -rwsr-xr-x 1 root root 6820 2009-07-13 /usr/sbin/usernetctl [root@localhost ~]# ll /usr/sbin/group* -rwxr-x--- 1 root root 39120 2009-11-27 /usr/sbin/groupadd -rwxr-x--- 1 root root 30568 2009-11-27 /usr/sbin/groupdel -rwxr-x--- 1 root root 30256 2009-11-27 /usr/sbin/groupmod [root@localhost ~]#
1、添加用户
[root@localhost ~]# useradd xiaodi [root@localhost ~]# id xiaodi uid=609(xiaodi) gid=611(xiaodi) groups=611(xiaodi) context=root:system_r:unconfined_t:SystemLow-SystemHigh [root@localhost ~]#
创建一个普通用户xiaodi,默认创建这个名称的用户组xiaodi,且设置这个用户 主组为xiaodi,且创建/home/xiaodi
2、删除用户
[root@localhost home]# userdel xiaodi
[root@localhost home]# id xiaodi
id: xiaodi:无此用户
[root@localhost home]# cat /etc/passwd | grep xiaodi
[root@localhost home]# cat /etc/group | grep xiaodi
[root@localhost home]#
因为xiaodi该组只有xiaodi用户,当这个用户删除时,组会校验就他自己,会自动删除
3、重新创建用户:xiaodi
[root@localhost home]# useradd xiaodi Creating mailbox file: 文件已存在 useradd:警告:此主目录已经存在。 不从 skel 目录里向其中复制任何文件。 [root@localhost home]# id xiaodi uid=609(xiaodi) gid=611(xiaodi) groups=611(xiaodi) context=root:system_r:unconfined_t:SystemLow-SystemHigh [root@localhost home]#
4、模拟切换用户丢失样式
当登录该用户后,样式变为-bash-4.2$ ,则需要执行命令,复制样式格式:cp /etc/skel/.* /home/xiaodi
5、添加xiaodi用户到另外一个组 bigdata
[root@localhost ~]# groupadd bigdata [root@localhost ~]# cat /etc/group |grep bigdata bigdata:x:612: [root@localhost ~]# usermod -a -G bigdata xiaodi [root@localhost ~]# id xiaodi uid=609(xiaodi) gid=611(xiaodi) groups=611(xiaodi),612(bigdata) context=root:system_r:unconfined_t:SystemLow-SystemHigh [root@localhost ~]#
6、修改bigdata为xiaodi的主组
[root@localhost ~]# usermod -a -G bigdata xiaodi [root@localhost ~]# id xiaodi uid=609(xiaodi) gid=611(xiaodi) groups=611(xiaodi),612(bigdata) context=root:system_r:unconfined_t:SystemLow-SystemHigh [root@localhost ~]# usermod --gid bigdata xiaodi [root@localhost ~]# id xiaodi uid=609(xiaodi) gid=612(bigdata) groups=612(bigdata) context=root:system_r:unconfined_t:SystemLow-SystemHigh [root@localhost ~]# usermod -a -G xiaodi xiaodi [root@localhost ~]# id xiaodi uid=609(xiaodi) gid=612(bigdata) groups=612(bigdata),611(xiaodi) context=root:system_r:unconfined_t:SystemLow-SystemHigh [root@localhost ~]#
7、设置密码
[root@localhost ~]# passwd xiaodi Changing password for user xiaodi. New UNIX password: BAD PASSWORD: it is too simplistic/systematic Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@localhost ~]#
8、切换用户
[root@localhost ~]# su - xiaodi
[xiaodi@localhost ~]$
su xiaodi
su - xiaodi
代表切换该用户的家目录,且执行环境变量文件
.bash_profile文件 su xiaodi不会执行,su - xiaodi 都执行
.bashrc文件 su xiaodi执行 ,su - xiaodi 都执行
9、普通用户获取root的最大权限
vi /etc/sudoers
xiaodi ALL=(root) NOPASSWD:ALL
二、sudo命令
对于普通用户而言有时候会遇到:“ls: cannot open directory .: Permission denied” 的权限的问题,表明目前普通用户正在运行root超级管理员权限的指令,如果对于该普通用户而言,非要运行该指令,就可以在该指令的前面添加 sudo 的关键字即可。
三、用户无法登录 passwd文件
四、权限 rwx------ chmod chown 案例
错误: Permission denied
·chmod -R 777 文件夹/文件路径
·chown -R 用户:用户组 文件夹/文件路径
对于文件或者文件夹的权限标识而言: d表示文件夹 -表示文件 l表示连接
如:rwx r-x r-x
r: read 4
w: write 2
x: 执行 1
-: 没权限 0
7=rwx
3=wx
5=rx
rwx 第一组 7 代表文件或文件夹的用户root,读写执行
r-x 第二组 5 代表文件或文件夹的用户组root,读执行
r-x 第三组 5 代表其他组的所属用户对这个文件或文件夹的权限: 读执行
d rwx r-x r-x 2 root root 6 Nov 16 22:15 xiaodi
chmod -R 777 文件夹/文件路径
chown -R 用户:用户组 文件夹/文件路径
777 代表任意的用户用户组 都读写执行 权限
实例:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
[root@localhost ~]# cd /tmp/ [root@localhost tmp]# ll 总计 108 drwx------ 3 linux linux 4096 11-10 22:04 gconfd-linux drwx------ 2 linux linux 4096 10-16 06:12 keyring-auFdRo drwx------ 2 linux linux 4096 10-16 06:01 keyring-AY1zU5 drwx------ 2 linux linux 4096 11-10 22:04 keyring-d9Zc9n drwx------ 2 linux linux 4096 11-01 05:06 keyring-Gg6isH drwx------ 2 linux linux 4096 10-23 00:45 keyring-GJV1cR drwx------ 2 linux linux 4096 10-15 21:34 keyring-O34ivV drwx------ 2 linux linux 4096 10-25 20:03 keyring-x5O2gc srwxrwxr-x 1 linux linux 0 11-10 22:04 mapping-linux drwx------ 2 linux linux 4096 11-22 00:22 orbit-linux -rw-rw-r-- 1 linux linux 5 11-22 01:22 scim-bridge-0.3.0.lockfile-500@localhost:0.0 srwxrwxr-x 1 linux linux 0 11-22 00:22 scim-bridge-0.3.0.socket-500@localhost:0.0 srw------- 1 linux linux 0 11-10 22:04 scim-helper-manager-socket-linux srw------- 1 linux linux 0 11-10 22:04 scim-panel-socket:0-linux srw------- 1 linux linux 0 11-10 22:04 scim-socket-frontend-linux drwx------ 2 linux linux 4096 11-10 22:04 ssh-uUAfXg5534 [root@localhost tmp]# echo "https://www.cnblogs.com/Raodi" >> rz.log [root@localhost tmp]# ll |grep rz -rw-r--r-- 1 root root 30 11-22 01:59 rz.log [root@localhost tmp]# su - xiaodi [xiaodi@localhost ~]$ cd /t tftpboot/ tmp/ [xiaodi@localhost ~]$ cd /tmp/ [xiaodi@localhost tmp]$ ll |grep rz -rw-r--r-- 1 root root 30 11-22 01:59 rz.log [xiaodi@localhost tmp]$ vi rz.log https://www.cnblogs.com/Raodi a ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [xiaodi@localhost tmp]$ ll -a 总计 176 drwxrwxrwt 15 root root 4096 11-22 02:01 . drwxr-xr-x 24 root root 4096 11-10 22:04 .. drwxrwxrwt 2 root root 4096 11-10 22:04 .font-unix drwx------ 3 linux linux 4096 11-10 22:04 gconfd-linux -rw------- 1 linux linux 66 11-22 00:25 .gdmD7A9A0 srw-rw-rw- 1 root root 0 11-10 22:04 .gdm_socket drwxrwxrwt 2 root root 4096 11-10 22:04 .ICE-unix drwx------ 2 linux linux 4096 10-16 06:12 keyring-auFdRo drwx------ 2 linux linux 4096 10-16 06:01 keyring-AY1zU5 drwx------ 2 linux linux 4096 11-10 22:04 keyring-d9Zc9n drwx------ 2 linux linux 4096 11-01 05:06 keyring-Gg6isH drwx------ 2 linux linux 4096 10-23 00:45 keyring-GJV1cR drwx------ 2 linux linux 4096 10-15 21:34 keyring-O34ivV drwx------ 2 linux linux 4096 10-25 20:03 keyring-x5O2gc srwxrwxr-x 1 linux linux 0 11-10 22:04 mapping-linux drwx------ 2 linux linux 4096 11-22 00:22 orbit-linux -rw-r--r-- 1 root root 30 11-22 01:59 rz.log -rw-rw-r-- 1 linux linux 5 11-22 01:22 scim-bridge-0.3.0.lockfile-500@localhost:0.0 srwxrwxr-x 1 linux linux 0 11-22 00:22 scim-bridge-0.3.0.socket-500@localhost:0.0 srw------- 1 linux linux 0 11-10 22:04 scim-helper-manager-socket-linux srw------- 1 linux linux 0 11-10 22:04 scim-panel-socket:0-linux srw------- 1 linux linux 0 11-10 22:04 scim-socket-frontend-linux drwx------ 2 linux linux 4096 11-10 22:04 ssh-uUAfXg5534 -r--r--r-- 1 root root 11 11-10 22:04 .X0-lock drwxrwxrwt 2 root root 4096 11-10 22:04 .X11-unix [xiaodi@localhost tmp]$ su - 口令: [root@localhost ~]# cd /tmp/ [root@localhost tmp]# ll |grep rz -rw-r--r-- 1 root root 30 11-22 01:59 rz.log [root@localhost tmp]# chmod 646 rz.log [root@localhost tmp]# ll |grep rz -rw-r--rw- 1 root root 30 11-22 01:59 rz.log [root@localhost tmp]# chmod 644 rz.log [root@localhost tmp]# usermod -a -G root xiaodi [root@localhost tmp]# ll |grep rz -rw-r--r-- 1 root root 30 11-22 01:59 rz.log [root@localhost tmp]# chmod 664 rz.log [root@localhost tmp]# ll |grep rz -rw-rw-r-- 1 root root 30 11-22 01:59 rz.log [root@localhost tmp]# usermod -a -G root xiaodi [root@localhost tmp]# ll |grep rz -rw-rw-r-- 1 root root 30 11-22 01:59 rz.log [root@localhost tmp]# su - xiaodi [xiaodi@localhost ~]$ cd /tmp/ [xiaodi@localhost tmp]$ ll |grep rz -rw-rw-r-- 1 root root 30 11-22 01:59 rz.log [xiaodi@localhost tmp]$ echo "sads">>rz.log [xiaodi@localhost tmp]$ cat rz.log https://www.cnblogs.com/Raodi sads [xiaodi@localhost tmp]$
ctrl+x/z 会产生swp文件 ll -a 删除即可 .rz.log.swp
五、其他命令
1、查看文件大小
[xiaodi@localhost tmp]$ ll |grep rz -rw-rw-r-- 1 root root 35 11-22 02:05 rz.log [xiaodi@localhost tmp]$ du -sh rz.log 8.0K rz.log [xiaodi@localhost tmp]$
2、查看文件夹大小
[root@localhost ~]# cd /tmp/ [root@localhost tmp]# ll |grep rz.log -rw-rw-r-- 1 root root 35 11-22 02:05 rz.log [root@localhost tmp]# mkdir bs [root@localhost tmp]# mv rz.log bs/ [root@localhost tmp]# du -sh bs/ 16K bs/ [root@localhost tmp]#
3、搜索 find
history 历史记录
ps -ef 查看进程
top 系统情况
[root@localhost tmp]# cd /usr/local/ [root@localhost local]# mkdir xxxhadoopxxx [root@localhost local]# mkdir hadoop [root@localhost local]# find / -name '*hadoop*' /usr/local/xxxhadoopxxx /usr/local/hadoop find: /proc/fs/vmblock/mountPoint: 没有那个文件或目录 [root@localhost local]# find /usr/local -name '*hadoop*' /usr/local/xxxhadoopxxx /usr/local/hadoop [root@localhost local]#
* 代表模糊匹配