chfn 명령에서 등호를 사용하는 방법은 무엇입니까?

chfn 명령에서 등호를 사용하는 방법은 무엇입니까?

나는 다음과 같이 사용자의 umask 값을 변경하기 위해 chfn을 시도했습니다.

sudo chfn -o umask=022 username

하지만 나한테는 이런 오류가 있어

chfn: Office: '=' is not allowed

또한 아래와 같이 = 기호를 이스케이프하려는 시도가 실패했습니다.

sudo chfn -o umask\=022 username
sudo chfn -o "umask=022 username"

이 명령을 사용하여 등호를 어떻게 사용하거나 이스케이프할 수 있습니까?

감사해요

답변1

chfn/etc/passwd네 번째 필드(또는 이에 상응하는 항목)의 정보를 변경합니다. 대부분의 데이터는 표시 목적으로만 사용되며 "사용자 이름 또는 댓글 필드"라고도 합니다.passwd(5)매뉴얼 페이지.

데비안매뉴얼 페이지chfn(1)하지만 그 중 일부는 '회계정보'용이라고 언급돼 있다. 확실히pam_umask.so또한 그것을 읽고 이것이 당신이 원하는 것이라고 생각합니다. 매뉴얼 페이지에는 등호를 허용하지 않는다는 내용도 언급되어 있습니다.

이러한 필드에는 콜론이 포함되어서는 안 됩니다. 와는 별개로다른필드에는 쉼표나 등호가 포함되어서는 안 됩니다.

-o, --other OTHER
사용자의 기타 GECOS 정보를 변경합니다. 이 필드는 다른 응용 프로그램에서 사용하는 계정 정보를 저장하는 데 사용되며 수퍼유저만 변경할 수 있습니다.

chfn귀하의 CentOS는 다른 구문을 따르며 "기타" 부분을 변경하는 방법을 제공하지 않는 것 같습니다 . 데비안에서 테스트한 결과 chfn -o 'umask=022' username는 다음과 같습니다.

username:x:1000:1000:Full name,,,,umask=022:/home/username:/bin/bash

따라서 누락된 기능에 대한 해결 방법은 파일을 수동으로 편집(사용)하고 chfn설명 필드의 네 번째 쉼표 뒤에 vipw추가하는 것입니다 .umask=022

답변2

이 매뉴얼 페이지를 살펴보십시오.https://www.systutorials.com/docs/linux/man/1-chfn/

옵션 -o은 사무실 번호를 설정하는 것이므로 =유효한 번호가 아니기 때문에 잘못된 것 같습니다.

흥미롭게도 우분투 16.04에서 이 옵션 은 사무실 번호를 설정하는 것이 아니라 -osettings 의 GECOS 필드에 대한 것입니다 ./etc/passwd

답변3

bashrc를 수정하여 동일한 효과를 얻었습니다.

vi ~/.bashrc
...
# User specific aliases and functions
umask 022

감사해요

관련 정보