chattr +A   lsattr   groupmems pwconv linux批量创建用户

该篇博客,我将为大家介绍几个命令,其中有部分用法很难查到,希望对大家有帮助

1.chattr:

chattr命令用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性。

chattr +A 文件    锁定某个文件的访问时间

chattr -A 文件    解锁某个文件的访问时间

chattr +i 文件    锁定文件,不能删除、改名、更改

chattr +a 文件    只能对文件内容追加,不能修改

man帮助中的一些用法:

a:让文件或目录仅供附加用途。 
 b:不更新文件或目录的最后存取时间。 
 c:将文件或目录压缩后存放。 
 d:将文件或目录排除在倾倒操作之外。 
 i:不得任意更动文件或目录。 
 s:保密性删除文件或目录。 
 S:即时更新文件或目录。 
 u:预防以外删除。 
 
参  数:
 -R  递归处理,将指定目录下的所有文件及子目录一并处理。 
 -v<版本编号>  设置文件或目录版本。 
 -V  显示指令执行过程。 
 +<属性>  开启文件或目录的该项属性。 
 -<属性>  关闭文件或目录的该项属性。 
 =<属性>  指定文件或目录的该项属性。

2.lsattr

lsattr: 显示文件属性(用chattr执行改变文件或目录的属性,可执行lsattr指令来查询其属性。)

-a  显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。 
  -d  显示,目录名称,而非其内容。 
  -l  此参数目前没有任何作用。 
  -R  递归处理,将指定目录下的所有文件及子目录一并处理。 
  -v  显示文件或目录版本。 
  -V  显示版本信息。

3.groupmems:用户主组的管理员成员

-a  用户名    将一个用户添加到组成员列表

-d  用户名    从组成员列表中删除用户

-g  组  名    超级用户可以指定修改哪个组的组成员列表

-l -g  组名   列出组成员

-p -g  组名   从组成员列表中删除所有用户

配置文件

/etc/login.defs 中有如下配置变量,可以用来更改此工具的行为:

#Please note that the parameters in this configuration file control the

# behavior of the tools from the shadow-utils component. None of these

# tools uses the PAM mechanism, and the utilities that use PAM (such as the

# passwd command) should therefore be configured elsewhere. Refer to

# /etc/pam.d/system-auth for more information.

#

# *REQUIRED*

#   Directory where mailboxes reside, _or_ name of file, relative to the

#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.

#   QMAIL_DIR is for Qmail

#

#QMAIL_DIR      Maildir

MAIL_DIR        /var/spool/mail

#MAIL_FILE      .mail

# Password aging controls:

#

#       PASS_MAX_DAYS   Maximum number of days a password may be used.

#       PASS_MIN_DAYS   Minimum number of days allowed between password changes.

#       PASS_MIN_LEN    Minimum acceptable password length.

#       PASS_WARN_AGE   Number of days warning given before a password expires.

#

PASS_MAX_DAYS   99999

PASS_MIN_DAYS   0

PASS_MIN_LEN    5

PASS_WARN_AGE   7

#

# Min/max values for automatic uid selection in useradd

#

UID_MIN                   500

UID_MAX                 60000

#

# Min/max values for automatic gid selection in groupadd

#

GID_MIN                   500

GID_MAX                 60000

#

# If defined, this command is run when removing a user.

# It should remove any at/cron/print jobs etc. owned by

# the user to be removed (passed as the first argument).

#

#USERDEL_CMD    /usr/sbin/userdel_local

#

# Please note that the parameters in this configuration file control the

# behavior of the tools from the shadow-utils component. None of these

# tools uses the PAM mechanism, and the utilities that use PAM (such as the

# passwd command) should therefore be configured elsewhere. Refer to

# /etc/pam.d/system-auth for more information.

#

# *REQUIRED*

#   Directory where mailboxes reside, _or_ name of file, relative to the

#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.

#   QMAIL_DIR is for Qmail

#

#QMAIL_DIR      Maildir

MAIL_DIR        /var/spool/mail

#MAIL_FILE      .mail

# Password aging controls:

#

#       PASS_MAX_DAYS   Maximum number of days a password may be used.

#       PASS_MIN_DAYS   Minimum number of days allowed between password changes.

#       PASS_MIN_LEN    Minimum acceptable password length.

#       PASS_WARN_AGE   Number of days warning given before a password expires.

#

PASS_MAX_DAYS   99999

PASS_MIN_DAYS   0

PASS_MIN_LEN    5

PASS_WARN_AGE   7

#

# Min/max values for automatic uid selection in useradd

4.chsh命令:

chsh命令用来更换登录系统时使用的shell。若不指定任何的参数和用户名称,则chsh会以应答的方式进行设置。

chsh(选项)(参数)

-s  shell名称              更改系统预设的shell环境

-l                         列出目前系统可用的shell清单

-u或--help                 在线帮助

-v                         显示版本信息

[[email protected] ~]# chsh -l

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

/bin/csh

[[email protected] ~]# chsh -s /bin/csh

Changing shell for root.

Shell changed.

[[email protected] ~]# getent passwd root            使用此命令修改过shell后,/etc/passwd中的 root:x:0:0:root:/root:/bin/csh                    root用户shell会被改为csh

