1 创建OS用户+授予sudo权限

Step1 下载安装Xshell、Xftp工具

Step2 通过Xshell,远程登陆服务器root用户

Step3 使用检查用户的命令查询当前linux环境是否存在用户hello

cat /etc/passwd | grep -i hello

Step4 若无用户hello,则:创建用户

su
(输入root用户密码)
useradd hello
方法2:
groupadd hellogroup # 创建用户组
useradd -g hellogroup hello # 创建用户并加入指定的用户组
groups hellogroup # 查看指定用户组内的用户
passwd hello
(输入/设置 hello用户的新密码)

此时 /home目录下会新增一个用户主目录: /home/hello

Step5 授予hello用户sudo权限

# whereis sudoers
sudoers: /etc/sudoers.d /etc/sudoers /usr/share/man/man5/sudoers.5.gz # chmod ug+rw /etc/sudoers [授予 sudoers文件的读【写】权限]
ll /etc/sudoers [查看有无读写权限] # vi /etc/sudoers
新增一行 "hello ALL=(ALL) ALL" (在"root ALL=(ALL) ALL"行下)

[延申]Step6 查看、修改用户组

# cat /etc/group
root:x:0:
...
...
ntp:x:38:
screen:x:84:
apache:x:48:
etl:x:1001:
mysql:x:27:
slocate:x:21:
postgres:x:26:
hadoop:x:1002:zookeeper,elasticsearch,mongodb,kafka,hdfs,yarn,mapred,hbase,hive,hcat,spark,infra-solr,logsearch,ams,storm,flink
elasticsearch:x:1003:elasticsearch
mongodb:x:1004:
hdfs:x:1005:hdfs
rpc:x:32:
spark:x:1006:
ranger:x:1007:ranger
flink:x:1008:
redis:x:996:
datamining:x:1021: # usermod -g groupName userName (将用户设置到指定用户组) # groups (查看当前登录用户所属组)
hadoop

2 扩展1

CASE1: 非root用户如何判断是否有sudo权限?

在Mac或Linux电脑上一个非root用户,如何判断自己是否有root权限的呢?如何知道这个账户是否有root权限的呢?

# sudo -i
(输入当前非root账户的密码)
  • 如果提示sorry,则:说明本身账户没有root权限/sudo权限
  • 如果提示root#,则:说明账户具有root权限/sudo权限

CASE2: 具有sudo权限的用户如何在无root密码的情况下切换到root用户?

xx$ sudo -i
(输入当前sudo用户的密码 即可)

CASE3: su、sudo、sudo su、sudo -i的用法和区别

sudo <shell command>: 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
Eg: sudo cat /etc/passwd
sudo su :运行sudo命令给su命令提权,运行su命令。
sudo su :运行结果 PWD=/home/用户名(当前用户主目录) su <userName>: 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。 sudo -i: 具有sudo权限的普通用户登录到root用户环境下。为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。
sudo -i 直接运行sudo命令加-i参数
sudo -i 运行结果 PWD=/root sudo -s : 只是一个有 root 权限的 shell。
sudo su : 约等于 sudo -i
sudo -s 完全等于 sudo /bin/bash 约等于 sudo su
sudo 终究被一个"临时权限的帽子"扣住,不能完全等价于纯粹的登录到系统里。

3 扩展2

CASE1 chown: 修改文件(夹)的所有者和所属组

# chown sdc.sdcGroup fileName
# chown -R sdc.sdcGroup /opt/hello-dir

# chown -R userName:groupName fileName
# chown -R userName:groupName dirPath

CASE2 查看 用户主目录

  • 查看 用户主目录
[方法1]
# echo $HOME [方法2]
# cd ~
# pwd


X 参考文献

