文档章节

20180921 su与sudo命令、限制root用户通过ssh远程登录

野雪球
 野雪球
发布于 09/22 00:05
字数 950
阅读 15
收藏 1

su 命令

用户切换。

su  # 切换到root用户
su username   # 切换到username用户
# su 后面加-时,会初始化当前用户的各种环境
su - username 

# 指定用户执行某些命令  
su - -c "touch /tmp/testfile02.txt" test06 # 以test06用户身份在/tmp
                                           # 下创建了testfile02.txt

[root@centos01 ~]# su - -c "touch /tmp/testfile02.txt" test06
[root@centos01 ~]# ls -lt /tmp
total 124
-rw-rw-r--. 1 test06 test06      0 Sep 21 09:04 testfile02.txt

# 当要切换的用户没有家目录时
[root@centos01 ~]# useradd -M test08  # 创建不带家目录的用户test08
[root@centos01 ~]# su - test08  # 切换到test08,会有如下提示
su: warning: cannot change directory to /home/test08: No such file or directory
-bash-4.2$ pwd
/root
-bash-4.2$ logout
[root@centos01 ~]# id test08
uid=1006(test08) gid=1007(test08) groups=1007(test08)
[root@centos01 ~]# mkdir /home/test08  # 为test08创建家目录
[root@centos01 ~]# chown 1006:1007 /home/test08  #更改家目录有的用户及属组
[root@centos01 ~]# ls -l /home/test08 -d
drwxr-xr-x. 2 test08 test08 6 Sep 21 09:14 /home/test08
[root@centos01 ~]# su - test08 # 再次切换,还有提示,是因为缺少shell配置
Last login: Fri Sep 21 09:13:05 CST 2018 on pts/0
-bash-4.2$ pwd
/home/test08
-bash-4.2$ ls
-bash-4.2$ ls -a
.  ..
[root@centos01 ~]# ls /etc/skel/ -la  # 查看系统shell配置模板
total 24
drwxr-xr-x.  2 root root   59 Sep  7 09:48 .
drwxr-xr-x. 73 root root 8192 Sep 21 09:22 ..
-rw-r--r--.  1 root root   18 Jun 10  2014 .bash_logout
-rw-r--r--.  1 root root  193 Jun 10  2014 .bash_profile
-rw-r--r--.  1 root root  231 Jun 10  2014 .bashrc
[root@centos01 ~]# cp /etc/skel/.bash* /home/test08/  # 把模板拷贝到test08家目录
[root@centos01 ~]# id test08
uid=1006(test08) gid=1007(test08) groups=1007(test08)
[root@centos01 ~]# chown test08:test08 -R /home/test08/  #为这些配置文件更改用户及属组
[root@centos01 ~]# su - test08  # 再次切换,OK
Last login: Fri Sep 21 09:16:37 CST 2018 on pts/0
[test08@centos01 ~]$   # 普通用户shell最开始是$,root用户是#

sudo 命令

用su命令切换带root用户时,需要输入root用户的密码。这样很不安全,因此有了sudo命令。sudo可以让普通用户临时以指定用户的身份去执行一条命令。
visudo 打开sudo的配置文件(/etc/sudoers)。!!!不要使用vi命令直接打开,因为不会检查语法错误!!!
打开配置文件找到root ALL=(ALL) ALL

root 指定哪个用户有sudo 权限 左边的ALL指的是所有的主机,右边的ALL指的是获取哪个用户的 身份
第三段指可以使用sudo的命令有哪些,ALL表示所有的命令

在这行内容下面模仿写一条其他用户,就可以让该用户拥有sudo权限了。
test08 ALL=(ALL) /usr/bin/ls, /usr/bin/cat

[root@centos01 ~]# visudo #添加test08 ALL=(ALL)	/usr/bin/ls, /usr/bin/cat
[root@centos01 ~]# su - test08 # 切换到test08
Last login: Sat Sep 22 05:27:12 CST 2018 on pts/1
[test08@centos01 ~]$ ls /root/  # 没有权限
ls: cannot open directory /root/: Permission denied
[test08@centos01 ~]$ sudo ls /root/  

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for test08:  # 登录后第一次使用sudo时需要输入自身的密码
anaconda-ks.cfg  a.txt  d0917  link_test  s_link0.log  test.txt
[test08@centos01 ~]$ sudo ls /root/  # 之后不用再输入密码
anaconda-ks.cfg  a.txt  d0917  link_test  s_link0.log  test.txt

