[09] useradd -D, usermod

|


- 2014.11.18




1. useradd -D


하나의 명령어이며, 유저 생성에 대한 기본 설정


useradd에 대한 기본 설정 출력


# cat /etc/default/useradd

GROUP=100          // -g : /etc/group d에 user 번호가 100이다. 즉 user 생성 시 자신의 이름으로 그룹 생성하라는 설정번호

HOME=/home        // -b

INACTIVE=-1        // -f : 계정 만료 시 어떻게 할 것인가?

                               -1 : 기능정지 / 0 : 사용정지

EXPIRE=              // -e YYYYMMDD

SHELL=/bin/bash    // -s

SKEL=/etc/skel      // 옵션 x, vi로만 편집

CREATE_MAIL_SPOOL=yes




[문제1]


shell : tsch -> 문서를 이용한 변경

$home : /test -> 명령어를 이용한 변경

skel : /skelsam -> 문서를 이용한 변경

user : user7


변경을 한 후 useradd user7 입력 후 user7이 정상적으로 로그인되는지 확인


vi /etc/default/useradd  를 통해 바꾼다.

useradd -D -b /test 로 바꾼다.

없는 디렉터리 생성한다.

계정생성하고 passwd 바꾸고 실행하면 됨




[문제2]


파일 /backup/grub.conf 를 디렉터리 /usertest/test/public 에 grub로 복사후 열기

5번째줄 하단에 리눅스 IP의 출력내용을 삽입

(eth로 시작하는것만 삽입하고 lo로 시작하는 것은 제외)

skel로 사용할 디렉토리 /test/ut/ 에 파일 conf로 저장후 열기

디렉터리 /usertest/ 에 사용자 user8 생성

이때 파일 conf가 .conf로 자동생성되도록 해보세요.


절대 기본정보 쓰지않고 옵션만을 통해서 작업하세요


# mkdir -p /usertest/test/public

# cp /backup/grub.conf /usertest/test/public/grub

# vi /usertest/test/public/grub

        :5r! ifconfig eth0

        -> lo 로 시작하는 부분 삭제

        !mkdir -p /test/ut/

        :w /test/ut/.conf

# cp /etc/skel/.* /test/ut/

# cp -r /etc/skel/.gnome2 /etc/skel/.mozilla /test/ut/

# useradd -d /usertest/user8 -m -k /test/ut user8

# passwd user8




[문제3]


문서를 이용한 기본 skel 변경 : /test/ut

사용자 : user9

명령어 : useradd user9


# vi /etc/default/useradd

/etc/skel -> /test/ut

# useradd user9

# passwd user9





2. usermod


user modify


usermod [option] [argument] ... [account_name]


# tail -5 /etc/passwd

testtt:x:513:513::/usertest/testtt:/bin/bash

user6:x:514:514::/linux/user6:/bin/bash

user7:x:515:515::/test/user7:/bin/tcsh

user8:x:516:516::/usertest/user8:/bin/bash

user9:x:517:517::/home/user9:/bin/bash

              -u   -g -c        -d              -s


*


-l : user 이름 변경, -p : passwd 변경이지만 사용하지 않는 것이 편함.

만들고 난 후기 때문에 skel 은 변경 불가능




[문제1]


user3 의 home directory를 gangnam -> user3 로 변경


# usermod -d /linux/user3 user3

# ll /linux

합계 8

drwx------ 4 user3 user3 4096 2014-11-17 14:13 gangnam

drwx------ 4 user6 user6 4096 2014-11-18 12:52 user6

# mv /linux/gangnam/ /linux/user3/


하지만 user3 로그인 시 /linux/user3/ 이 아닌 / 에서 로그인이 된다.

passwd 는 동사무소와 같다. 동사무소에 신고한 뒤에 실제로 이사를 해야한다.


# mv /linux/gangnam/ /linux/user3/

# ll /linux

합계 8

drwx------ 4 user3 user3 4096 2014-11-17 14:13 user3

drwx------ 4 user6 user6 4096 2014-11-18 12:52 user6




[문제2]


Q : user2 : testuser -> usertest

A : # usermod -c usertest user2


Q : user7 : tcsh -> bash

A : # usermod -s /bin/bash user7


Q : user9 : comment -> lastuser

A : # usermod -c lastuser user9




[문제3]


samadal 포함 모든 사용자를 /export/home/ 으로 변경하세요


변경후 정상로그인되는지 확인


# mkdir -p /export/home/

# mv /linux/user3 /export/home/

# mv /usertest/ /export/home/

# mv /export/home/usertest/* /export/home/

# mv /linux/user6/ /export/home/

# mv /test/user7/ /export/home/

# mv /home/samadal/ /export/home/

# mv /home/us* /export/home/


각자의 home directory 경로를 /export/home/ 으로 변경

치환 명령어 사용하면 편하다. ex) %s//home//export/home

# vi /etc/passwd




And


C언어 HW 06

|


[ hw06 ]


---------------------------------------------------------------------


#1


#include <stdio.h>


int main()

{

int a[10];

int i;


for(i=0;i<10;i++)

{

printf("%d번째 정수를 입력하시오 : ", i+1);

scanf("%d", &a[i]);

}


for(i=0;i<9;i++)

{

if (a[i] > a[i+1])            // 따로 tmp 인수를 만들지 않고 기존의 인수를 활용하려고 하였다.

a[i+1] = a[i];

}

printf("가장 큰 정수값은 %d입니다.\n", a[9]);

return 0;

}


