`

初学Linux----关于用户配置文件

阅读更多
用户信息文件:/etc/passwd
密码文件:/etc/shadow
用户组文件:/etc/group
用户组密码文件:/etc/gshadow
用户配置文件:
/etc/login.defs
/etc/default/useradd
新用户信息文件:/etc/skel
登录信息:/etc/motd  /etc/issue


/etc/passwd
root:x:0:0:root:/root:bin/bash
用户名:密码位:UID(权限ID):GID(组ID):描述信息:宿主目录:shell(命令解释器)
/etc/shadow
root:$efffrjdirnfvir93r94:14934:0:99999:7:::
用户名:加密密码:最后一次修改时间:最小间隔时间:最大时间间隔:警告时间:::
LINUX用户分为三种:
超级用户(root,UID=0)
普通用户(UID 500-60000)
伪用户(UID 1-499)

用户组
每个用户都至少属于一个用户组
每个用户组可以包括多个用户
同一用户组的用户享有该组共有的权限
:wq!   强制保存
pwunconv密码回写
pwconv密码写入

添加一个用户
 手工添加一个用户
vi /etc/passwd
root:x:0:0:root:/root:bin/bash
用户名:密码位:UID(权限ID):GID(组ID):描述信息:宿主目录:shell(命令解释器)
vi /etc/shadow
zhw::502:502:project zhanghongwei:/home/zhw:/bin/bash
用户名:密码位:UID(权限ID):GID(组ID):描述信息:宿主目录:shell(命令解释器,如果写错该用户将无法登录系统,原因无法正确解析命令给内核)
新建用户信息文件:/etc/skel   手工新建用户需将该文件下的文件拷贝到相应用户的宿主目录下
 命令添加用户
useradd
-u(UID) 1888
-g(组) 
-G sys,root
-d(宿主目录) /backup -s(shell脚本) /bin/bash
-c(描述有空格需用"") "Market wangwu"
-e(用户失效时间) 2011-01-15
Jackgao 用户名
例:useradd -u(UID) 1888 -g(组)  -G sys,root -d(宿主目录) /backup -s(shell脚本) /bin/bash -c(描述有空格需用"") "Market wangwu" -e(用户失效时间) 2011-01-15 jackgao
 修改用户信息
usermod -l tomgao jackgao
grep tomgao /etc/passwd
 删除用户
userdel -r 用户名 删除用户目录
userdel 用户名 不能删除用户的目录
find /home -user zhw
find /home -user zhw -ok rm {} \;查找zhw用户的文件到询问是否删除
chage -l 用户名 查看用户密码设置
chage -m 用户名 修改密码最小天数
chage -M 用户名 修改密码最大天数
chage -d 用户名 密码最后修改日期
chage -I 用户名 密码过期后,锁定帐户的天数
chage -E 用户名 设置密码的过期日期,如果为0,代表密码立即过期;如果为-1,代表密码永不过期
chage -W 用户名 设置密码过期前,开始警告的天数
用户桌面
authconfig
system-config-date
system-config-users
批量导入用户
tail -1 /etc/group
newusers < user.info
tail -5 /etc/passwd

unpwconv
chpasswd < pass.info 导入密码
pwconv 密码回写到shadow文件中
tail -5 /etc/passwd
限制用户切用su切换到root用户
chmod 4450 /bin/su 改变su命令的执行权限
ls -l /bin/su 查看su命令的执行权限
chgrp sugroup /bin/su 改变/bin/su目录的所有组
ls -l /bin/su
userMod -G sugroup zhw  或 gpasswd -a zhw sugroup 将用户添加到所有组
chmod 4450 /bin/su

用户组设置
cat /etc/group
root:x:0:
组名:组密码位:组ID:组用户
software:x:1002:zhangsan,wl
groupadd +组名    添加组
grep 组名 /etc/group 查看组信息
groupadd -g 18888(GID) leaders
修改组的所有组
chgrp zhw /software 将/software的所属组该为zhw组
chgrp g_name /g_name
groupdel 组名        删除用户组
groupmod 修改用户组信息
groupmod -n apache wenadmin 修改webadmin组名为apache
usermod -G sys tomgao     将一个用户添加到一个组
grep sys /etc/group         查看添加效果

gpasswd -a(添加)  tomgao root(组名)   把tomgao添加到root组
gpasswd -d(删除)  tomgao root(组名)   把tomgao从root组删除
grep 组名 /etc/group       查看该组的信息
grep software /etc/group
software::1002:zhangsan,wangwu
组名(software):组密码位():组ID(1002):组用户(zhangsan,wangwu)
gpasswd 组名   给组添加密码
gpasswd -r 组名  删除组密码
gpasswd -A 组员名 组名  设置用户为组长管理该组
gpasswd -R 组名  禁止用户切换到该组
newgrp 组名
id  该用户的信息
非组成员通过密码进入该组

which passwd  搜索passwd位置
特殊权限
授予(SetUID)权限 chmod u+5  或  chmod 4755  可执行程序才可以授予SetUID
解除权限 u-s   755
SetID =4       所有者
SetGID=2      所属组
chmod g+5   2755   6755

chmod u+s 'which vi'

粘着位=1        其他人   chomd o+t  或 chmod 1777 授予粘着位   只能删除自己创建的文件夹  粘着位对文件目录起作用  缺省粘着位的目录/tmp
如果一个权限为777
find / -perm -4000 -0 -perm -2000

SetUID
粘着位
添加用户
添加组
组密码
添加组成员
切换到一个组
10:21 2011-11-7
pwck 检测/etc/passwd文件(锁定文件)/etc/passwd    /etc/shadow
finger zhw 查看用户信息
su   环境变量不变
su - 变换所有的环境变量
echo $PATH 查看PATH变量
passwd -d zhw 删除用户名为zhw的密码
passwd -l zhw 锁定用户密码   usermod -L username
grep zhw /etc/shadow 查看密码锁定的状态 密码加了!无法匹配
passwd -u zhw 解锁用户密码 usermod -U username
groups  uname 查看用户隶属于那些用户组
newgrp 切换用户组
grpck 用户组配置文件检测
chgrp 修改文件所属组
vigr 编辑/etc/group文件(锁定文件)

用户桌面
authconfig
system-config-date
system-config-users
批量导入用户
tail -1 /etc/group
newusers < user.info
tail -5 /etc/passwd

unpwconv
chpasswd < pass.info 导入密码
pwconv 密码回写到shadow文件中
tail -5 /etc/passwd
限制用户切用su切换到root用户
chmod 4450 /bin/su 改变su命令的执行权限
ls -l /bin/su 查看su命令的执行权限
chgrp sugroup /bin/su 改变/bin/su目录的所有组
ls -l /bin/su
userMod -G sugroup zhw  或 gpasswd -a zhw sugroup 将用户添加到所有组
chmod 4450 /bin/su

Linux初学者,难免有误欢迎指正。
分享到:
评论

相关推荐

    arm-none-linux-gnueabi-linux.zip

    该教程详细介绍了在Linux系统下配置和使用"arm-none-linux-gnueabi-"交叉工具链的步骤,对初学者非常有帮助。 总之,交叉开发工具链是连接嵌入式开发与实际硬件的关键桥梁,通过它,开发者可以在熟悉的开发环境中...

    eclipse-jee-2023-09-R-linux-gtk-x86-64.tar.gz

    "eclipse-jee-2023-09-R-linux-gtk-x86_64.tar.gz" 文件是Eclipse专为Java企业版(Java EE)开发者设计的2023年9月版本,适用于64位的Linux操作系统。这个版本包含了对Java EE开发所需的全部工具和功能,如Web服务器...

    arm-fsl-linux-gnueabi-交叉编译工具链

    对于初学者,理解交叉编译工具链的工作原理和如何正确使用是非常重要的,因为错误的配置可能导致程序无法在目标系统上正常运行。同时,掌握如何调试和解决依赖问题也是必备技能,尤其是在处理库兼容性和ABI不匹配的...

    Anaconda3-2022.05-Linux-aarch64.rar

    1. **解压文件**:首先,需要将Anaconda3-2022.05-Linux-aarch64.rar文件解压。可以使用RAR解压工具,如7-Zip或WinRAR,或者在Linux终端中使用`unrar e`命令。 2. **运行安装脚本**:解压后,你会得到一个名为...

    eclipse-java-2023-09-R-linux-gtk-aarch64.tar.gz

    - `eclipse`: 主应用程序目录,包含了启动脚本、配置文件和各种插件。 - `plugins`: 插件目录,Eclipse的扩展功能以插件形式存在。 - `features`: 功能描述文件,用于描述安装的Eclipse组件。 - `configuration`...

    jdk-8u231-linux-x64_tar_gz.zip

    对于Linux用户,"tar.gz"是一个常见的文件打包和压缩格式。"tar"命令用于将多个文件或目录打包成一个单一的归档文件,而".gz"是gzip压缩算法的结果,可以有效地减小文件大小,便于传输和存储。在下载这个压缩包后,...

    linux-linux系统初学者-linux命令

    ### Linux系统初学者指南——掌握核心命令 #### 引言 Linux作为一种强大的开源操作系统,广泛应用于服务器、云计算、物联网等领域。对于初学者来说,熟练掌握Linux的基本命令是至关重要的第一步。本文将详细介绍一...

    metasploitable-linux-2.0.0.zip

    "metasploitable-linux-2.0.0.zip"这个压缩包文件即包含了这个虚拟环境的镜像,允许用户在本地进行研究。 在Metasploitable Linux 2.0.0中,你可以发现各种常见软件和服务的已知漏洞,这些漏洞涵盖了网络服务、操作...

    eclipse-java-linux-gtk-x86_64.tar.gz

    在压缩包文件名称列表中,我们只看到“eclipse”,这可能是指解压后会得到一个名为“eclipse”的目录,其中包含Eclipse的所有文件和配置。通常,这个目录会有一个可执行文件(例如“eclipse”或“eclipse.exe”),...

    jdk-8u181-linux-x64.tar安装包,用于linux安装jdk8

    本篇将详细介绍如何在Linux系统上安装和配置JDK 8u181,以及如何利用提供的内置教程进行学习。 首先,我们需要了解Linux系统下的文件管理。`tar`是一种常见的文件打包和压缩工具,`tar -xf jdk-8u181-linux-x64.tar...

    jdk7,jdk-7u80-linux-x64.tar.gz

    前者是JDK的安装包,后者可能是一个指南或说明文档,指导用户如何在Linux环境下安装和配置JDK。在Linux中,安装JDK通常涉及以下步骤: 1. **解压**:使用`tar -zxvf jdk-7u80-linux-x64.tar.gz`命令解压文件。 2. *...

    eclipse-cpp-2022-06-R-linux-gtk-x86_64.tar.gz

    总结,Eclipse C++ IDE为Linux开发者提供了一个强大且灵活的开发平台,无论你是初学者还是资深开发者,都能从中受益。通过深入理解这个特定版本的特性,结合Eclipse的强大功能,可以更高效地进行C++项目的开发和管理...

    jdk-8u241-linux-x64.tar.gz(附源码安装教程)

    总之,"jdk-8u241-linux-x64.tar.gz"是适用于Linux x64系统的JDK 8更新版本,其源码安装教程将帮助用户更好地理解和配置Java开发环境,无论是对初学者还是经验丰富的开发者来说,都是一个有价值的资源。

    jdk-8u181-linux-x64.rar

    在CentOS 7上安装JDK 1.8,首先需要解压"jdk-8u181-linux-x64.rpm"文件。这通常可以通过使用`rpm`命令来完成,但因为RPM是Red Hat包管理器,所以需要确保系统中已经安装了RPM工具。如果还没有安装,可以通过`yum ...

    jdk-8u151-linux-i586-demos.gz

    通过这个压缩包,开发者可以学习如何在Linux环境下配置和使用JDK 8u151,包括如何设置环境变量如`JAVA_HOME`,如何使用`javac`编译器进行程序开发,以及如何运行Java应用程序。此外,示例程序(demos)提供了丰富的...

    eclipse-cpp-2021-09-R-linux-gtk-x86_64.tar.gz

    解压"eclipse-cpp-2021-09-R-linux-gtk-x86_64.tar.gz"后,你会得到一个名为“eclipse”的文件夹,其中包含了IDE的所有组件和配置文件。通常,你可以通过命令行或者图形界面工具来解压这个文件,然后在终端中运行...

    arm-linux-gcc-4.5.1.zip

    标题中的"arm-linux-gcc-4.5.1.zip"是一个用于ARM架构Linux系统的GCC交叉编译器的压缩包文件,版本为4.5.1。这个工具允许开发者在非ARM平台(例如Ubuntu 14.04 64位系统)上构建针对ARM处理器的应用程序。 描述中...

    helm-v3.6.1-linux-amd64.tar.gz

    这个压缩包包含了一系列用于在64位Linux系统上安装和使用Helm的文件。 Helm的核心概念包括Charts、Releases和Repositories。Charts是Helm的可重复使用的打包工具,它们包含了描述Kubernetes资源(如Deployment、...

    jdk1.7 64位官方正式版 jdk-7u79-linux-x64

    理解这些知识点对于Java开发者来说至关重要,无论是初学者还是经验丰富的专业人士,都能从中获益,提高开发效率和代码质量。在64位Linux环境下使用JDK 1.7u79,可以充分利用硬件资源,为高效开发和运行Java应用程序...

    eclipse-cpp-galileo-SR2-linux-gtk.tar.gz

    通过运行这个文件,用户可以启动Eclipse,并按照向导配置C++开发环境,如添加编译器路径、设置调试器、导入或创建新项目等。 在实际使用中,开发者可能需要考虑升级Eclipse的版本,以获取更现代的功能和更好的性能...

Global site tag (gtag.js) - Google Analytics