[Linux]CentOS7:创建OS用户+授予sudo权限的更多相关文章

  1. Linux中给普通用户添加sudo权限

    使用Linux系统时,经常会被要求使用超级权限,但是root的权限太过大了,一般慎用!!!因此可以通过给普通用户添加sudo权限,平常用普通用户进行操作,当需要root权限的时候进行sudo操作.以下 ...

  2. blfs(systemd版本)学习笔记-编译安装sudo并创建普通用户配置sudo权限

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs书中sudo的安装配置章节:http://www.linuxfromscratch.org/blfs/view/stab ...

  3. blfs(systemv版本)学习笔记-编译安装sudo并创建普通用户配置sudo权限

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! blfs书中sudo的安装配置章节:http://www.linuxfromscratch.org/blfs/view/8.3/ ...

  4. 自动添加Linux登录账户,并授予sudo权限

    #!/bin/bash USER=test PASS=$USER GROUP=root HOME=/data/home/$USER # if user not exist if [[ $(cat /e ...

  5. 【linux】linux创建用户并授予sudo权限

    1. 新建用户 root@ubuntu:~# adduser hadoop root@ubuntu:~# passwd hadoop #为hadoop用户设置密码 2. 为hadoop用户添加sudo ...

  6. Linux用户配置sudo权限

    Linux用户配置sudo权限 创建sudo权限用户 #useradd supope #passwd supope #visudo #supope         ALL=(ALL)       AL ...

  7. Linux给用户添加sudo权限

    一.linux给用户添加sudo权限: 有时候,linux下面运行sudo命令,会提示类似: xxxis not in the sudoers file.  This incident will be ...

  8. Linux系统下给非root用户添加sudo权限

    Linux系统下给非root用户添加sudo权限 有时,在linux系统中非root用户运行sudo命令,会提示类似信息:  xxx is not in the sudoers file. This ...

  9. Linux系统下为普通用户加sudo权限

    Linux下为普通账号加sudo权限 1. 错误提示:当我们使用sudo命令切换用户的时候可能会遇到提示以下错误:xxx is not in the sudoers file. This incide ...

  10. 04.给linux用户添加sudo权限

    linux给用户添加sudo权限: 有时候,linux下面运行sudo命令,会提示类似: xxxis not in the sudoers file.  This incident will be r ...

随机推荐

  1. Phpstorm 最新永久激活教程

    使用ja-netfilter激活Jetbrains系列软件 注意:无限试用脚本已经失效.本教程适合2021.3.*之上的高版本,使用ja-netfilter插件进行激活操作,永久有效 激活步骤: 第一 ...

  2. XML_DTD_20200415

    <!-- xml的注释写法 --> 格式良好的xml语言必须具备的几个条件  1.必须有xml声明语句,声明版本号与编码字符集 2.必须有且仅有一个根元素 3.标签大小写敏感  4.属性值 ...

  3. connect及bind、listen、accept背后的三次握手

    如图所示打上断点,分别找出connect() bind() listen() accpet()对应的函数 源码在上一次作业中已经分析过了 https://www.cnblogs.com/qwertyu ...

  4. idea的tomcat控制台输出乱码

    tomcat乱码问题 idea的tomcat控制台输出乱码 找到自己的安装目录 用vscode打开 ctrl+f打开搜索 输入encoding 最后一个是用来给idea中的控制台输出 --->改 ...

  5. C#中Socket连接请求的超时设置

    C#中Socket连接请求的超时设置 <转载> C#中, 对于Socket的请求,无论是同步还是异步,都没有提供超时机制,SendTimeout,ReceiveTimeout均无用.. 对 ...

  6. VS 2022创建ATL组件 (C++)

    https://www.cnblogs.com/chechen/p/8119018.html 步骤如下: 1.新建ATL项目 打开Visual Studio 2022 新建ATL项目 2.添加接口类. ...

  7. 微信小程序中如何识别银行卡和身份证

    识别银行卡云函数card2/index.js: const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRE ...

  8. 使用ActiveMQ中遇到的端口占用问题

    原Linux虚拟机中安装了ActiveMQ,EMQX.后期使用中主要使用EMQX来实现消息服务,停止了ActiveMQ.但是虚拟机挂起之后,长时间未再使用.近期由于有使用ActiveMQ的需要,而临时 ...

  9. IDEA中使用JDBC连接MySQL数据库报错:No appropriate protocol (protocol is disabled or cipher suites are inappropriate) 的解决方法

    在IDEA中使用JDBC连接MySQL,程序运行之后报错: 定位到第16行: 根据上面报错提示,在url参数字段最前面添加参数  useSSL=false  : 再次运行程序,成功连接到数据库!

  10. 深入理解 Python 虚拟机:整型(int)的实现原理及源码剖析

    深入理解 Python 虚拟机:整型(int)的实现原理及源码剖析 在本篇文章当中主要给大家介绍在 cpython 内部是如何实现整型数据 int 的,主要是分析 int 类型的表示方式,分析 int ...