su:
su - 用户名字
su - -c “touch /tmp/aming.111” aming1 使用 root 用户身份执行 aming1 的命令
-c = 使用当前用户执行其他用户命令
登陆用户 user5 如果没有夹目录的配置方法:
然后继续查找配置文件
再继续拷贝一份配置文件到user5的夹目录
!$=上一条命令的最后一个参数 !$=/home/user5/(最后一个参数)
普通用户和root用户的区别
普通用户时显示 $
root用户显示 #
当然普通用户可以使用 su 命令到 root 用户只需要知道root用户密码即可。
sudo:
给指定用户配置一个可以使用 root 用户的命令使用权限,命令必须使用绝对路径 /usr/bin/ls ,/usr/bin/mv 中间使用 , 分隔或者使用 ALL ALL=全部命令
普通用户必须创建一个密码,才可以用 sudo 命令。
写法:sudo /usr/bin/ls 文件或者目录
用法:sudo /usr/bin/ls 文件或者目录 或者 sudo ls 文件或者目录
给指定用户配置完以后按 ESC 在 : wq 保存退出。
然后切换到配置完文件以后的 普通用户 就可以再普通用户上面执行 root 指定的命令。第一次使用sudo命令必须输入密码。必须给普通用户创建一个密码。
同样也可以第一次使用 sudo 命令时不输入密码,配置文件时 在命令前面加上 NOPASSWD
NOPASSWD = 不需要密码登陆
限制root远程登陆:
如果想要使用普通用户本地登陆root用户可以配置文件 visudo 然后做一个User_Alias
开头字母要大写:User_Alias AMINGS = aming, user5, user6 (配置普通用户可以使用 su 登陆root 用户的权限)
然后在设定一个规则 AMINGS 里面包括了(aming,user5,user6) NOPASSD 表示执行命令 su 的时候不需要输入密码,保存退出即可。
下面配置就是限制root登陆更改配置文件:vi /etc/ssh/sshd_config
将PermitRootLogin的值改成no,并保存 如果允许登陆的话 PermitRootLogin 的值修改成 yes 即可
然后在重启ssh服务即可。 systemctl restart sshd.service = 重启ssh服务
限制root远程登陆后可以使用sudo 进行本地用户作为跳板然后进行普通用户远程登陆 root 用户。(要首先配置sudo才可以进行普通用户登陆root用户)
扩展
sudo与su比较 http://www.apelearn.com/bbs/thread-7467-1-1.html
sudo配置文件样例 www.opensource.apple.com/source/sudo/sudo-16/sudo/sample.sudoers
sudo不错的教程 http://www.jianshu.com/p/51338e41abb7
sudo -i 也可以登录到root吗? http://www.apelearn.com/bbs/thread-6899-1-1.html