linux给用户添加sudo权限:
有时候,linux下面运行sudo命令,会提示类似:
xxx is not in the sudoers file. This incident willbe reported.(xxx 不在 sudoers 文件中。此事将被报告。)
这里,xxx是用户名称,然后导致无法执行sudo命令。
这时候,如下解决:
进入超级用户模式。也就是输入"su - root",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root用户)
root用户下,给sudoers文件添加写权限,输入以下命令:
sudoers文件是只读权限 # ll /etc/sudoers -r--r-----. 1 root root 3938 6月 7 2017 /etc/sudoers 授予属主写权限 # chmod u+w /etc/sudoers # ll /etc/sudoers -rw-r-----. 1 root root 3938 6月 7 2017 /etc/sudoers
编辑/etc/sudoers文件:
vim /etc/sudoers",进入编辑模式
找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出。
在普通用户下查看/root目录下有哪些文件?
默认情况下普通用户是不能查看/root目录的
[test@SD ~]$ ls /root/
ls: 无法打开目录/root/: 权限不够
授予普通用户的sudo权限后,用sudo命令即可查看了:
[test@SD ~]$ sudo ls /root/ #用sudo执行查看命令
[sudo] test 的密码: #输入普通用户的密码
nginx-1.12.2 #输入密码后,即可显示root目录下有哪些文件
最后撤销文件的写权限,输入命令:
chmod u-w /etc/sudoers
就行了。
tomcat项目就是用的root用户去管理配置并启动,现需要给其它人员一个普通用户登录到服务器,但这个普通用户需要去启停tomcat项目,因权限又是root用户,所以采用sudo命令来启停tomcat服务
#普通用户登录查看tomcat进程
[test@SD ~]$ ps -ef |grep java
root 4639 1 6 11:13 ? 00:00:23 /usr/java/jdk1.6.0_45/bin/java -Djava.util.logging.config.file=/opt/
tomcat-6.0-ws-8080/conf/logging.properties -Djav.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/opt/tomcat-6.0-6080/endorsed -classpath
/opt/tomcat-6.0-ws-6080/bin/bootstrap.jar -Dcatalina.base=/opt/tomcat-6.0-8080 -Dcatalina.home=/opt/tomcat-6.0-ws-8080
-Djava.io.tmpdir=/web/test-server/tomcat-6.0ws-8080/temp org.apache.catalina.startup.Bootstrap start
test 5193 5168 0 11:18 pts/1 00:00:00 grep --color=auto java
#切换到bin目录下
[test@SD ~]$ cd /opt/tomcat-6.0-ws-8080/bin
#sudo命令停止tomcat项目
[test@SD bin]$ sudo ./shutdown.sh
[sudo] test 的密码:
Using CATALINA_BASE: /opt/tomcat-6.0-ws-8080
Using CATALINA_HOME: /opt/tomcat-6.0-ws-8080
Using CATALINA_TMPDIR: /opt/tomcat-6.0-ws-8080/temp
Using JRE_HOME: /usr/java/jdk1.6.0_45
Using CLASSPATH: /opt/tomcat-6.0-ws-8080/bin/bootstrap.jar
#停掉tomcat后,清除work缓存
[test@SD bin]$ sudo rm -rf ../work/
#sudo启动tomcat项目
[test@SD bin]$ sudo ./startup.sh
Using CATALINA_BASE: /opt/tomcat-6.0-ws-8080
Using CATALINA_HOME: /opt/tomcat-6.0-ws-8080
Using CATALINA_TMPDIR: /opt/tomcat-6.0-ws-8080
Using JRE_HOME: /usr/java/jdk1.6.0_45
Using CLASSPATH: /opt/tomcat-6.0-ws-8080
#在次查看tomcat进程
[test@SD bin]$ ps -ef |grep java
root 5594 1 99 11:25 pts/1 00:00:14 /usr/java/jdk1.6.0_45/bin/java -Djava.util.logging.config.file=/opt/
tomcat-6.0-ws-8080/conf/logging.properties -Djav.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/opt/tomcat-6.0-ws-8080/endorsed -classpath /opt/tomcat-6.0-ws-8080
/bin/bootstrap.jar -Dcatalina.base=/opt/tomcat-6.0-ws-8080 -Dcatalina.home=/opt/tomcat-6.0-ws-8080 -Djava.io.tmpdir=/opt/
tomcat-6.0-ws-8080/temp org.apache.catalina.startup.Bootstrap start
test 5624 5168 0 11:25 pts/1 00:00:00 grep --color=auto java
转载于:https://blog.51cto.com/meiling/2341472