Linux 学习 一, useradd


  • 安装好VMware
  • 安装好Linux
  • 在安装Linux时候,建立了一个用户,dragon, 和密码。。。这个用户不是root用户,没有root权限
  • 可以切换dragon 到用户root,这个时候就有root权限了,密码和安装建立用户的密码相同
  • 使用普通用户,一些命令是不允许的,如下。
  • 普通用户和root用户

    http://blog.sina.com.cn/s/blog_67d873600100kst1.html

    http://www.cnblogs.com/xd502djj/archive/2011/11/23/2260094.html

  • 进入root用户

  • 此时仍然未发现命令useradd,利用locate 命令可以查看到有关useradd所有路径。

    进入/usr/sbin/,可以看到有useradd 程序。Why is it not found?

  • 可以利用全路径来找到命令,similar to windows

  • 问题来了,命令程序存在于一个路径中,在GNU bash执行一个命令,它是如何找到这些程序的呢? 秘密就在于有个OS环境变量,$PATH如上图所示,在环境变量中$PATH中并未包含/usr/sbin路径,所以GNU bash找不到未包含在此路径下程序命令。

  • Linux 中的bash, or shell, just same as cmd in Windows

  • 为了能够使用别的路径下command, 方法一:暂时的方法是将命令所在路径导出到当前OS 环境变量$PATH如上图所示,路径已经在当前环境变量中,且useradd  命令已可用。

  • 上述方法是暂时更改环境变量,也就是说GNU bash运行起来,它从文件中读取了环境变量,但是在运行过程中,可以通过export命令动态地更改此变量,环境变量对它来说就像一个变量。Export 是GNU bash程序的一个命令,而不是其它路径的command

    如下图:

  • 按上述方法操作,如果退出bash,则对环境变量所做的更改将丢失。再次启动bash,bash则从文件重新读取参数,重新设置环境变量。要一劳永逸修改$PATH,则如下:

  • 查看OS系统环境变量

 

相关内容