su sudo 命令

1  su 命令bash

产生缘由:  因用户之间,有时候要相互切换,为了方便,就产生了su命令。ide

a.  root  用户切换到普通用户:ui

su  username  这样子就能够切换,但切换后,目录还在原来以前的目录spa

如:ip

root@nfyx:~# pwd
/root
root@nfyx:~# su nfyx
nfyx@nfyx:/root$ pwd
/root
nfyx@nfyx:/root$

it

若想要连着家目录一块儿改变:class

su -  username   这样子,就会切换到本身的家目录配置

root@nfyx:~# pwd
/root
root@nfyx:~# su - nfyx
nfyx@nfyx:~$ pwd
/home/nfyx
nfyx@nfyx:~$


file

b.    普通用户切换到root用户:权限

就直接输入su 命令(一样若不加- ,那么目录也不会被切换),但,会要求你输入密码

如:

nfyx@nfyx:~$ id
uid=1000(nfyx) gid=1000(nfyx) 组=1000(nfyx),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
nfyx@nfyx:~$ su
密码:
root@nfyx:/home/nfyx#

root@nfyx:/home/nfyx# pwd
/home/nfyx
root@nfyx:/home/nfyx#

若加-

nfyx@nfyx:~$ su -
密码:
root@nfyx:~# pwd
/root
root@nfyx:~#

简单总结: su 普通用户到root用户须要输入密码,反之则不会要求输入密码,加-和不加-, 则表示家目录是否切换。

提示:普通用户之间的相互切换,也须要输入对应用户的密码。


c. 其次,它还能够,以指定用户建立文件或目录

       su -   -c  "touch  filename "   username 

   (su   - (家目录)   -c  (建立)    "建立文件或目录的命令"   username(表示以哪一个用户来建立))

   su -   -c 'mkdir dir name'  username


root@nfyx:~# pwd
/root

root@nfyx:~# su - -c 'mkdir aaa' nfyx
root@nfyx:~# pwd

/root
root@nfyx:~# su - -c 'touch bbb.txt' nfyx
root@nfyx:~# ls -l /home/nfyx/
总用量 204
drwxrwxr-x  2 nfyx nfyx   4096 11月  2 09:48 aaa
-rw-rw-r--  1 nfyx nfyx      0 11月  2 09:48 bbb.txt
-rwxr-xr-x  1 nfyx nfyx 151024 10月 25 13:20 cp
-rw-r--r--  1 nfyx nfyx   8980 9月  25 17:34 examples.desktop
drwxrwxrwx  1 root root   4096 10月 30 09:58 sddata

附加:

1 当一个用户不存在家目录时,能够为其建立家目录,并改其权限

root@nfyx:/home# mkdir username
root@nfyx:/home# chown username:username username

2 还须要加入默认的配置文件:

默认配置文件的原始目录在:

root@nfyx:/home# ll /etc/skel/
总用量 28
drwxr-xr-x.  2 root root  4096 8月  29 18:14 .
drwxr-xr-x. 99 root root 12288 11月  1 10:35 ..
-rw-r--r--   1 root root    18 8月   3 2016 .bash_logout
-rw-r--r--   1 root root   193 8月   3 2016 .bash_profile
-rw-r--r--   1 root root   231 8月   3 2016 .bashr
c
3  把默认配制文件给复件过去,并改其全部者和所属组

root@nfyx:/home# cp /etc/skel/.bash*  /home/username/
root@nfyx:/home# chown -R username:username /home/username/

这样子切换以后,用户间的切换就能够正常显示了。


sudo

visudo  修改相关的配制命令

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
nfyx      ALL=(ALL)     NOPASSWD:/bin/ls,  /bin/vm ,  /bin/useradd

相关的参考资料较上,等以后,了解更多了,再补上

相关文章
相关标签/搜索