---------------------------------------------------------------------


#2


#include <stdio.h>

#define size_a 10


float max(float *p);

float min(float *p);

float avg(float *p);



int main()

{

float a[size_a];

int i;

float *p;

p = a;


for(i=0;i<size_a;i++)

{

printf("%d번째 체중 : ", i+1);

scanf("%f", &a[i]);

}


printf("최고체중 : %0.1f    최저체중 : %0.1f    평균체중 : %0.1f\n", max(p), min(p), avg(p));

return 0;

}


float max(float *p){

int i;

float max;

for(i=0;i<size_a-1;i++)

{

if (*(p+i) > *(p+i+1))

max = *(p+i);

}

return max;

}


float min(float *p){

int i;

float min;

for(i=0;i<size_a-1;i++)

{

if (*(p+i) > *(p+i+1))

min = *(p+i+1);

}

return min;

}


float avg(float *p){

int i;

float avg = 0;

for(i=0;i<size_a;i++)

avg += *(p+i);


return avg/10;

}


---------------------------------------------------------------------


#3


#include <stdio.h>


double dp(double x, int n);


int main(){

double x;

int n;


printf("x^n 을 계산하는 프로그램입니다. x와 n을 입력하시오. (x, n) :");

scanf("%lf, %d", &x, &n);


printf("%lf의 %d제곱 = %lf", x, n, dp(x, n));


return 0;

}


double dp(double x, int n){

if (n==1)

return x;

else

return x*dp(x, n-1);             // 재귀함수 사용

}


---------------------------------------------------------------------


#4    // 구글 검색해서 힌트 얻음


#include <stdio.h>


int gcd(int a, int b);


int main(){

int a, b;


printf("최대공약수를 구할 두 수를 입력하세요(a, b) : ");

scanf("%d, %d", &a, &b);

printf("%d와 %d의 최대공약수는 %d 입니다.\n", a, b, gcd(a, b));


return 0;

}


int gcd(int a, int b){            // 정수론 시간에 배운 내용이었는데,, 이렇게 활용되는구나

if (b==0)

return a;

gcd(b, a%b);

}


---------------------------------------------------------------------


#5


#include <stdio.h>

#include <stdlib.h>


int main(){

int *score;

int sn, i, a, b, c, d, f;

a = b = c = d = f = 0;


printf("학생 수 : ");

scanf("%d", &sn);


score = (int *)malloc(sizeof(int)*sn);


for(i=0;i<sn;i++){

printf("%d번째 학생의 점수를 입력하세요 : ", i+1);

scanf("%d", &score[i]);

if (score[i] >= 90)

a++;

else if (score[i] >= 80)

b++;

else if (score[i] >= 70)

c++;

else if (score[i] >= 60)

d++;

else

f++;

}


printf("\n90점 이상 : ");

for(i=0;i<a;i++){

printf("*");

}

printf("\n80점 이상 : ");

for(i=0;i<b;i++){

printf("*");

}

printf("\n70점 이상 : ");

for(i=0;i<c;i++){

printf("*");

}

printf("\n60점 이상 : ");

for(i=0;i<d;i++){

printf("*");

}

printf("\n60점 미만 : ");

for(i=0;i<f;i++){

printf("*");

}

printf("\n");


free(score);


return 0;

}



---------------------------------------------------------------------


#6



#include <stdio.h>

#include <stdlib.h>

#include <time.h>


int main(){


int num, seed;

int i = 1;


seed = time(NULL);

srand(seed);

num = rand() % 100;

while(1)

{

printf("어떤 숫자일지 맞춰보세요 : ");

scanf("%d", &seed);

if (num == seed){

printf("%d번만에 맞추셨네요~ 짝짝짝\n", i);

break;

}

else if (num > seed ){

printf("더 작은 수를 입력하셨네요~\n");

i++;

}

else{

printf("더 큰 수를 입력하셨네요~\n");

i++;

}

}


return 0;

}



---------------------------------------------------------------------




'Study > C언어' 카테고리의 다른 글

C언어 HW 05  (0) 2015.03.27
C언어 HW 04  (0) 2015.03.27
C언어 HW 03  (0) 2015.03.27
C언어 HW 02  (0) 2015.03.27
C언어 HW 01  (0) 2015.03.27
And


Group Policy Management 예제

|


Windows Server 2012 R2 English Version 기준.

Tools - Group Policy Management 에 접속하여 설정 진행



1. Script 를 이용한 Bandizip 설치


User Configuration - Policies - Windows Settings - Scripts - Logon - Add - BAT file 선택(네트워크 경로로 설정)


bandizip.bat 예제

if exist "C:\Program Files\Bandizip\" goto end

\\AD\MSI\BANDIZIP\BANDIZIP-SETUP-KR.EXE /S

:end




2. Drivemaps - 네트워크 폴더


User Configuration - Preferences - Windows Settings - Drive Maps


오른클릭 - New - Mapped Drive


Action - Create

Location : \\공유서버이름\폴더이름

Label as : 붙여줄 이름

Drive Letter : 드라이브 이름

아래쪽 옵션 중 Hide/Show this drive : Show this drive




3. MSI 파일 설치


Computer Configuration - Software Settings - Software installation


오른클릭 - New - Package - 네트워크 경로로 파일 선택




And