服务时间:8:30-18:00

首页 >linux教程

Linux如何创建用户

发布时间:2022-12-23 11:24 字数:1880字 阅读:119

Linux如何创建用户?创建新用户时,通常使用标准命令(如useradd)或实用工具(如User Manager),将配置文件的默认设置从/etc/skel目录复制到用户的主目录。

1.主目录

主目录是用户登录RHEL系统时的起始位置。对于大多数用户来说,主目录是/home/ username,其中username是用户的登录名。通常,每个用户在其主目录里都有写权限,因此每个用户都可以自由读写自己的文件。

2. /etc/skel

/etc/skel目录包含新账户的默认环境文件。useradd命令和Red Hat User Manager将新用户的这些文件复制到主目录。/etc/skel的内容可能会有所不同。虽然该目录中的标准文件是隐藏的,但管理员可以自由为新用户添加更多文件。/etc/skel某个副本的标准文件如表1所示。

表1 /etc/skel目录中的标准文件

/etc/skel目录中的标准文件

Linux包含许多以点(.)开头的隐藏文件。要列出这些文件,可以运行ls -a命令。例如,如果想要列出/etc/skel目录中的所有文件,可以运行ls -a /etc/skel命令。

如果在RHEL上安装了多个软件程序包的标准设置,其他配置文件和子目录可能出现在/etc/skel目录里。例如,某些程序包的安装可能在此目录里包含与emacs相关的配置文件和z shell(zsh)。

作为系统管理员,可以编辑这些文件或者在/etc/skel目录里存放自定义文件。创建新用户时,这些文件将被移植到新用户的主目录。

3. /etc/bashrc

/etc/bashrc文件用于系统范围内的别名和函数。在选择的文本编辑器中打开该文件,仔细阅读文件的每一行代码。即使不理解编程命令,也会发现该文件为每个用户设置了下列bash shell参数:

● 它指定umask的值,为新建文件创建默认权限。它支持一组用于根用户和系统用户(用户ID在200以下)的许可,还支持一组用于一般用户(实际上RHEL预留用户ID在1000以上的用户作为一般用户,但在/etc/bashrc中没有反映出这一点)的许可。

● 它分配和定义提示,仅在命令提示符的光标之前可以看到它。

● 它包含/etc/profile.d/目录中*.sh文件的设置。

这里的设置由每个用户主目录中的.bashrc文件补充,对于登录shell,则由/etc/profile、.bash_profile和.bash_logout文件补充,对于登录shell,则由/etc/profile、.bash_profile和.bash_logout文件补充。

4. /etc/profile和/etc/profile.d

/etc/profile文件用于系统范围内的环境和启动文件,当把bash作为登录shell调用时,就使用该文件。

该文件的第一部分设置搜索命令的PATH。使用pathmunge命令将其他目录添加到PATH(除非使用Korn shell,否则忽略ksh workaround节)。然后它导出PATH、USER、LOGNAME、MAIL、HOSTNAME、HISTSIZE和HISTCONTROL变量,最后设置umask并运行/etc/profile.d目录中的脚本。可使用echo $variable命令检查这些变量的当前值。

5. /etc/profile.d

/etc/profile.d目录用来包含要在登录或交互式shell中(也就是说,并不是在作为bash -c command运行的脚本或命令中)执行的脚本。如果执行“Server with GUI安装,下面列出的只是部分文件,那些扩展名为.sh的文件则应用于默认的bash shell。


        256term.csh                 colorls.csh  PackageKit.sh
        256term.sh                   colorls.sh   vim.csh
        abrt-cosole-notifiction.sh  lang.csh      vim.sh
        bash_completion.sh          lang.sh       vte.sh
        colorgrep.csh               less.csh      which2.csh
        colorgrep.sh                less.sh       which2.sh


大多数情况下,存在为不同shell环境自定义的两个版本的脚本。查看/etc/profile.d脚本目录中的文件,就会发现该目录中以.sh结尾的所有脚本都是/etc/profile配置的一部分。扩展名为其他形式(如.csh)的脚本与C shell有关。