1 su 命令
产生原因: 因用户之间,有时候要相互切换,为了方便,就产生了su命令。
a. root 用户切换到普通用户:
su username 这样子就可以切换,但切换后,目录还在原来之前的目录
如:
root@nfyx:~# pwd
/root
root@nfyx:~# su nfyx
nfyx@nfyx:/root$ pwd
/root
nfyx@nfyx:/root$
若想要连着家目录一起改变:
su - username 这样子,就会切换到自己的家目录
root@nfyx:~# pwd
/root
root@nfyx:~# su - nfyx
nfyx@nfyx:~$ pwd
/home/nfyx
nfyx@nfyx:~$
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#
/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 .bashrc
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
相关的参考资料较上,等之后,了解更多了,再补上