suse-linux 增加用户问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了suse-linux 增加用户问题相关的知识,希望对你有一定的参考价值。

现在增加了用户,但是没有家目录,尽管我现在知道useradd -m可以创建用户也有家目录,但是我现在不想删除用户去重新增加用户,而是给已存在用户增加一个家目录,请求帮助..
suse下useradd username不会创建主目录,要加上-m选项!现在是当前用户在创建的时候没有加-m选项,所以没有家目录!

参考技术A 用户有默认的家目录,在home下,该用户下直接cd就可以到 ,没有创建的话可以用root到/home下去创建该目录,然后把属主和属族改为建立的用户,就可以了,如果要改变家目录,可以到/etc/passwd文件里修改,过几分重新登录家目录就变了 参考技术B useradd命令详解(实例)
1.作用
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是终极用户。
2.格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
3.主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。 
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
4.说明
useradd可用来建立用户账号,他和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
5.应用实例
建立一个新用户账户,并设置ID:
#useradd caojh -u 544
需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特别用户,一般0到499之间的值留给bin、mail这样的系统账号。

今天遇见这样一条命令:
useradd oracle -g oinstall -G dba
感觉非常诧异,为什么 g 和 G 这两个参数会同时存在呢?
在网上查了一下资料了解到,useradd命令用到的主要参数如下:
-c comment 指定一段注释性描述。
  -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,能创建主目录。
  -g 用户组 指定用户所属的用户组。
  -G 用户组,用户组 指定用户所属的附加组。
  -s Shell文件 指定用户的登录Shell。
  -u 用户号 指定用户的用户号,如果同时有-o选项,则能重复使用其他用户的标识号。
通过上面的解释我们目前能清晰的知道,上面那个命令的具体意思是,
新创建一个oracle用户,这初始属于oinstall组,且同时让他也属于dba组。本回答被提问者和网友采纳

根据用户输入值增加表中的列

【中文标题】根据用户输入值增加表中的列【英文标题】:increment a column in the table based on user input values 【发布时间】:2022-01-07 02:53:12 【问题描述】:

我正在尝试编写一个存储过程,每次将任一国家/地区代码(AXX、XPP、CGG)作为用户输入时,都会将表中的一列增加 1,具体取决于已经存在的国家/地区代码价值

ID  CountryCode
1   AXX
2   AXX
1   XPP
3   AXX
4   AXX
2   XPP

我下面的代码获取一个读取 ID 的值

ID
1
2
3
4
...
...
Create procedure [dbo].[sp_Incremental]
@code varchar(50)
as
begin
    declare @IDbigint
    set @ID= 1 ;
    begin try
        Select @ID=count(ID)+1 from [Incremental_tbl]
        Begin
            Insert into [Incremental_tbl] values (@ID,@code)    
        End
end
go

【问题讨论】:

仅供参考,前缀 sp_ 由 Microsoft 保留,用于 Special / S系统 Procedures。它应该用于用户过程。这样做会带来性能成本和您的程序在更新/升级后一天无法工作的风险。要么使用不同的前缀,要么(可能更好)根本不使用前缀。 Is the sp_ prefix still a no-no? 这感觉就像XY Problem。为什么不只使用IDENTITYSEQUENCE 再次投票赞成不重新发明***。使用 IDENTITY 或 SEQUENCE 可以很好地完成这项工作。并且那些已经处理了所有真正具有挑战性的并发边缘情况,以及因错误而带来的所有痛苦。 嗯......这并没有真正起作用.. ID 预计不会按顺序显示.. 而 ID 应该像 ID CODE 1 UK 2 UK 1 EU 2 EU 3 EU 3英国 它会在用户输入时依次递增单独的“CountryCode” 任何其他反馈!? 【参考方案1】:

你可以使用这个SP:

CREATE PROCEDURE p_Incremental @code VARCHAR(50)
AS
SET NOCOUNT ON;
INSERT INTO Incremental_tbl (ID, code) 
SELECT COALESCE(MAX(ID), 0) + 1, @code
FROM   Incremental_tbl
GROUP  BY @code;
GO

但是,不要忘记,在并发访问中,ID 可能会出现相同的值!

【讨论】:

我真的建议在这里使用显式锁,如果这是你要失败的解决方案。 @larnu 最好使用序列化隔离级别而不是显式锁定

以上是关于suse-linux 增加用户问题的主要内容,如果未能解决你的问题,请参考以下文章

业务需求:增加一个用户后,给该用户增加500积分

业务需求:增加一个用户后,给该用户增加500积分

响应时间从 100 到 150 个用户负载测试大幅增加

增加了minSdkVersion,如何让用户知道?

MySql命令行的3、增加新用户

linux系统下怎么增加用户?