5.pwconv           :同步用户信息,从/etc/passwd 到/etc/shadow

pwunconv         :pwcov 的逆向操作,从/etc/shadow创建/etc/passwd然后删除shadow文件;

grpconv          :通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如                        果/etc/gshadow 不存在则创建;

grpunconv        :通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group,然后删除                      gshadow文件。

6.newusers:批量创建用户   (需要先准备user.txt文件,格式按照/etc/passwd的格式写)

newusers  user.txt        添加多个用户

创建pass.txt文件,该文件格式:账号:密码

cat pass.txt | chapasswd     将用户的密码写入/etc/shadow中

此时/etc/passwd /etc/shadow /etc/group /etc/gshadow 中都有了这几个新用户信息,但用户此时   的家目录下的配置文件仍然为空,我们需要进行增加配置文件。

cp -r /etc/skel   /home/用户名              skel目录为用户家目录的模板,进行复制

chown -R 用户名:用户名   /home/用户名      对家目录的属主,属组进行修改

时间: 2025-01-07 11:07:33

chattr +A   lsattr   groupmems pwconv linux批量创建用户的相关文章

linux批量创建用户的脚本

#!/bin/bash for user in `cat /home/opt/userlist.txt` do mkdir -p /app/ftp/issue/merDealFiles/$user/dealFiles mkdir -p /app/ftp/issue/merDealFiles/$user/dealFiles/applyArea mkdir -p /app/ftp/issue/merDealFiles/$user/dealFiles/resultArea mkdir -p /app/

Linux 批量创建用户及设置随机密码

一.项目需求批量创建10个用户stu01-stu10,并且设置随机8位密码,要求:不能用shell循环(例如:for,while等),只能用linux命令及管道实现.二.实现方法(一)1) 创建账号并设置随机密码[[email protected] ~]# for n in seq 10;do useradd user$n;echo "user$necho user$n|md5sum|cut -c4-8"|passwd --stdin user$n;done2)打印密码并导入文件[[e

linux 批量创建用户

user 模块添加用户 python -c 'from passlib.hash import sha512_crypt; import getpass; print (sha512_crypt.encrypt(getpass.getpass()))' #python3 生成密码 ansible all -m user -a "name=admin password=$Mf6OK/7vjBDxZbjo$6Nj10h0Oa1fEoULbObgVcVWMT1XwCBR home=/app/admin

Linux批量创建用户

1.1相关命令 编写脚本过程中主要使用两个命令useradd和passwd,可是使用man命令查看帮助. man passwd --stdin This option is used to indicate that passwd should read the new password from standard input, which can be a pipe. #可以使用标准输入的方式获取用户的新密码,且可以使用管道命令. -e      This is a quick way to 

Linux中用户和用户组的管理以及如何批量创建用户

一.创建新用户及管理新用户 1).添加新用户 命令格式:useradd [options] username 选项含义: -u:指定用户的UID -c:添加对用户的描述性文字 -s:指定用户的登录脚本 -e:设置账号的实效日期 -f:值为0表示密码立即实效 值为1表示密码永久不实效 -d:指定用户的家目录 -g:指定用户的所属组 -G:指定用户的附属组 使用该命令添加新用户完成后,系统将为用户创建一个与用户名相同的组(且UID=GID),称为私有组,这一方法是为了能让新用户与其他用户隔离,确保安

在 Linux 中如何自动批量创建用户

作为一名 Linux 系统管理员,你有时必须向系统添加新的用户帐户.为此,经常使用 adduser 命令.当涉及到多个用户的创建时,adduser 命令可能会变得相当无聊和耗时.这篇短文旨在为 Linux 系统管理员提供一种简单而无人值守的方式来批量创建用户.newusers 命令将帮助你通过从预填文件中获取信息来创建多个用户. 要求 访问 Linux 计算机的特权. 约定 #- 给定命令需要以 root 用户权限运行或者使用sudo命令 $- 给定命令以常规权限用户运行 如何进行 创建一个包含

linux实战考试题:批量创建用户和密码-看看你会么

linux实战考试题:批量创建用户和密码-看看你会么? 老男孩教育第五关实战考试题:批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: # echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo "$pass"|p

Linux 下批量创建用户(shell 命令)

第一种方法: 用shell批量创建用户,分为2中:1,批量创建的用户名无规律 :2.批量创建的用户名有规律首先,来说下批量创建的用户名无规律的shell:先把需要批量创建的用户名用一个文本文档列出来,如下图的userlist文件再把与用户名匹配的密码用另一个个文本文档列出来,如下图的passwd文件 这两个文本文档内容,如下图所示: 下面是我编写的shell脚本.如下图所示 注意需要导入我们在userlist中写的用户名与passwd中写的与用户名匹配的密码项注:chpasswd命令#以root

批量创建用户添加随机密码

1.批量创建用户user01-user10 #seq -w 10|sed -r "s/(.*)/useradd user\1/g"|bash 2.-r和\1的分析 -r, --regexp-extended use extended regular expressions in the script 表示可以使用扩展的正则 \1正则中匹配第一个group,也就是匹配第一个()里边的内容 下面案例分析 #vi test.txt sxz23749237492384 zxs379427493