[Linux]CentOS7:创建OS用户+授予sudo权限
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 (将用户设置到指定用户组)
# su 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 参考文献
本文作者:
千千寰宇
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!