su、sudo命令、限制root远程登录

简介:

[root@localhost ~]# su - lsx //加上-切换到自己的家目录下

 

[root@localhost ~]# su - -c "touch /tmp/lsx.txt" lsx //以指定用户的身份执行命令

[root@localhost ~]# su - lsx -c "touch /tmp/lsx.txt" //以指定用户的身份执行命令

 

[root@localhost ~]# ll /tmp/

-rw-rw-r--. 1 lsx   lsx     0 10月 21 11:56 lsx.txt

 

[root@localhost user6]# su - user8

su: 警告:无法更改到 /home/user8 目录没有那个文件或目录

-bash-4.2$   //因为没有家目录,没有家目录里的文件

[root@localhost ~]# mkdir /home/user8

[root@localhost ~]# chown user8:user8 /home/user8

[root@localhost ~]# ls -la /etc/skel/

drwxr-xr-x.  2 root root   59 10月 15 22:36 .

drwxr-xr-x. 73 root root 8192 10月 21 12:09 ..

-rw-r--r--.  1 root root   18 6月  10 2014 .bash_logout

-rw-r--r--.  1 root root  193 6月  10 2014 .bash_profile

-rw-r--r--.  1 root root  231 6月  10 2014 .bashrc

[root@localhost ~]# cp /etc/skel/.bash* /home/user8

[root@localhost ~]# chown user8:user8 /home/user8 -R

[root@localhost ~]# su - user8

上一次登录:六 10月 21 12:13:33 CST 2689pxs/0 

[user8@localhost ~]$

 

3.8 sudo命令

Sudo:让普通用户临时执行命令以指定身份执行(一般授权root身份)

[root@localhost ~]# visudo //这种方式执行可以检测错误

 

## Allow root to run any commands anywhere

ALL=(ALL)  前面ALL表示Ip、主机。 右边ALL(指授予哪个用户身份)

ALL  后边ALL表示所有命令

root    ALL=(ALL)       ALL

lsx     ALL=(ALL)       /usr/bin/ls,/usr/bin/mv,/usr/bin/cat

user1   ALL=(ALL)     NOPASSWD: /usr/bin/ls,/usr/bin/mv,/usr/bin/cat

 

[lsx@localhost ~]$ sudo /usr/bin/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 lsx:

11. txt1.txt  2.txt  anaconda-ks.cfg  lsx  lsx.txt  qq.jpg

 

[lsx@localhost ~]$ ls /root/

ls: 无法打开目录/root/: 权限不够

[lsx@localhost ~]$ sudo /usr/bin/ls /root/

11.txt1.txt  2.txt  anaconda-ks.cfg  lsx  lsx.txt  qq.jpg

[lsx@localhost ~]$ sudo /usr/bin/cat /root/1.txt

 

[root@localhost ~]# su - user1

[user1@localhost ~]$ id

uid=1006(user1) gid=1006(user1) =1006(user1),1003(user3) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[user1@localhost ~]$ sudo /usr/bin/ls /root/  //NOPASSWD不需要密码

11. txt1.txt  2.txt  anaconda-ks.cfg  lsx  lsx.txt  qq.jpg

 

# User_Alias ADMINS = jsmith, mikem

User_Alias LSHX = lsx,user1,user2  //用户组

 

# Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

Cmnd_Alias LSHX_CMD = /usr/bin/ls,/usr/bin/cat,/usr/bin/mv  //密码组

 

## Allow root to run any commands anywhere

root    ALL=(ALL)       ALL

##lsx     ALL=(ALL)       /usr/bin/ls,/usr/bin/mv,/usr/bin/cat

##user1   ALL=(ALL)     NOPASSWD: /usr/bin/ls,/usr/bin/mv,/usr/bin/cat

LSHX    ALL=(ALL)       NOPASSWD: LSHX_CMD

 

3.9 限制root远程登录

Root不允许登录,只允许登录普通用户,(root密码保密),sudo /usr/bin/su,就不需要密码了。(前提限制root用户远程登录)

# User_Alias ADMINS = jsmith, mikem

User_Alias LSHX = lsx,user1,user2

 

# Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

Cmnd_Alias LSHX_CMD = /usr/bin/ls,/usr/bin/cat,/usr/bin/mv,/usr/bin/su

 

## Allow root to run any commands anywhere

root    ALL=(ALL)       ALL

##lsx     ALL=(ALL)       /usr/bin/ls,/usr/bin/mv,/usr/bin/cat

##user1   ALL=(ALL)     NOPASSWD: /usr/bin/ls,/usr/bin/mv,/usr/bin/cat

LSHX    ALL=(ALL)       NOPASSWD: LSHX_CMD  //执行这个命令时不要输入密码

 

[root@localhost ~]# su - lsx

上一次登录:六 10月 21 13:17:01 CST 2689pxs/0 

[lsx@localhost ~]$ sudo /usr/bin/su - root

上一次登录:六 10月 21 13:18:28 CST 2689pxs/0 

 

限制root远程登录配置文件

[root@localhost ~]# vi /etc/ssh/sshd_config

# Authentication:

 

#LoginGraceTime 2m

#PermitRootLogin yes  //需要修改去掉#yes改为no

#StrictModes yes

#MaxAuthTries 6

[root@localhost ~]# systemctl restart sshd.service



本文转自 虾米的春天 51CTO博客,原文链接:http://blog.51cto.com/lsxme/1977980,如需转载请自行联系原作者

相关文章
|
4月前
|
Linux Shell 数据安全/隐私保护
linux命令之sudo/su
linux命令之sudo/su
38 7
|
6月前
|
Ubuntu 安全 Linux
su,su -,su - root,sudo,sudo -i,sudo su - 有何不同,在ubuntu和centos上用法有什么异同?
sudo -i命令:在Ubuntu和CentOS中,sudo -i命令可以启动一个新的shell会话,并将环境变量设置为root用户的环境变量。在使用该命令时同样需要输入当前用户的密码进行身份验证。
63 0
|
10月前
|
安全 Shell 开发工具
su 和su - 有何区别?sudo和su有何区别?
在实际工作中,曾经遇到切换用户环境变量无法加载的问题。其原因就是对su 和su -的区别认识有问题。
148 0
|
Ubuntu 数据安全/隐私保护
UBUNTU安装后的root/su密码问题
UBUNTU安装后的root/su密码问题
387 0
|
Linux 数据安全/隐私保护
Linux普通用户设置root用户密码——sudo命令报错解决方法
Linux普通用户设置root用户密码——sudo命令报错解决方法
1255 0
Linux普通用户设置root用户密码——sudo命令报错解决方法
|
Shell 数据安全/隐私保护
su和sudo
su和sudo是我们常常需要用到的Linux命令,下面就将一下该命令怎么具体怎么使用,区别在哪
979 0
|
Shell 数据安全/隐私保护
3.7 su命令 3.8 sudo命令 3.9 限制root远程登录
3.7 su命令 3.8 sudo命令 3.9 限制root远程登录   su命令 切换用户 [root@centos_1 ~]# su - xiaobo   [root@centos_1 ~]# su - xiaobo 最后一次失败的登录:二 11月 21 01:43:41 CST 2017pts/0 上 最有一次成功登录后有 1 次失败的登录尝试。
1577 0
|
Shell 数据安全/隐私保护 网络安全
|
安全 数据安全/隐私保护