设置使用sudo 不需要密码 test07 ALL=(ALL) NOPASSWD: /usr/bin/ls, /usr/bin/cat

[root@centos01 ~]# visudo # 添加test07 ALL=(ALL)  NOPASSWD: /usr/bin/ls, /usr/bin/cat
[root@centos01 ~]# su - test07
[test07@centos01 ~]$ sudo ls /root
anaconda-ks.cfg  a.txt  d0917  link_test  s_link0.log  test.txt

限制root用户通过ssh远程登录:

对应的配置文件是/etc/ssh/sshd_config,修改配置文件中的#PermitRootLogin yes为 PermitRootLogin no, 之后重启ssh服务 systemctl restart sshd.service

© 著作权归作者所有

共有 人打赏支持
野雪球
粉丝 6
博文 26
码字总数 24214
作品 0
贵阳
su命令、sudo临时赋予其他用户权限命令、限制root用户远程登录

su命令 切换到其他用户格式:su - [用户名]su - user005 注意:加-保证完整的切换到user005的家目录下,不加-则切换到user005账号,但是当前目录却是之前用户的家目录; sudo命令 让普通用户...

若白衣
2017/12/27
0
0
linux centos7 中 su、sudo及禁止远程访问root

一、 su命令 1.切换用户su - fxq su命令后带"- ",表示环境变量一起切换过去 [root@VM_46_188_centos ~]# whoami root[root@VM_46_188_centos ~]#Last login: Tue Aug 8 22:30:12 CST 2017 on......

fengyunshan911
2017/08/17
0
0
三周第三次课(12月27日)

三周第三次课(12月27日) 3.7 su命令 su 切换用户 whoami id su -aming su aming 切换用户,但是没有切换家目录 su - -c "touch /tmp/aming.111" aming 以aming用户的身份去执行这个命令 切换...

大道争锋
2017/12/27
0
0
三周第三次课(11月1日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

3.7 su命令 su - 用户名 切换用户(加-彻底切换用户包括一些配置文件) 不加 - 的话 还会在root 家目录下 加 - 的话 就会在该目录的家目录下就会加载自己家目录下的配置文件 以普通用户执行命...

FindDx
2017/11/01
0
0
限制root远程登录 su和sudo命令

9月21日任务 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录 对于Linux而言,权限的重要性毋庸置疑!对于普通用户而言无法执行那些只有root用户才能有效的命令,导致工作无法有效进行; 系统...

robertt15
09/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

腾讯投资最高1.75亿美元正式进军菲律宾移动支付市场

菲律宾长途电话公司(PLDT)公司今日宣布,中国互联网巨头腾讯和私募股权公司KKR将获得该公司旗下金融科技公司Voyager Innovations的少数股权。 PLDT在一份声明中称:“腾讯和KKR最多将分别收...

linuxCool
21分钟前
2
0
正则介绍及grep/egrep用法

10月16日任务 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 扩展 把一个目录下,过滤所有*.php文档中含有eval的行 grep -r --include="*.php" 'eval' /data 正则介绍 正则就是一串有规律的字符...

hhpuppy
32分钟前
1
0
J2Cache 中使用 Lettuce 替代 Jedis 管理 Redis 连接

一直以来 J2Cache 都是使用 Jedis 连接 Redis 服务的。Jedis 是一个很老牌的 Redis 的 Java 开发包,使用很稳定,作者维护很勤勉,社区上能搜到的文章也非常非常多。算是使用范围最广的 Redi...

红薯
今天
12
0
一个可能的NEO链上安全随机数解决方案

0x00 困境 链上安全随机数生成应该算是一个比较蛋疼的问题,哪怕你的系统再牛逼,合约程序困在小小的虚拟机里,哪怕天大的本事也施展不开。 更悲催的是,交易执行的时候,是在每一个节点都执...

暖冰
今天
1
0
【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部